RANGKUMAN PELATIHAN LINUX UKM LAOS X RADNET INDONESIA


Radnext Digital Indonesia

 RANGKUMAN PELATIHAN LINUX UKM LAOS X RADNET INDONESIA


APA ITU VIRTUALISASI?

Virtualisasi server adalah teknologi yang memungkinkan satu server fisik dibagi menjadi beberapa mesin virtual (VM) yang independen. Setiap VM beroperasi seperti server fisik yang terpisah, dengan sistem operasi, aplikasi, dan sumber daya yang terisolasi

KONSEP DASAR VIRTUALISASI

  • Hypervisor: Perangkat lunak atau firmware yang menciptakan dan mengelola mesin virtual. Hypervisor membagi sumber daya server fisik (CPU, memori, penyimpanan, jaringan) dan mengalokasikannya ke VM sesuai kebutuhan.
  •  Mesin Virtual (VM): Lingkungan perangkat lunak yang meniru server fisik lengkap. Setiap VM memiliki sistem operasi, aplikasi, dan konfigurasinya sendiri.
  •  Host: Server fisik yang menjalankan hypervisor dan mesin virtual

Jenis-jenis Virtualisasi Server

  • Virtualisasi Penuh (Full Virtualization): Hypervisor berjalan langsung di atas perangkat keras server fisik. VM sepenuhnya terisolasi satu sama lain dan dari host.
  •  Paravirtualisasi: VM dimodifikasi untuk bekerja sama dengan hypervisor, meningkatkan kinerja tetapi mengurangi kompatibilitas.
  •  Virtualisasi Tingkat Sistem Operasi (OS-Level Virtualization): Beberapa instance sistem operasi yang terisolasi berjalan pada kernel yang sama

Manfaat Virtualisasi Server

Pemanfaatan Sumber Daya yang Efisien: Mengurangi jumlah server fisik yang dibutuhkan, menghemat ruang, daya, dan pendinginan.
Fleksibilitas dan Skalabilitas: VM dapat dengan mudah dibuat, dihapus, dipindahkan, atau dikloning sesuai kebutuhan.
Peningkatan Ketersediaan: VM dapat dengan cepat dipulihkan ke server lain jika terjadi kegagalan perangkat keras.
Pengujian dan Pengembangan yang Lebih Mudah: VM menyediakan lingkungan yang terisolasi untuk menguji aplikasi dan konfigurasi baru.
Penghematan Biaya: Mengurangi biaya perangkat keras, energi, dan pemeliharaan

Penerapan Virtualisasi Server
Konsolidasi Server: Menggabungkan beberapa server fisik ke dalam VM yang lebih sedikit.
 Disaster Recovery: Membuat replika VM untuk pemulihan cepat jika terjadi bencana.
 Cloud Computing: Menyediakan infrastruktur virtual sebagai layanan (IaaS).
 Lingkungan Pengembangan dan Pengujian: Membuat lingkungan virtual yang terisolasi untuk pengembangan dan pengujian perangkat lunak

Contoh Perangkat Lunak Virtualisasi Server
 ● VMware vSphere/ESXi
 ● Microsoft Hyper-V
 ● Citrix XenServer
 ● KVM (Kernel-based Virtual Machine)
 ● Oracle VM VirtualBox (untuk penggunaan desktop)
 ● Oracle VBox

APA ITU LINUX

 Linux adalah sistem operasi open-source yang dibangun di atas kernel Linux, yang dikembangkan oleh Linus Torvalds pada tahun 1991. Linux merupakan alternatif yang populer untuk sistem operasi proprietary seperti Microsoft Windows dan macOS.

Kernel adalah inti dari sistem operasi yang bertanggung jawab untuk mengelola sumber daya perangkat keras, seperti CPU, memori, dan perangkat input/output. Kernel Linux dikenal karena stabilitas, keamanan, dan kemampuannya untuk berjalan di berbagai perangkat keras, mulai dari komputer desktop hingga server, perangkat embedded, dan bahkan smartphone

Filosofi Open Source
 Linux adalah proyek open source, yang berarti kode sumbernya tersedia secara bebas untuk dilihat, dimodifikasi, dan didistribusikan oleh siapa saja. Hal ini mendorong kolaborasi dan inovasi dari komunitas pengembang global.

