Setting Server NGINX Reverse Proxy dengan APACHE2
Untuk server linux bisa langsung apt install fish terlebih dulu untuk keperluan smart terminal. Informasi terkait fish bisa dilihat di fishshell.com .
Install NGINX dengan perintah: apt install nginx
Install APACHE2 dengan perintah: apt install apache2
Karena kita mau menggunakan wordpress, maka perlu install database mysql dengan perintah : apt install mariadb-server. Untuk membuat user gunakan perintah CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';. Sedangkan untuk memberikan akses dengan perintah GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost';
Untuk manajemen database bisa menggunakan phpmyadmin dan dapat diinstall dengan perintah: apt install phpmyadmin. Tambahkan kode "Include /etc/phpmyadmin/apache.conf" di akhir file /etc/apache2/apache2.conf . Referensi https://askubuntu.com/questions/55280/phpmyadmin-is-not-working-after-i-installed-it .
Tambahkan settingan user password tambahan pada .htaccess sesuai petunjuk di https://stackoverflow.com/questions/38502439/how-to-secure-phpmyadmin-access-through-htaccess
Informasi terkait cara setting reverse proxy bisa dicek di website resmi https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ .
Pada file /etc/nginx/sites-available/default.com rubah settingan pada bagian location / seperti dibawah ini:
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
Keterangan:
- proxy_pass diarahkan ke domain localhost dengan port 8000 yang kita setting di apache2 web server
- Kode # try_files $uri $uri/ =404; kita jadikan komentar karena tidak dipakai
Jika menggunakan SSL maka perlu menambahkan settingan berikut ini di bawah kode listen 80:
listen 80;
listen 443 default_server ssl;
ssl_certificate /etc/nginx/ssl/file.crt;
ssl_certificate_key /etc/nginx/ssl/file.key;
Keterangan:
- listen 443 default_server ssl; menandakan kalau port 443 kita setting dengan SSL
- Jika file .crt terdapat dua atau lebih sertifikat dengan intermediate chain. Maka kita perlu menggabungkan dulu file .crt nya menjadi satu file.
Tambahkan settingan "$_SERVER['HTTPS'] = 'on';" pada file wp-config.php agar terhindar dari error to many redirect akibat settingan ssl di server nginx.
Jika terdapat error 413 Request Entity Too Large pada server nginx, maka perlu disesusikan variabel client_max_body_size 50M; yang ada di file /etc/nginx/nginx.conf sesuai kebutuhan. Referensi: https://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/ .
Catatan:
- Referensi gambar dari https://www.freepik.com/free-vector/server-concept-illustration_5357389.htm
Komentar
Posting Komentar