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

  1. 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.
  2. Mesin Virtual (VM): Lingkungan perangkat lunak yang meniru server fisik lengkap. Setiap VM memiliki sistem operasi, aplikasi, dan konfigurasinya sendiri.
  3. Host: Server fisik yang menjalankan hypervisor dan mesin virtual

MACAM-MACAM JENIS VIRTUALISASI SERVER

  1. Virtualisasi Penuh (Full Virtualization): Hypervisor berjalan langsung di atas perangkat keras server fisik. VM sepenuhnya terisolasi satu sama lain dan dari host.
  2. Paravirtualisasi: VM dimodifikasi untuk bekerja sama dengan hypervisor, meningkatkan kinerja tetapi mengurangi kompatibilitas.
  3. 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:

  1. VMware vSphere/ESXi
  2.  Microsoft Hyper-V
  3.  Citrix XenServer
  4.  KVM (Kernel-based Virtual Machine)
  5.  Oracle VM VirtualBox (untuk penggunaan desktop)
  6.  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:

  1. Gratis dan Open Source: Tidak ada biaya lisensi, dan Anda bebas menggunakan, memodifikasi, dan mendistribusikan Linux sesuai kebutuhan Anda.
  2. Keamanan: Linux dikenal karena tingkat keamanannya yang tinggi, dengan pembaruan keamanan yang sering dirilis untuk mengatasi kerentanan.
  3. Stabilitas: Linux sangat stabil dan jarang mengalami crash atau masalah kinerja.
  4. Fleksibilitas: Linux dapat disesuaikan untuk berbagai kebutuhan, dari server hingga desktop, perangkat embedded, dan superkomputer.
  5. 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:

  1.  Ubuntu: Distro yang ramah pengguna, ideal untuk pemula dan pengguna desktop.
  2.  Debian: Distro yang stabil dan konservatif, sering digunakan untuk server.
  3.  Fedora: Distro yang inovatif dan mutakhir, sering digunakan oleh pengembang.
  4.  CentOS: Distro yang stabil dan kompatibel dengan Red Hat Enterprise Linux (RHEL), sering  digunakan untuk server perusahaan.
  5. Linux Mint: Distro yang berbasis Ubuntu dengan antarmuka yang lebih tradisional dan mudah digunakan.
  6. 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

  1. Readable ( r ) = Mengizinkan pengguna untuk melihat isi file
  2.  Writeable( w ) = Mengizinkan pengguna untuk mengubah isi file atau direktori
  3.  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

BAB 6

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

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





Tunggu proses hingga selesai


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


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 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.

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:





Komentar

Postingan populer dari blog ini

CARA INSTALASI DAN KONFIGURASI DATABASE SERVER DEBIAN 12

CARA UNTUK MENGKONFIGURASI DHCP SERVER PADA DEBIAN 12

KONFIGURASI DNS SERVER DI DEBIAN 12