Keunggulan Linux
 Gratis dan Open Source: Tidak ada biaya lisensi, dan Anda bebas menggunakan, memodifikasi, dan mendistribusikan Linux sesuai kebutuhan Anda.
 Keamanan: Linux dikenal karena tingkat keamanannya yang tinggi, dengan pembaruan keamanan yang sering dirilis untuk mengatasi kerentanan.
 Stabilitas: Linux sangat stabil dan jarang mengalami crash atau masalah kinerja.
 Fleksibilitas: Linux dapat disesuaikan untuk berbagai kebutuhan, dari server hingga desktop, perangkat embedded, dan superkomputer.
 Komunitas yang Kuat: Komunitas Linux yang besar dan aktif memberikan dukungan, dokumentasi, dan pengembangan perangkat lunak yang berkelanjutan

Distro Linux
 Distro Linux (distribusi Linux) adalah sistem operasi lengkap yang dibangun di atas kernel Linux dan menyertakan berbagai perangkat lunak tambahan, seperti lingkungan desktop, aplikasi, utilitas, dan alat manajemen sistem. Setiap distro Linux memiliki karakteristik, tujuan, dan pengguna yang berbeda.

Macam macam Distro Linux
  •  Ubuntu: Distro yang ramah pengguna, ideal untuk pemula dan pengguna desktop.
  •  Debian: Distro yang stabil dan konservatif, sering digunakan untuk server.
  •  Fedora: Distro yang inovatif dan mutakhir, sering digunakan oleh pengembang.
  •  CentOS: Distro yang stabil dan kompatibel dengan Red Hat Enterprise Linux (RHEL), sering digunakan untuk server perusahaan.
  •  Linux Mint: Distro yang berbasis Ubuntu dengan antarmuka yang lebih tradisional dan mudah digunakan.
  •  Arch Linux: Distro yang fleksibel dan dapat disesuaikan, populer di kalangan pengguna tingkat lanjut.
Command LineLinux
Manajemen Folder
 cd = Masuk/keluar directory
 mkdir = membuat directory
 rmdir = menghapus directory
 Is = menampilkan isi directory
 pwd = menampilkan di directory mana kita berada

Manajemen File
 touch = membuat file tanpa content
 echo/vim/vi/nano = membuat file dengan content
 cat = menampilkan isi konten file
 head = menampilkan isi 10 baris pertama sebuah file
 tail = menampilkan isi 10 baris terakhir sebuah file 
rm = menghapus file
 cp = menyalin file dan directory
 mv = memindahkan/merename file dan directory

Manajemen Package
 Manajemen Package adalah proses pengelolaan perangkat lunak pada sistem komputer dengan cara mengelola pemasangan, pembaruan, dan penghapusan perangkat lunak atau packet-packet yang berbentuk aplikasi atau service.

Manajemen Package
APT 
Advanced Package Tool atau APT merupakan sistem manajemen 
paket yang umum digunakan pada distribusi Linux berbasis 
Debian, Termasuk Ubuntu
 APT Command
 apt upgrade = mengupgrade paket yang sudah terinstall
 apt update = mengupdate daftar paket dari repositori
 apt install = menginstall packet baru
 apt remove/purge = menghapus packet
 apt list --installed = menampilkan list packet yang terinstall

Manajemen User dan group
 adduser= Menambahkan user baru dengan password
 useradd= Menambahkan user baru tanpa password
 passwd = Menambahkan/mengganti password user
 deluser = Menghapus user
 groupadd = Menambahkan group baru
 delgroup  = Menghapus group
 usermod -aG  (nama grup) (user) = Menambahkan user ke grup

Hak Akses
 Readable ( r ) = Mengizinkan pengguna untuk melihat isi file
 Writeable( w ) = Mengizinkan pengguna untuk mengubah isi file atau direktori
 Executable( x ) = Mengizinkan pengguna untuk menjalankan file sebagai progam
 Kategori Pengguna 
