TMA 9.2: Instalasi dan Konfigurasi LAMP Stack untuk Menjalankan WordPress di AlmaLinux

Panduan Lengkap WordPress di AlmaLinux

1. Persiapan Sistem

Update Sistem

sudo dnf update -y

Menjamin semua paket terbaru dan mengurangi masalah kompatibilitas.

Install LAMP Stack

sudo dnf install httpd mariadb-server mariadb php php-mysqlnd php-fpm -y
  • httpd: web server Apache
  • mariadb-server: database server
  • php & php-mysqlnd: bahasa scripting PHP & modul koneksi MariaDB
  • php-fpm: FastCGI Process Manager untuk PHP

Enable dan Start Service

sudo systemctl enable --now httpd
sudo systemctl enable --now mariadb
sudo systemctl enable --now php-fpm

2. Konfigurasi MariaDB (Database)

Amankan Instalasi MariaDB

sudo mysql_secure_installation

Ikuti langkah-langkah untuk set root password, hapus user anonim, nonaktifkan remote root login, dan hapus database test.

Buat Database & User WordPress

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;

Jika user sudah ada:

ALTER USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';
FLUSH PRIVILEGES;

3. Upload dan Ekstrak WordPress

sudo mv latest.tar.gz /var/www/
cd /var/www
sudo tar -xvzf latest.tar.gz
sudo chown -R apache:apache wordpress
sudo chmod -R 755 wordpress

Catatan:

  • chown apache:apache → memastikan Apache bisa menulis file
  • chmod 755 → memberi permission aman untuk direktori

Jika ada WordPress lama:

sudo mv /var/www/wordpress /var/www/wordpress_old

4. Konfigurasi Apache untuk WordPress

Buat Virtual Host

<VirtualHost *:80>
    ServerName 123.456.789.101
    DocumentRoot /var/www/wordpress

    <Directory /var/www/wordpress>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/wordpress_error.log
    CustomLog /var/log/httpd/wordpress_access.log combined
</VirtualHost>

Ganti IP dengan IP server atau domain. AllowOverride All memungkinkan .htaccess bekerja untuk permalink WordPress.

Enable mod_rewrite

sudo dnf install mod_rewrite -y
sudo systemctl restart httpd

Restart Apache

sudo systemctl restart httpd

5. Konfigurasi PHP-FPM

Edit Pool Config

sudo nano /etc/php-fpm.d/www.conf

Pastikan:

listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apache

Restart PHP-FPM

sudo systemctl restart php-fpm

Pastikan Apache Bisa Menggunakan PHP-FPM

<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>

6. SELinux dan Firewall

Set Context SELinux

sudo chcon -R -t httpd_sys_rw_content_t /var/www/wordpress

Izinkan HTTP/HTTPS di Firewall

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

7. Troubleshooting Umum

MasalahPenyebabSolusi
Service Unavailable Apache tidak bisa koneksi ke PHP-FPM Pastikan SetHandler menggunakan socket yang benar dan PHP-FPM berjalan
Error establishing a database connection Database atau user salah/password Periksa wp-config.php dan akses MariaDB
Forbidden Permission atau SELinux Gunakan chown/chcon sesuai instruksi di atas
File tidak bisa dipindah File sudah ada atau salah path Gunakan ls untuk cek lokasi folder dan gunakan mv/cp -r sesuai path

8. Testing WordPress

http://IP_SERVER

Ikuti wizard WordPress: pilih bahasa, buat user admin, dan hubungkan ke database.

TMA 9.1: Instalasi dan Konfigurasi LEMP Stack untuk Menjalankan WordPress di Ubuntu Server 24.04 LTS

1. Persiapan Sistem

Lihat Perintah & Penjelasan
sudo apt update && sudo apt upgrade -y

Update paket dan upgrade sistem agar semua software terbaru dan bug/security fixes diterapkan.

sudo apt install curl wget unzip -y

Install tools tambahan: curl dan wget untuk download file, unzip untuk mengekstrak file WordPress.

2. Instalasi Nginx

Lihat Perintah & Penjelasan
sudo apt install nginx -y

Install Nginx, web server ringan dan cepat.

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

Mengaktifkan Nginx saat boot, menjalankan service, dan memeriksa statusnya.

3. Instalasi MySQL / MariaDB

Lihat Perintah & Penjelasan
sudo apt install mysql-server -y

Install database server MySQL atau MariaDB.

sudo systemctl enable mysql
sudo systemctl start mysql

Mengaktifkan service MySQL saat boot dan memulai service sekarang.

sudo mysql_secure_installation

Mengamankan MySQL: mengatur password root, menghapus user anonim, menghapus database test, menonaktifkan login root jarak jauh.

4. Buat Database & User WordPress

Lihat Perintah & Penjelasan
sudo mysql -u root -p

Login ke MySQL sebagai root.

DROP USER IF EXISTS 'wpuser'@'localhost';

Menghapus user lama jika sudah ada untuk menghindari error saat pembuatan user baru.

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Membuat database baru bernama wordpress dengan encoding UTF8MB4 agar mendukung emoji dan karakter internasional.

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';

Membuat user baru wpuser dengan password wpuser123.

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;

Memberikan semua hak akses ke database wordpress untuk user wpuser. FLUSH PRIVILEGES menyegarkan hak akses.

EXIT;

Keluar dari MySQL.

-- Jika user sudah ada:
ALTER USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuser123';

Mengubah password user lama jika sudah ada.

5. Instalasi PHP & Ekstensi

Lihat Perintah & Penjelasan
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-xmlrpc php8.3-soap php8.3-intl php8.3-zip -y

Install PHP-FPM dan ekstensi yang dibutuhkan WordPress.

sudo systemctl enable php8.3-fpm
sudo systemctl start php8.3-fpm
php -v

Aktifkan PHP-FPM saat boot, jalankan service sekarang, dan cek versi PHP yang terpasang.

