Cara Install Apache & Konfigurasi Nginx sebagai Reverse Proxy di AlmaLinux / CentOS
Pendahuluan
Nginx (dibaca engine-x) adalah web server ringan dan cepat yang dirancang untuk menangani banyak koneksi secara efisien. Selain berfungsi sebagai web server, Nginx juga sering digunakan sebagai reverse proxy, load balancer, dan caching server.
Reverse proxy sendiri adalah server perantara yang menerima permintaan dari pengguna, lalu meneruskannya ke server backend seperti Apache. Dengan peran ini, Nginx membantu meningkatkan performa dan pengelolaan server secara keseluruhan. Nginx mampu menyajikan file statis seperti gambar, CSS, dan JavaScript dengan lebih cepat, sekaligus menyembunyikan detail server backend dari akses langsung pengguna luar. Selain itu, konfigurasi reverse proxy juga memberi fleksibilitas lebih untuk pengaturan load balancing, SSL termination, dan optimasi trafik.
Secara sederhana, Nginx akan menerima semua permintaan dari internet, kemudian meneruskannya ke Apache yang bertugas menjalankan aplikasi PHP atau logika utama website. Dengan pembagian peran ini, masing-masing server dapat bekerja lebih optimal sesuai fungsinya.
Dalam pengelolaan server web modern, pendekatan seperti ini semakin banyak digunakan, terutama saat website mulai ramai diakses. Menempatkan Nginx sebagai reverse proxy di depan Apache terbukti mampu meningkatkan kecepatan akses, mengurangi beban Apache, dan menjaga stabilitas server saat menangani banyak koneksi secara bersamaan.
Pada panduan ini, kita akan menginstal Apache dan Nginx, lalu mengonfigurasi Nginx agar berfungsi sebagai reverse proxy yang meneruskan seluruh permintaan ke Apache. Pembahasan akan dimulai dari proses instalasi hingga pengujian, khusus untuk server berbasis AlmaLinux 8, Almalinux 9, CentOS 8 atau CentOS 9.
Persiapan Server
Sebelum memulai, pastikan:
- Server dengan OS AlmaLinux 8, Almalinux 9, CentOS 8 atau CentOS 9
- Akses root atau user dengan hak sudo
- Server sudah terkoneksi ke internet
Disarankan menggunakan Cloud VPS agar konfigurasi server lebih fleksibel dan bisa di-upgrade sesuai kebutuhan. Cloud VPS dari Plasawebhost mendukung penuh setup seperti ini dan cocok untuk kebutuhan website skala kecil hingga besar.
Install Apache
Langkah pertama adalah menginstal Apache (httpd) sebagai web server backend.
sudo dnf update -y
sudo dnf install httpd -y
Aktifkan dan jalankan Apache:
sudo systemctl enable httpd
sudo systemctl start httpd
Pastikan Apache berjalan dengan baik:
sudo systemctl status httpd
Jika statusnya active (running), berarti Apache sudah siap digunakan.
Ganti Port Apache agar Tidak Bentrok dengan Nginx
Secara default, Apache menggunakan port 80. Karena nantinya port 80 akan digunakan oleh Nginx, maka Apache perlu dipindahkan ke port lain, misalnya 8080.
Edit konfigurasi apache:
sudo vi /etc/httpd/conf/httpd.conf
Cari baris Listen 80 , ganti menjadi
Listen 8080
Lalu restart apache
sudo systemctl restart httpd
Dengan begitu, Apache hanya akan menerima request dari Nginx, bukan langsung dari pengunjung.
Install Nginx di AlmaLinux / CentOS
Pada AlmaLinux dan CentOS, Nginx tersedia melalui repository EPEL.
sudo dnf install epel-release -y
sudo dnf install nginx -y
Aktifkan dan jalankan Nginx:
sudo systemctl enable nginx
sudo systemctl start nginx
Cek status Nginx:
sudo systemctl status nginx
Konfigurasi Nginx Reverse Proxy
Selanjutnya kita akan mengatur Nginx agar meneruskan request ke Apache yang berjalan di port 8080.
Edit file konfigurasi Nginx default atau buat konfigurasi virtual host baru:
sudo vi /etc/nginx/conf.d/reverse-proxy.conf
konfigurasikan nginx untuk meneruskan permintaan ke apache dengan mengubah filenya pada bagian "server" seperti ini:
server {
listen 80;
server_name domain_anda.com;
# Konten statis langsung dilayani Nginx
location ~* \.(css|js|png|jpg|jpeg|gif|ico)$ {
root /var/www/html;
expires 30d;
access_log off;
}
# Forward request lain ke Apache backend
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 60s;
proxy_read_timeout 120s;
}
}
Penjelasan:
proxy_set_header: memastikan header klien tidak hilang saat diteruskan ke backend. belajarlinux.id
Menambahkan timeout bawaan untuk koneksi bisa membantu stabilitas pada trafik tinggi.
Ganti domainanda.com dengan domain atau IP server Anda. Konfigurasi ini memastikan seluruh request yang masuk ke Nginx akan diteruskan ke Apache secara aman dan konsisten.
Konfigurasi Firewall (Jika Aktif)
Jika server menggunakan firewalld, pastikan port HTTP dan HTTPS terbuka:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Tanpa langkah ini, website tidak akan bisa diakses dari luar server.
Uji Coba dan Restart Nginx
Uji coba konfigurasi dan restart Nginx
Sebelum anda melakukan Restart pastikan anda melakukan uji coba terlebih dahulu dengan menggunakan command line berikut:
sudo nginx -t
Jika tidak ada error maka tampilan akan terlihat seperti gambar

Jika tidak ada error lakukan restart pada Ngix
sudo systemctl restart nginx
Uji coba dengan Script PHP
- Install PHP
Install PHP dan berikan akses untuk Apache, gunakan command line berikut:
sudo dnf install php php-fpm -y sudo systemctl restart httpd - File document root
Buat file untuk uji coba php di dalam folder root apache, gunakan command line berikut:
sudo vim /var/www/html/test.phpIsi file seperti berikut:

-
Simpan dan Sekarang coba akses domain menggunakan browser anda
http://domain_anda.com/test.phpJika semuanya sudah benar maka akan tampil halaman dari PHP

Install SSL Let’s Encrypt (Optional)
Untuk penggunaan produksi, sangat disarankan menggunakan HTTPS.
Install Certbot:
sudo dnf install certbot python3-certbot-nginx -y
Lalu jalankan:
sudo certbot --nginx -d domainanda.com
Certbot akan mengatur SSL secara otomatis dan membuat website Anda lebih aman serta dipercaya oleh browser.
Kesimpulan
Menggunakan Nginx sebagai reverse proxy di depan Apache adalah solusi yang efektif untuk meningkatkan performa, stabilitas, dan keamanan server web. Arsitektur ini sangat cocok untuk website dinamis dan aplikasi berbasis PHP yang membutuhkan respon cepat dan koneksi stabil.
Dengan server yang tepat seperti Cloud VPS Plasawebhost, konfigurasi ini bisa dijalankan dengan lebih optimal, mudah di-upgrade, dan siap mendukung pertumbuhan website Anda ke depannya.
Jika Anda berencana menjalankan website sekolah, kampus, bisnis, atau aplikasi web dengan trafik tinggi, kombinasi Nginx dan Apache di Cloud VPS adalah pilihan yang sangat layak dipertimbangkan.


