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.