Pemilik (Owner) = pengguna yang memiliki file atau direktori
 Grup (Group)= Grup pengguna yang dapat mengakses file atau direktori
 Lainya (Others) = Semua pengguna lainya yang tidak termasuk dalam kategori diatas

Hak Akses
 Mengubah Hak Akses Menggunakan Notasi Simbolis
 “chmod [kategori][tindakan][hak] nama_file_atau_direktori”
 Mengubah Hak Akses Menggunakan Notasi Oktal
 Nilai Oktal hak akses :
 ‘r’ = 4 ‘w’ = 2 ‘x’ = 1
 “chmod 755 nama_file”
 angka 755 berarti = Pemilik memiliki hak baca,tulis,dan eksekusi
 Grup memiliki hak baca dan eksekusi
 Lainya memiliki hak baca dan eksekusi

APA ITU WEB SERVER?
Sebuah aplikasi yang berjalan disisi server yang
menerima dan melayani permintaan dari pengguna yang dikirimkan melalui peramban web kemudian ditampilkan kepada pengguna sesuai dengan permintaan yang dikirimkan keserver.
Contoh; Apache, Nginx, IIS, dll

INSTALL NGINX MARIADB & PHP
- Perintah untuk memperbarui daftar package di repository
$ sudo apt-get update && sudo apt-get upgrade -y
- Perintah untuk menginstall nginx mariadb dan php
$ sudo apt-get install nginx mariadb php8.3-fpm
php-mysql -y
- Perintah mengecek versi php
$ php -v

CEK STATUS NGINX MARIADB & PHP
lakukan perintah 
sudo systemctl status nginx
untuk mengecek status service nginx, apabila nginx belum running
atau active.
gunakan perintah
sudo systemctl enable nginx dan sudo systemctl start nginx
untuk memulai service nginx. Lakukan hal yang sama pada
php8.3-fpm dan mysq

TRIAL NGINX

untuk menguji apakah nginx sudah berjalan dapat menggunakan browser.
jalankan 192.168.12.45 di browser kalian, ganti 192.168.12.45 dengan ip masing masing. untuk mengetahui ip bisa menggunakan hostname -I (i kapital).

SCRIPT PHP
kembali ke mesin virtual dan jalankan
perintah :
- sudo nano /var/www/html/info.php
dan ketik <?php phpinfo(); ?>, lalu simpan

SET PHP 

jalankan perintah : - sudo nano
/etc/nginx/sites-available/default
lalu hapus tagar pada bagian : - location ~ \.php$ { - include snippets/fastcgi-php.conf - fastcgi_pass
unix:/run/php/php8.1-fpm.sock
- lalu pada }

HASIL SCRIPT PHP

mulai ulang service nginx dengan
perintah : sudo systemctl restart nginx
lalu buka browser dan jalankan
192.168.12.45/info.php, ganti
192.168.12.45 dengan ip masing masing

KONFIGURASI MARIADB
kembali ke mesin virtual dan jalankan perintah sudo mysql untuk masuk ke
mysql dengan akses root. Kemudian edit user root dengan perintah ALTER
USER ‘root’@’localhost’ IDENTIFIED BY ‘1234’; (pada bagian root dan
password dapat diganti sesuai keinginan masing masing)
kemudian gunakan perintah FLUSH PRIVILEGES untuk menyegarkan
perubahan. lalu EXIT

Lakukan uji coba login menggunakan user dan password yang baru dengan perintah sudo mysql -u root -p dan masukkan password yang telah dibuat tadi.lalu buat database dengan perintah CREATE DATABASE student_db; database ini yang akan menjadi tempat tabel yang berisi data yang akan digunakan.

BUAT USER DI MARIADB

gunakan CREATE USER ‘student’@’localhost’ IDENTIFIED BY ‘12345’; untuk membuat user baru. lalu berikan semua hak akses student_db ke user yang telah dibuat dengan GRANT ALL PRIVILEGES ON student_db.* TO'student'@'localhost'; lalu gunakan perintah FLUSH PRIVILEGES; untuk menyegarkan perubahan. lalu EXIT