6. Download & Pasang WordPress

Lihat Perintah & Penjelasan
cd /var/www/
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress /var/www/wordpress

Download WordPress terbaru, ekstrak, dan pindahkan ke folder web server.

sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress

Set permission agar Nginx dapat menulis file: owner www-data, folder 755.

7. Konfigurasi Nginx untuk WordPress

Lihat Contoh & Penjelasan
sudo nano /etc/nginx/sites-available/wordpress

Buka file konfigurasi Nginx.

server {
    listen 80;
    server_name your-domain.com;
    root /var/www/wordpress;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Konfigurasi Nginx untuk WordPress: root, index, PHP-FPM socket, deny .htaccess.

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

Aktifkan site, hapus default, cek konfigurasi, reload Nginx.

8. Konfigurasi wp-config.php

Lihat Perintah & Penjelasan
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Salin file sampel wp-config dan edit database info.

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'wpuser123' );
define( 'DB_HOST', 'localhost' );

Set database WordPress sesuai user dan password.

# Tambahkan WordPress Salts dari:
# https://api.wordpress.org/secret-key/1.1/salt/

Tambahkan salt keys untuk keamanan login WordPress.

9. Restart PHP-FPM & Reload Nginx

Lihat Perintah & Penjelasan
sudo systemctl restart php8.3-fpm
sudo systemctl reload nginx

Restart PHP-FPM agar konfigurasi baru diterapkan, reload Nginx agar perubahan site aktif.

10. Akses WordPress

Buka browser: http://IP-Server-Anda/ atau http://your-domain.com/, lalu ikuti wizard instalasi WordPress.

11. (Opsional) Tambahkan SSL / HTTPS

Lihat Perintah & Penjelasan
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
sudo systemctl reload nginx

Install Certbot, buat SSL gratis dengan Let’s Encrypt, reload Nginx agar HTTPS aktif.

12. Tips Keamanan & Maintenance

  • Update WordPress, plugin, tema rutin
  • Backup database & folder /var/www/wordpress
  • Jangan gunakan root untuk login WordPress
  • Folder permissions: 755 untuk folder, 644 untuk file

TMA 8.6: Konfigurasi Apache2 sebagai Reverse Proxy di AlmaLinux 9.6

1. Pastikan SELinux izinkan port 8183 (atau port yang akan digunakan)

$ getenforce
-Kalau hasilnya Enforcing, jalankan:
$ sudo dnf install policycoreutils-python-utils -y
$ sudo semanage port -a -t http_port_t -p tcp 8183

2. Konfigurasi Nginx sebagai web server di port 8183

