RANGKUMAN PELATIHAN LINUX UKM LAOS X RADNET INDONESIA
Radnext Digital Indonesia
BAB 1
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.
BEBERAPA 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
MACAM-MACAM 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
BEBERAPA 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
BAB 2
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.
APA YANG DIMAKSUD DENGAN KERNEL?
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 DARI 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 DARI OPERASI SISTEM 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.
APA YANG DIMAKSUD DENGAN 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.
BEBERAPA 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.
BAB 4
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.
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
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
BAB 5
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 ke server.
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’; untukmembuat user baru. lalu berikan semua hak akses student_db ke user yangtelah 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. lalumasuk 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. untuk lebih jelasnya ada pada slide
selanjutnya.
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
BAB 7
KONFIGURASI TUNNEL CLOUDFLARE
Login Cloudflare
https://dash.cloudflare.com/login
Zero Trust
Klik ‘Add a tunnel’
Type Tunnel
Pilih ‘Cloudflared’, kemudian Next
Membuat Tunnel
"Masukkan Nama Tunnel"
Konfigurasi Tunnel
Pilih OS Debian 64-bit, lalu salin kode dibawah dan tempelkan di terminal Ubuntu Server
Setelah proses berhasil, maka akan muncul tampilan seperti gambar,Klik Next Sesuaikan subdomain, domain, type, dan url masing-masing
BAB 8
KONFIGURASI PROXY SERVER
Apa Itu Reverse Proxy?
Reverse proxy adalah sebuah server yang bertindak sebagaiperantara 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. Perbaruiindeks 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 b erkas 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
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 melaluirepository 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.
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
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:
Komentar
Posting Komentar