CREATE TABLE MARIADB
Gunakan mysql -u student -p untuk masuk sebagai user student. lalu masuk ke dalam database student_db dengan USE student_db; lalu buat tabel student seperti berikut:
CREATE TABLE student ( id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (100) NOT NULL, username VARCHAR (50) NOT
NULL, password VARCHAR (255) NOT NULL);

INSERT USER MARIADB
Masukkan data pada table student dengan perintah :
INSERT INTO student (name,username,password) VALUES (‘STUDENT 1’,
‘student1’, MD5(‘12345’)); lalu EXIT. (MD5(‘12345’) digunakan untuk
mengenkripsi 12345, jadi ketika login tetap gunakan 12345

SET MYSQL.PHP
buat file php yang digunakan untuk mengambil data dari database dengan
perintah :
sudo nano/var/www/html/mysql.php
tulis perintah yang ada pada gambar.



HASIL KONFIGURASI NGINX MARIADB & PHP

restart service nginx dan coba
akses 192.168.12.45/mysql.php
menggunakan browser kalian dan
coba untuk login menggunakan
username dan password yang ada
pada tabel student

KONFIGURASI FIREWALL


Firewall UFW
UFW (Uncomplicated Firewall) adalah antarmukapengguna untuk mengelola firewall di sistem operasi
berbasis Linux, terutama Ubuntu. UFW dirancang untuk membuat pengaturan firewall menjadi lebih sederhana dan mudah digunakan, bahkan untuk pengguna yang tidak terlalu berpengalaman

Install UFW

Perintah Menginstall ufw
‘“sudo apt install ufw -y”
Mengaktifkan Service ufw
“sudo ufw enable”
Cek status ufw
“sudo ufw status”
Pastikan Status: active

allow & deny UFW

“sudo ufw allow 80”
Untuk mengizinkan port http
“sudo ufw allow 443”
Untuk mengizinkan port https
“sudo ufw deny 23”
Untuk menolak port telnet
“sudo ufw enable”
Untuk menyimpan konfigurasi ufw
“sudo ufw status”
Untuk melihat rule ufw

Allow IP tertentu UFW
“sudo ufw allow from 192.168.12.49
to any port 22”
Untuk mengizinkan ip tersebut untuk
mengakses port ssh
“sudo ufw deny 22”
Untuk menolak semua ip yang ingin
mengakses port ssh kecuali yang
telah diizinkan
“sudo ufw enable” Simpan konfigurasi

Hasil UFW

uji coba menggunakan ip yang telah diberikan izin untuk mengakses port ssh, apabila konfigurasi benar maka hasil akan seperti disamping, jika gagal maka akan muncul pesan connection refused

KONFIGURASI TUNNEL CLOUDFLARE
1. Login Cloudflare
    https://dash.cloudflare.com/login

2. Zero Trust
    Klik ‘Add a tunnel’
 

3. Type Tunnel
    Pilih ‘Cloudflared’, kemudian Next

4. Konfigurasi Tunnel
    Pilih OS Debian 64-bit, lalu salin kodedibawah dan tempelkan di terminal Ubuntu Server

    tunggu proses hingga selesai

    Setelah proses berhasil, maka akanmuncul tampilan seperti gambar dibawah, Klik Next

Sesuaikan subdomain, domain, type, dan url masing-masing

KONFIGURASI PROXY SERVER

Apa Itu Reverse Proxy?
Reverse proxy adalah sebuah server yang bertindak sebagai perantara antara klien dan server tujuan. Ketika klien melakukan permintaan, reverse proxy akan menerima permintaan tersebut dan akan mengirimkannya ke server tujuan. Kemudian, server tujuan akan memberikan respons ke reverse proxy, dan reverse proxy akan meneruskannya kembali ke klien.

Cara Kerja Reverse Proxy
Reverse proxy bekerja sebagai perantara antara server tujuan dan pengguna internet. Ketika pengguna internet melakukan permintaan, reverse proxy menerima permintaan tersebut dan meneruskannya ke
server tujuan. Kemudian, server tujuan memberikan respons ke reverse proxy, dan reverse proxy meneruskannya kembali ke pengguna internet.

Konfigurasi Proxy Server

Install Nginx
Nginx tersedia untuk di install apt melalui repository default. Perbarui
indeks repository, lalu instal Nginx:
sudo apt update
sudo apt install nginx
Tekan Y untuk mengonfirmasi
penginstalan.

Mengizinkan Akses Nginx Melalui Firewall
tambahkan aturan berikut dengan ufw:
sudo ufw allow 'Nginx HTTP'

Memverifikasi Bahwa Nginx Sedang Berjalan
systemctl status nginx

Mengedit File Konfigurasi Web Server 1

Buat berkas konfigurasi khusus untuk penambahan blok server baru. Buat dan buka berkas konfigurasi Nginx baru menggunakan nano.
sudo nano /etc/nginx/sites-available/web1.localhost.my.id
Masukkan konfigurasi berikut ke dalam berkas baru,pastikan untuk mengganti app_server_address sesuai dengan IP Web Server 1

Mengedit File Konfigurasi Web Server 2

Buat dan buka berkas konfigurasi Nginx baru menggunakan nano.
sudo nano /etc/nginx/sites-available/web2.localhost.my.id
Masukkan konfigurasi berikut ke dalam berkas baru,pastikan untuk mengganti app_server_address sesuai dengan IP Web Server 2
Aktifkan File Konfigurasi Web 1 & Web 2

Setelah mengedit file Konfigurasi Web 1 & Web 2, kita akan membuat symlink ke dalam
direktori /etc/nginx/sites-enabled/ untuk mengaktifkan konfigurasi tersebut, lalu mereload
atau restart Nginx agar perubahan konfigurasi berlaku.
sudo ln -s /etc/nginx/sites-available/web1.localhost.my.id /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/web2.localhost.my.id /etc/nginx/sites-enabled/
sudo systemctl reload nginx

Konfigurasi Web Server 1

Install Apache Web Server Apache Web Server tersedia untuk di install apt melalui repository default. install Apache:
sudo apt install apache2
Tekan Y untuk mengonfirmasi penginstalan.

Memverifikasi Bahwa Apache Sedang berjalan
systemctl status apache2

Konfigurasi File Index Apache
Hapus file konfigurasi index.html bawaan Apache sudo rm /var/www/html/index.html 
Buat file konfigurasi baru index.html
sudo nano /var/www/html/index.html
lalu isi file konfigurasi index.html seperti di bawah ini:
Restart Apache Web Server
Restart service Apache menggunakan command di bawah ini:
sudo systemctl restart apache2

Pengetesan Web Server
Akses Web Server 1 dengan menuliskan alamat IP Web Server 1 pada browser, dan hasilnya akan seperti contoh gambar di bawah ini:

Konfigurasi Web Server 2

Install Apache Web Server 
Apache Web Server tersedia untuk di install apt melalui repository default. install
Apache:
sudo apt install apache2
Tekan Y untuk mengonfirmasi
penginstalan.

Memverifikasi Bahwa Apache Sedang Berjalan
systemctl status apache2

Konfigurasi File Index Apache
Hapus file konfigurasi index.html bawaan Apache
sudo rm /var/www/html/index.html
Buat file konfigurasi baru index.html
sudo nano /var/www/html/index.html
lalu isi file konfigurasi index.html seperti di bawah ini:

Restart Apache Web Server
Restart service Apache menggunakan command di bawah ini:
sudo systemctl restart apache2

Pengetesan Web Server
Akses Web Server 2 dengan menuliskan alamat IP Web Server 2 pada browser, dan hasilnya akan seperti contoh gambar di bawah ini

Konfigurasi Hosts Pada Client Linux

Edit File /etc/hosts
Edit file /etc/hosts menggunakan editor teks nano, dengan
perintah:
sudo nano /etc/hosts
Tambahkan baris baru dengan format:
[IP_Local_Proxy_Server] [domain_lokal]

Lakukan Pengujian Pada Linux Client
Buka browser menggunakan domain Web 1 & Web 2, Maka tampilan pada browser akan seperti gambar di bawah ini:




Comments

Popular posts from this blog

KONFIGURASI DHCP SERVER DEBIAN 12

TOPOLOGI GNS3 ROUTER MIKROTIK CHR 7.11

INSTALL & KONFIGURASI OPENVPN DI DEBIAN 12