-Buat file /etc/nginx/conf.d/myserver.conf:
server {
    listen 8183;
    listen [::]:8183;

    server_name localhost;

    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

3. Tambah <pre>Reverse Proxy Sukses</pre> di halaman HTML Nginx

-Edit file /usr/share/nginx/html/index.html
-Cari tag <h2>Nama Kalian</h2> lalu langsung di bawahnya tambahkan:
<pre>Reverse Proxy Sukses</pre>

4. Restart Nginx

$ sudo nginx -t
$ sudo systemctl restart nginx

5. Konfigurasi Apache sebagai reverse proxy ke Nginx port 8183

-Buat file /etc/httpd/conf.d/reverse-proxy.conf:
<VirtualHost *:80>
    ServerName localhost
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8183/
    ProxyPassReverse / http://127.0.0.1:8183/

    ErrorLog /var/log/httpd/reverse-proxy-error.log
    CustomLog /var/log/httpd/reverse-proxy-access.log combined
</VirtualHost>

6. Restart Apache

$ sudo systemctl restart httpd

7. Cek port

$ sudo ss -tuln | grep :80
$ sudo ss -tuln | grep :8183

8. Tes akses via browser ke port 80

http://IP-SERVER
-Kamu akan melihat halaman Nginx dengan teks:
Nama Kalian
Reverse Proxy Sukses

TMA 8.5: Konfigurasi Apache2 sebagai Reverse Proxy di Ubuntu Server 24.04 LTS

 1. Ubah file root HTML Nginx

-Misal file root Nginx ada di /var/www/html/index.html
$ sudo nano /var/www/html/index.html
-Ubah atau tambahkan isinya menjadi:
<!DOCTYPE html>
<html>
<head><title>Test Reverse Proxy</title></head>
<body>
    <h2>Nama Kalian</h2>
    <pre>Reverse Proxy Sukses</pre>
</body>
</html>
-Simpan dan keluar.

2. Ubah port Apache2 ke port default (80)

-Edit file ports.conf:
$ sudo nano /etc/apache2/ports.conf
-Pastikan ada baris:
Listen 80
-Jika tidak ada, ubah atau tambahkan.

3.Ubah port Nginx ke 8183

-Edit konfigurasi default Nginx:
$ sudo nano /etc/nginx/sites-available/default
-Ubah baris listen menjadi:
listen 8183 default_server;
listen [::]:8183 default_server;
-Simpan dan keluar.

4. Konfigurasi Apache2 sebagai reverse proxy ke Nginx port 8183

Edit virtual host Apache default:
$ sudo nano /etc/apache2/sites-available/000-default.conf
Ubah atau buat konfigurasi menjadi:
<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8183/
    ProxyPassReverse / http://127.0.0.1:8183/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

5. Aktifkan modul proxy di Apache dan restart semua service

$ sudo a2enmod proxy proxy_http
$ sudo systemctl restart nginx
$ sudo systemctl restart apache2

6. Pengetesan

-Buka Firefox dan akses:
http://<IP-server>/
-Hasil yang diharapkan tampil:
It works!
Nama Kalian
Reverse Proxy Sukses

TMA 8.4: Konfigurasi Nginx sebagai Reverse Proxy di AlmaLinux 9.6

1. Ubah apache agar berjalan di port 8381

$ sudo nano /etc/httpd/conf/httpd.conf
-Ubah baris "Listen 80" menjadi "Listen 8381"
-Simpan dan keluar (ctrl+o, enter, ctrl+x)

2. Pastikan Apache bisa dijalankan

$ sudo systemctl restart httpd
-Jika tidak bisa start, pastikan direktori log dan permissionnya benar:
    $ sudo chown -R apache:apache /var/log/httpd
    $ sudo chmod -R 755 /var/log/httpd

3. Edit halaman web apache

$ sudo nano /var/www/html/index.html
-Tambahkan isi:
    <h1>It works!</h1>
    <h2>Nama Kalian</h2>
    <pre>Reverse Proxy Sukses</pre>
-Simpan file

4. Konfigurasi Nginx sebagai Reverse Proxy

$ sudo nano /etc/nginx/nginx.conf
-Temukan blok server {...}
-Ubah atau tambahkan bagian ini:
location / {
    proxy_pass http://127.0.0.1:8381;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}
-Pastikan konfigurasi ditutup dengan benar ( } )

5. Cek sintaks dan restart Nginx

$ sudo nginx -t
$ sudo systemctl restart nginx

6. Atur SELinux agar Nginx bisa akses port 8381

-Tambahkan port ke konteks http_port_t:
    $ sudo semanage port -a -t http_port_t -p tcp 8381
    Jika sudah ada gunakan -m:
    $ sudo semanage port -m -t http_port_t-p tcp 8381
-Izinkan Nginx melakukan koneksi ke aplikasi lain (proxy):
    $ sudo setsebool -P httpd_can_network_connect 1

7. Buka port 8381 di firewall (jika perlu)

$ sudo firewall-cmd --permanent --add-port=8381/tcp
$ sudo firewall-cmd --reload

8. Tes koneksi langsung ke Apache

$ curl -I http://127.0.0.1:8381
Harus muncul HTTP/1.1 200 OK

9. Akses dari browser

-Buka: http://IP-SERVER
-Jika muncul halaman:
    It works!
    Nama Kalian
    Reverse Proxy Sukses
Maka Reverse Proxy berhasil!

TMA 8.3: Konfigurasi Nginx sebagai Reverse Proxy di Ubuntu Server 24.04 LTS

1. Pastikan Apache2 sudah berjalan di port 8381

-Edit file konfigurasi Apache: $ sudo nano /etc/apache2/ports.conf
-Ubah atau tambahkan: Listen 8381
-Lalu edit virtualhost: $ sudo nano /etc/apache2/sites-available/000-default.conf
-Ubah menjadi: <VirtualHost *:8381>
                               DocumentRoot /var/www/html
                          </VirtualHost>
-Restart Apache: $ sudo systemctl restart apache2

2. Edit Halaman HTML Apache

-Edit file berikut: $ sudo nano /var/www/html/index.html
-Tambahkan di bawah <h2>Nama Kalian</h2>: <pre>Reverse Proxy Sukses</pre>
-Simpan: CTRL+O lalu ENTER
-Keluar: CTRL + X

3. Konfigurasi Nginx Sebagai Reverse Proxy

-Edit file konfigurasi default: $ sudo nano /etc/nginx/sites-available/default
-Ubah seluruh blok "location / " menjadi seperti berikut:
    location / {
            proxy_pass http://127.0.0.1:8381;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
}
-Kemudian simpan dan keluar

4. Cek Konfigurasi Nginx

$ sudo nginx -t
JIka hasil: syntax is ok
                 test is successful
Lanjut kelangkah berikutnya.

5. Restart Nginx

$ sudo systemctl restart nginx

6. Tes di Browser ( Firefox TinyCore Linux)

http://ip-ubuntu
Hasil yang diharapkan: It works!
                                      nama kalian
                                      Reverse Proxy Sukses

TMA 8.2: Instalasi Apache2 di Ubuntu Server 24.04 LTS & AlmaLinux 9.6

UBUNTU SERVER 24.04 LTS

a. Pasang Apache2 di Ubuntu Server

    Buka terminal di ubuntu server, lalu jalankan:

  1.     $ sudo su
  2.     # apt update
  3.     # apt install apache2 -y

    Cek apakah apache2 sudah aktif dengan perintah berikut:
    # systemctl status apache2 (status harus "active (running)")

Jika status inactive kemungkinan port 80 telah digunakan. Solusinya, anda dapat memindahkan apache2 ke port lain.


b. Ubah Port Bawaan Apache2 Menjadi 8381

    Secara default, Apache berjalan di port 80. Kita pindahkan ke 8381.

    Langkah 1: Ubah port.conf

    edit file konfigurasi port dengan perintah: # nano /etc/apache2/ports.conf
    ubah: Listen 80
    menjadi: Listen 8381

    Simpan (ctrl+o, lalu enter, kemudian ctrl+x untuk keluar)

Langkah 2: Ubah file Virtual Host

    -edit file default virtual host dengan perintah: 
    # nano /etc/apache2/sites-available/000-default.conf
    -ubah baris: <VirtualHost *:80>
    -menjadi: <VirtualHost *:8381>

    Kemudian simpan.

c. Restart Apache

    -Setelah mengubah konfigurasi, restart Apache dengan perintah:
    # systemctl restart apache2
    -Cek apakah sudah menggunakan port 8381 dengan perintah:
    # ss -tulpn | grep 8381

d. Buka Port 8381 di Firewall (Jika Perlu)

    Jika ubuntu anda menggunakan firewall (ufw), buka port 8381 dengan perintah:
    # ufw allow 8381
    # ufw reload

e. Tes dari Firefox di TinyCore Linux

    Buka Firefox di TinyCore Linux, akses ip ubuntu anda: http://192.168.100.x:8381 (contoh)
    Jika muncul halaman "it works!" maka apache berhasil diakses dari port 8381.

f. Edit File Root HTML Apache

    File html default apache biasanya terletak di: /var/www/html/index.html

    -Edit dengan perintah:
    # nano /var/www/html/index.html
    -Cari tulisan:
    It works!
    -Tambahkan baris dibawahnya:
    <h2>nama</h2>
    Kemudian simpan dan keluar.

g. Tes kembali di Firefox (TinyCore Linux)

    -Refresh halaman: http://ipubuntuanda:8381
    -Sekarang seharusnya muncul:
    It works!
    nama
    Jika sudah berarti pengaturan apache berhasil, port berhasil diubah, dan file HTML berhasil di        edit.


ALMALINUX SERVER 9.6

a. Pasang Apache (httpd) 

    $ sudo dnf install httpd -y

b. Ubah port bawaan Apache ke 8381

    edit file konfigurasi port : $ sudo nano /etc/httpd/conf/httpd.conf 
    contoh baris: Listen 80 (ubah menjadi "Listen 8381")

c. Izinkan Port 8381 di Firewall (Firewalld)

    $ sudo firewall-cmd --permanent --add-port=8381/tcp
    $ sudo firewall-cmd --reload

d. Aktifkan dan Jalankan Apache

    $ sudo systemctl enable httpd
    $ sudo systemctl start httpd

e. Edit File HTML Default dan Tambahkan Nama

    -File HTML default biasanya di:
    $ sudo nano /var/www/html/index.html
    -Tambahkan tulisan:
    <h1>It works!</h1>
    <h2>Nama Kalian</h2>

f. UJi Akses Apache dari TinyCore Linux (via Firefox)

    -Dari Firefox di TinyCore Linux, buka:
    http://IP-ALMALINUX:8381
   - contoh:
    http://192.168.100.x:8381
    -jika muncul halaman:
    It works! 
    nama kalian
    Berarti Apache berhasil terpasang dan dikonfigurasi diport 8381.

Jika anda tidak bisa melakukan start pada httpd, mungkin command berikut dapat membantu:
1. $ semanage port -a -t http_port_t -p tcp 8381 (menambahkan port 8381 sebagai port HTTP yang diizinkan oleh SELinux, agar Apache bisa menggunakannya)
2. $ chown -R apache:apache /var/log/httpd (mengubah kepemilikan folder log apache menjadi user dan grup apache, supaya apache bisa menulis log)
3. $ chmod -R 755 /var/log/httpd (mengatur permission folder log agar bisa diakses dan ditulis oleh apache)
4. $ systemctl daemon-reload (memuat ulang konfigurasi systemd setelah ada perubahan (seperti konfigurasi service))
5. $ systemctl restart httpd (me-restart apache (httpd) agar perubahan konfigurasi diterapkan)
6. $ systemctl status httpd ( menampilkan status apache, untuk memastikan apakah berjalan atau error)

TMA 8.1: Instalasi Nginx di Ubuntu Server 24.04 LTS & AlmaLinux 9.6

 UBUNTU SERVER 24.04 LTS

a. Pasang nginx:

Login ke ubuntu server, kemudian jalankan perintah berikut:
  1. $ sudo su (masuk dalam mode root)
  2. # apt update (untuk melakukan update pada repository)
  3. # apt install nginx -y ( untuk menginstall nginx)
  4. # systemctl status nginx (untuk melihat status nginx. Jika menunjukkan active (running), maka Nginx berhasil dijalankan)

b. Tes dari TinyCore Linux Menggunakan Firefox

Pastikan TinyCore Linux berada dalam satu jaringan dengan ubuntu server.
  1. Buka firefox di TinyCore Linux.
  2. Akses IP dari Ubuntu Server di browser:                                                              http://192.168.100.x (contoh)
  3. JIka halaman menampilkan "welcome to nginx!", berarti pemasangan berhasil.

c. Edit file root html dan tambahkan nama

  1. File default Nginx biasanya ada di: /var/www/html/indeks.nginx-debian.html
  2. Edit file tersebut menggunakan perintah nano /var/www/html/indeks.nginx-debian.html    (pastikan sudah memasuki mode root, karena file ada dalam direktori sistem [/var/www/html/] yang hanya bisa di edit oleh user dengan hak istimewa)
  3. Cari bagian yang bertuliskan  <h1>welcome to nginx!</h1> kemudian tambahkan baris <h2>nama</h2> dibawahnya contoh:
          <h1>welcome to nginx!</h1>
          <h2>nama</h2>

           kemudian untuk menyimpan tekan ctrl+o kemudian enter, lalu ctrl+x untuk keluar.

/var (Direktori untuk data aplikasi yang bersifat variabel (mudah berubah))
/www (Direktori tempat menyimpan file untuk server web)
/html (Folder default yang berisi file HTML untuk website yang dilayani Nginx)
/indeks.nginx-debian.html (file HTML default yang ditampilkan di browser)

d. Tes kembali dari TinyCore Linux

  1. Refresh halaman Firefox TinyCore Linux
  2. Jika sudah akan muncul: 
                welcome to nginx!
                nama

            maka modifikasi halalman berhasil.



ALMALINUX SERVER 9.6

a. Pasang Nginx:

  1. $ sudo su (masuk ke dalam user root)
  2. # dnf update -y (untuk memperbarui paket dalam sistem)
  3. # dnf install nginx -y (untuk menginstall nginx dari repository resmi almalinux)
  4. # systemctl enable nginx --now (Untuk mengaktifkan dan menjalankan nginx)
  5. # systemctl status nginx (memastikan statusnya active (running))

b. Buka Firewall (jika aktif)

Almalinux biasanya menggunakan firewalld. Pastikan port HTTP (80) dibuka:
  1. # firewall-cmd --permanent --add-service=http
  2. # firewall-cmd --reload

c. Tes Akses dari Browser (TinyCore Linux)

Dari TinyCore Linux:
1. Buka firefox
2. Akses alamat IP server AlmaLinux: http://192.168.100.x (contoh)
Jika muncul halaman "welcome to nginx!", berarti sukses.

d. Edit Halaman Default Nginx

1. File default Nginx di Almalinux biasanya ada di: /usr/share/nginx/html/index.html
2. Edit file tersebut: # nano /usr/share/nginx/html/index.html
3. Cari bagian: <h1>Welcome to nginx!</h1>, tambahkan <h2>nama</h2> dibawahnya
    contoh: <h1>Welcome to nginx!</h1>
                 <h2>nama</h2>
Jika sudah silahkan simpan dan keluar:
  • ctrl+o = simpan.
  • enter = konfirmasi nama file.
  • ctrl+x = keluar dari nano.

e. Tes Ulang di TinyCore Linux

1. Refresh halaman browser.
2. Jika sekarang muncul tulisan: Welcome to nginx!
                                                    nama
Berarti file HTML berhasil diedit dan ditampilkan.

TMA 7.2: Cara Mengubah Domain Bawaan Blogger ke Domain Sendiri

1. Dapatkan CNAME dari Blogger

  1. Login ke https://www.blogger.com
  2. Pilih blog kamu > Masuk ke Settings > Publishing
  3. Klik Custom Domain
  4. Masukkan domain kamu, contohnya: www.namadomainkamu.com
  5. Klik Save (akan muncul error dan 2 CNAME)

Catat 2 CNAME yang diberikan, misalnya:

  • www → ghs.google.com
  • abc123 → gv-xyz123.dv.googlehosted.com

2. Atur DNS di Cloudflare

  1. Login ke Cloudflare Dashboard
  2. Pilih domain kamu
  3. Masuk ke menu DNS > Records
  4. Tambahkan 2 CNAME dari Blogger:
Type Name Target Proxy Status
CNAME www ghs.google.com DNS Only
CNAME abc123 (dari Blogger) gv-xyz123.dv.googlehosted.com DNS Only

Tambahkan juga 4 A Record agar domain tanpa www bisa redirect:

Type Name IPv4 Address
A @ 216.239.32.21
A @ 216.239.34.21
A @ 216.239.36.21
A @ 216.239.38.21

3. Simpan Kembali Domain di Blogger

Kembali ke Blogger > Settings > Custom Domain, lalu klik Save.
Jika DNS sudah dikenali, domain akan berhasil tersimpan.

4. Aktifkan HTTPS

  • Di Blogger: Aktifkan HTTPS Availability dan HTTPS Redirect
  • Di Cloudflare: Masuk ke SSL/TLS > Overview, pilih mode Full
  • Aktifkan juga: Always Use HTTPS & Automatic HTTPS Rewrites

5. Redirect non-www ke www (Opsional)

  1. Masuk ke menu Rules > Page Rules di Cloudflare
  2. Klik Create Page Rule

Atur seperti ini:

If URL matches: namadomainkamu.com/*
Forwarding URL (301 Permanent Redirect) → https://www.namadomainkamu.com/$1

Selesai!

Sekarang blog anda sudah bisa diakses melalui domain sendiri dengan HTTPS.

Contoh: https://www.namadomainkamu.com

TMA 7.1: Memigrasikan DNS Manajemen ke Cloudflare

 1. Silahkan login ke akun cludflare milik anda

    - Buka https://www.cloudflare.com

    - Login dengan akun anda


2. Tambahkan domain anda ke cloudflare

    - Klik "onboard a domain" pada account home.

    - Tambahkan domain anda

    - Lalu dibawah pilih yang direkomendasikan

    - Setelah itu pilih "do not block" (off) agar dapat di cari di google

Continue jika sudah.


3. Ganti nameserver


    - Setelah selesai melakukan dua tahap sebelumnya anda akan mendapat nameserver.

    - Kemudian masuk kedalam indocenter / tempat anda melakukan order domain.

    - Ubah nameserver bawaan dengan nameserver yang diberi cloudflare.

    - Proses pengubahan biasanya memakan waktu 1-24 jam


4. Cek pada cloudflare

    - Tunggu hingga status domain anda aktif.

    - Jika sudah aktif dns domain telah dikelola oleh cloudflare.



Selesai.

TMA 6.2: Konfigurasi DNS Record di AlmaLinux dan Pengetesan di Alpine Linux

1. Masuk sebagai user root

$ su

2. Update Repository

$ dnf update -y

3. Install BIND dan utilitas DNS

$ dnf install bind bind-utils -y

4. Masuk ke direktori konfigurasi BIND

$ cd /etc/named

5. Lihat isi direktori

$ ls

6. Buat file zone untuk domain

$ cp named.localhost db.smk-angkasa.sch.id
$ cp named.loopback db.1

7. Konfigurasi Forward Zone

$ nano db.smk-angkasa.sch.id

Isi file seperti berikut (sesuaikan IP dan domain Anda):

;
; BIND data file for smk-angkasa.sch.id
;
$TTL    604800
@       IN      SOA     smk-angkasa.sch.id. root.smk-angkasa.sch.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      smk-angkasa.sch.id.
@       IN      A       10.10.22.1
ns1     IN      A       10.10.22.1
www     IN      A       10.10.22.1
web     IN      CNAME   www.smk-angkasa.sch.id.
@       IN      TXT     "SMK Dharma Bahari DNS Server Testing"

8. Konfigurasi Reverse Zone

$ nano db.1

Isi file seperti berikut (disesuaikan):

;
; BIND reverse data file for smk-angkasa.sch.id
;
$TTL    604800
@       IN      SOA     smk-angkasa.sch.id. root.smk-angkasa.sch.id. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      smk-angkasa.sch.id.
1       IN      PTR     ns1.smk-angkasa.sch.id.
1       IN      PTR     smk-angkasa.sch.id.
1       IN      PTR     www.smk-angkasa.sch.id.

9. Tambahkan zona ke dalam konfigurasi utama BIND

$ nano /etc/named.conf

Tambahkan di bagian akhir sebelum baris penutup }:

zone "smk-angkasa.sch.id" IN {
    type master;
    file "db.smk-angkasa.sch.id";
    allow-update { none; };
};

zone "22.10.10.in-addr.arpa" IN {
    type master;
    file "db.1";
    allow-update { none; };
};

10. Konfigurasi options pada named.conf

Pastikan bagian options dalam /etc/named.conf sudah seperti ini:

options {
    listen-on port 53 { any; };
    directory     "/var/named";
    dump-file     "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };
    recursion yes;

    forwarders {
        8.8.8.8;
    };

    dnssec-enable no;
    dnssec-validation no;

    listen-on-v6 { any; };
};

11. Set ownership dan permission file zona

$ chown named:named /etc/named/db.*
$ chmod 640 /etc/named/db.*

12. Aktifkan dan jalankan BIND

$ systemctl enable named
$ systemctl start named
$ systemctl status named

13. Konfigurasi DNS pada AlmaLinux

$ nano /etc/resolv.conf

Isi dengan:

nameserver 10.10.22.1
search smk-angkasa.sch.id

14. Uji DNS Server

$ nslookup smk-angkasa.sch.id
$ nslookup web.smk-angkasa.sch.id
$ dig smk-angkasa.sch.id TXT

15. Tambahan: Buka port DNS di firewall (jika aktif)

$ firewall-cmd --permanent --add-port=53/tcp
$ firewall-cmd --permanent --add-port=53/udp
$ firewall-cmd --reload

TMA 6.1: Konfigurasi DNS Record di Ubuntu Server dan Pengetesan di Alpine Linux

1. Masuk sebagai user root
$ sudo su
2. Lakukan konfigurasi network dengan melakukan edit pada /etc/netplan/50-cloud-init.yaml
# nano /etc/netplan/50-cloud-init.yaml
3. Update repo
# apt update
4. install Bind9 dan dnsutils
# apt install bind9 dnsutils -y
5. Masuk kedalam direktori /etc/bind
# cd /etc/bind
6. Kemudian lihat isi dalam direktori tsb
# ls
7.Buat file zone untuk domain
cp db.local db.smk-angkasa.sch.id
cp db.127 db.1
8. Lakukan konfigurasi pada forward zone
nano db.smk-angkasa.sch.id
Buat seperti ini namun sesuaikan domain dan ip anda
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     smk-angkasa.sch.id. root.smk-angkasa.sch.id. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      smk-angkasa.sch.id.
@       IN      A       10.10.22.1
ns1     IN      A       10.10.22.1
www     IN      A       10.10.22.1
web     IN      CNAME   www.smk-angkasa.sch.id.
@       IN      TXT     "SMK Dharma Bahari DNS Server Testing"
9. Kemudian buat konfigurasi reverse zone
 nano db.1
edit output menjadi seperti dibawah (sesuaikan dengan domain dan ip milik anda)
;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	smk-angkasa.sch.id. root.smk-angkasa.sch.id. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	smk-angkasa.sch.id.
1	IN	PTR	ns1.smk-angkasa.sch.id.
1	IN	PTR	smk-angkasa.sch.id.
1	IN	PTR	www.smk-angkasa.sch.id.
10. Tambahkan konfigurasi zona di named.conf.local
 # nano named.conf.local
edit output
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "smk-angkasa.sch.id" {
           type master;
           file "/etc/bind/db.smk-angkasa.sch.id";
};

zone "22.10.10.in-addr.arpa" {
           type master;
           file "/etc/bind/db.1";
};
11. Selanjutnya konfigurasi resolv.conf
 nano named.conf.options
edit output
options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forwarders {
        8.8.8.8;
        };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation no;

        listen-on-v6 { any; };
};
12. Konfigurasi resolv.conf
 nano /etc/resolv.conf
edit output
nameserver 10.10.22.1
options edns0 trust-ad
search smk-angkasa.sch.id
13. Lakukan restart bind9 serta cek statusnya (harus aktif)
systemctl restart bind9
systemctl status bind9
14. Kemudian uji coba dns server di ubuntu
 nslookup smk-angkasa.sch.id
 
Server:		10.10.22.1
Address:	10.10.22.1#53

Name:	smk-angkasa.sch.id
Address: 10.10.22.1
1. Lakukan update repo
# apk update
2. Install bind-tools
 
apk add bind-tools
3. Cek konfigurasi resolv.conf
 
cat /etc/resolv.conf
4. Tambahkan dns server ubuntu ke resolv.conf
 
echo "nameserver 10.10.22.1" > /etc/resolv.conf
5. Lakukan uji coba
 
nslookup smk-angkasa.sch.id
nslookup web.smk-angkasa.sch.id
dig smk-angkasa.sch.id TXT

Menyalin file dengan menggunakan ssh

Nama paket yang umum digunakan untuk menyalin file ke komputer atau server lain menggunakan ssh ialah scp (secure copy), yang merupakan utilitas berbasis SSH untuk menyalin file secara aman antar komputer. 

1. Buatlah file, contoh: test_ubuntu.txt

user@server:~$  echo "file test" > test_ubuntu.txt

2. Salin file ke ubuntu server 
contoh:
- Ip ubuntu server: 192.168.10.1
- Username : user
user@server:~$  scp test_ubuntu.txt user@192.168.10.1:/home/ubuntuuser/

3. Verifikasi file

user@server:~$ ssh ubuntuuser@192.168.56.101
user@server:~$ ls -l /home/ubuntuuser/test_ubuntu.txt
user@server:~$ cat /home/ubuntuuser/test_ubuntu.txt

user@server:~$ exit 

TMA 4.1: Cara Membuat SSH Key di Ubuntu Desktop 24.04 LTS

A. Pasang OpenSSH Client di Ubuntu Desktop

    1. Buka terminal ( Ctrl + Alt + t )

    2. Jalankan Perintah

    user@server:~$ sudo apt update
    user@server:~$ sudo apt install openssh-client -y

B. Buat Kunci SSH di Ubuntu Desktop

    1. Jalankan perintah

    user@server:~$ ssh-keygen -t rsa -b 4096

    (-t rsa = Menggunakan algoritma RSA)

    (-b 4096 = Panjang kunci 4096 bit)

    2. Kemudian akan muncul output

    Enter file in which to save the key (/home/namauser/.ssh/id_rsa):

    Tekan Enter untuk menyimpan kunci SSH di lokasi default: /home/namauser/.ssh/id_rsa

    3. Selanjutnya akan diminta membuat password untuk kunci SSH

    Enter passphrase (empty for no passphrase):

    Masukkan password rahasia yang akan digunakan untuk mengunci kunci SSH ini. 

    4. Konfirmasi password:

    - Enter same passphrase again: Masukkan kembali password yang sama untuk konfirmasi.

Selesai!!

Lakukan Verifikasi Hasil!

Jalankan:

ls -l ~/.ssh

Hasilnya akan menampilkan dua file:

-rw------- 1 namauser namauser 3243 id_rsa
-rw-r--r-- 1 namauser namauser 744 id_rsa.pub
FileFungsiKeterangan
id_rsaKunci privat (digunakan untuk login SSH)Tidak boleh disebar
id_rsa.pubKunci publik (dikirim ke server)Boleh disalin ke server

Kalau kamu lupa password SSH key, kamu harus hapus dan buat ulang kuncinya.

TMA 5.1: Konfigurasi IP Statik di Ubuntu Server dan Alpine Linux

Konfigurasi IP Static: Ubuntu Server - Alpine Client

Konfigurasi IP Static: Ubuntu (Server) & Alpine (Client)

1. Konfigurasi VM Ubuntu di VirtualBox

a. Tambahkan Network Adapter 1 (Bridged)

  • Buka Settings → Network
  • Adapter 1 → Enabled, Attached to: Bridged Adapter
  • Name: Pilih interface fisik (misalnya wlan0 atau enp0s3)

b. Tambahkan Network Adapter 2 (Internal Network)

  • Adapter 2 → Enabled, Attached to: Internal Network
  • Name: intnet (harus konsisten dengan Alpine)
Mode Internal Network memungkinkan komunikasi antar VM tanpa akses ke host atau internet.

2. Konfigurasi IP Static di Ubuntu

a. Cek Nama Interface

$ ip a

b. Edit Netplan untuk IP Static

$ sudo vim /etc/netplan/01-netcfg.yaml
Contoh konfigurasi:
network:
  version: 2
  ethernets:
    enp0s3:  # NA 1 (Bridged)
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
    enp0s8:  # NA 2 (Internal)
      dhcp4: no
      addresses: [10.20.30.254/24]
Terapkan:
$ sudo netplan apply

3. NAT Routing (Agar Alpine Bisa Akses Internet)

a. Aktifkan IP Forwarding

Edit file:
$ sudo vim /etc/sysctl.conf
Uncomment atau tambahkan:
net.ipv4.ip_forward=1
Aktifkan:
$ sudo sysctl -p

b. Atur NAT Rule (iptables)

$ sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

c. Simpan iptables Permanen

$ sudo apt install iptables-persistent
$ sudo netfilter-persistent save

4. Jalankan Alpine Linux

a. Atur Network Adapter

  • Adapter 1: Internal Network
  • Name: intnet (harus sama dengan Ubuntu)

b. Konfigurasi IP Static Alpine

Edit file:
# vi /etc/network/interfaces
Isi:
auto eth0
iface eth0 inet static
  address 10.20.30.10
  netmask 255.255.255.0
  gateway 10.20.30.254
  dns-nameservers 8.8.8.8 8.8.4.4
Restart jaringan:
# /etc/init.d/networking restart

5. Tes Koneksi dari Alpine

a. Ping Ubuntu

$ ping 10.20.30.254

b. Ping Internet

$ ping 8.8.8.8
$ ping google.com

c. Traceroute (opsional)

Install:
$ apk add traceroute
Jalankan:
$ traceroute google.com
Jika ping ke internet berhasil dan traceroute menunjukkan rute melalui Ubuntu, maka NAT dan konfigurasi berhasil.

TMA 5.2: Konfigurasi IP Statik di AlmaLinux dan Alpine Linux

Konfigurasi IP Static AlmaLinux - Alpine

Konfigurasi IP Static: AlmaLinux (Server) - Alpine Linux (Client)

1. Edit Mesin Virtual (VM) AlmaLinux

a. Tambahkan Network Adapter 1 (Bridged)

  • Settings → Network → Adapter 1 → Bridged Adapter
  • Pilih interface host (misalnya wlan0 atau eth0)

b. Tambahkan Network Adapter 2 (Internal Network)

  • Settings → Network → Adapter 2 → Internal Network
  • Name: intnet2 (sama seperti Alpine)
Menggunakan Internal Network lebih aman karena terbatas antar VM, cocok untuk simulasi LAN.

2. Konfigurasi IP Statik di AlmaLinux

a. Cek IP dari Bridged Adapter

$ ip a

b. Atur IP Static untuk Bridged

$ nmtui
  • Pilih interface enp0s3
  • IPv4 → Manual
  • Alamat: 192.168.100.3/24
  • Gateway: 192.168.100.1
  • DNS: 8.8.8.8, 8.8.4.4

c. Atur IP Static untuk Internal Adapter

$ nmtui
  • Pilih interface enp0s8
  • IPv4 → Manual → 11.11.21.1/24

d. Restart Jaringan

$ sudo systemctl restart NetworkManager

e. Aktifkan IP Forwarding

$ sudo vim /etc/sysctl.conf
Tambahkan atau aktifkan:
net.ipv4.ip_forward = 1
Terapkan:
$ sudo sysctl -p

f. Tambah NAT Rule (iptables)

$ sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

g. Simpan Rule iptables Permanen

$ sudo yum install iptables-services -y
$ sudo service iptables save
$ sudo systemctl enable iptables

3. Jalankan Alpine Linux

a. Network Adapter Alpine

  • Adapter 1: Internal Network
  • Name: intnet2 (sama seperti AlmaLinux)

b. Konfigurasi IP Static di Alpine

Edit file:
# vi /etc/network/interfaces
Isi:
auto eth0
iface eth0 inet static
  address 11.11.21.2
  netmask 255.255.255.0
  gateway 11.11.21.1
  dns-nameservers 8.8.8.8 8.8.4.4
Restart networking:
# /etc/init.d/networking restart

c. Tes Koneksi dari Alpine

$ ping 11.11.21.1        # Ping ke AlmaLinux
$ ping 8.8.8.8           # Ping ke Internet
$ ping google.com
Traceroute (opsional):
$ apk add traceroute
$ traceroute google.com
Jika traceroute menampilkan jalur keluar melalui interface bridged AlmaLinux, berarti NAT berhasil.

TMA 5.3: Konfigurasi DHCP Server di Ubuntu Server

1. Konfigurasi DHCP Server di Ubuntu

a. Install isc-dhcp-server

$ sudo apt update
$ sudo apt install isc-dhcp-server -y
Menginstal layanan DHCP di Ubuntu untuk memberikan IP dinamis ke client.

b. Tentukan Interface DHCP

$ sudo vim /etc/default/isc-dhcp-server

Temukan baris berikut dan ubah menjadi:

INTERFACESv4="enp0s8"
Gantilah enp0s8 dengan nama interface internal (dapat dicek dengan ip a).

c. Konfigurasi DHCP Range

$ sudo vim /etc/dhcp/dhcpd.conf

Tambahkan konfigurasi berikut:

subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.10 192.168.100.50;
  option routers 192.168.100.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Konfigurasi di atas menentukan rentang IP, gateway, dan DNS yang akan diberikan kepada client.

d. Atur IP Statis pada Interface Internal (Ubuntu)

$ sudo vim /etc/netplan/01-netcfg.yaml

Contoh konfigurasi:

network:
  version: 2
  ethernets:
    enp0s8:
      dhcp4: no
      addresses: [192.168.100.1/24]
$ sudo netplan apply
IP statis diperlukan agar DHCP server tahu dari interface mana ia akan membagikan alamat IP.

e. Jalankan dan Aktifkan DHCP Server

$ sudo systemctl restart isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server
Pastikan DHCP server berjalan dan aktif secara otomatis saat booting.

2. Konfigurasi Alpine Linux sebagai DHCP Client

Edit File Konfigurasi Jaringan

$ vi /etc/network/interfaces

Ubah menjadi:

auto eth0
iface eth0 inet dhcp

Restart Jaringan di Alpine

$ /etc/init.d/networking restart
Perintah ini akan meminta IP baru dari DHCP Server (Ubuntu).

3. Tes Koneksi dari Alpine Linux

Cek IP Address

$ ip a
Pastikan Alpine mendapat IP dari rentang 192.168.100.10 - 192.168.100.50.

Ping ke Gateway (Ubuntu)

$ ping 192.168.100.1

Ping ke Internet (jika ada NAT)

$ ping 8.8.8.8
Jika berhasil ping ke internet, berarti DHCP dan NAT sudah berjalan dengan benar.

TMA 5.4: Konfigurasi DHCP Server di Alma Linux

1. Install & Konfigurasi DHCP Server di AlmaLinux

a. Instal Paket DHCP

$ sudo dnf install dhcp-server -y
Menginstal layanan DHCP di AlmaLinux agar dapat memberikan IP dinamis kepada klien di jaringan.

b. Tentukan Interface DHCP

$ sudo vim /etc/sysconfig/dhcpd

Tambahkan baris berikut (ganti enp0s8 dengan nama interface internal kamu):

DHCPDARGS=enp0s8
Ini memberi tahu DHCP server untuk hanya aktif di interface enp0s8 (jaringan internal).

c. Konfigurasi DHCP

$ sudo vim /etc/dhcp/dhcpd.conf

Tambahkan konfigurasi subnet seperti berikut:

subnet 11.11.21.0 netmask 255.255.255.0 {
  range 11.11.21.10 11.11.21.50;
  option routers 11.11.21.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}
Konfigurasi ini menentukan jaringan, rentang IP yang diberikan, gateway, dan DNS server.

d. Atur IP Statis di Interface Internal

$ nmtui

Pilih interface enp0s8 → Edit → Ubah IPv4 ke Manual → Isi:

Address: 11.11.21.1
Netmask: 255.255.255.0
Gateway: -
$ sudo systemctl restart NetworkManager
Memberikan IP statis ke interface internal agar DHCP server dapat berjalan di atasnya.

e. Aktifkan dan Jalankan DHCP Server

$ sudo systemctl enable dhcpd
$ sudo systemctl start dhcpd
Menjalankan dan mengaktifkan DHCP server agar aktif saat boot.

2. Konfigurasi Alpine Linux sebagai DHCP Client

Edit Konfigurasi Jaringan

$ vi /etc/network/interfaces

Isi konfigurasi berikut:

auto eth0
iface eth0 inet dhcp
Mengatur agar Alpine secara otomatis meminta IP dari DHCP saat boot.

Restart Jaringan

$ /etc/init.d/networking restart
Restart jaringan agar perubahan diterapkan dan DHCP client aktif.

3. Tes Koneksi dari Alpine Linux

Cek IP Address

$ ip a
Pastikan Alpine mendapatkan IP dari rentang 11.11.21.10 - 11.11.21.50.

Ping ke DHCP Server

$ ping 11.11.21.1

Ping DNS Google (Uji NAT)

$ ping 8.8.8.8
Jika Alpine bisa ping ke Google DNS, berarti koneksi NAT dan DHCP berjalan dengan baik.