Panduan Linux

Panduan Migrasi Apache ke NGINX

Halo, teman-teman! Kalian pengguna Apache yang pengen migrasi ke NGINX? Tenang, gak usah bingung! Di sini, gue bakal kasih panduan migrasi Apache ke NGINX yang simpel dan mudah diikuti. NGINX itu keren banget, lho! Bisa nge-handle traffic tinggi dengan lebih efisien. Yuk, langsung aja kita mulai!

1. Kenapa Harus Migrasi ke NGINX?

Sebelum mulai migrasi, gue kasih tau dulu nih kenapa NGINX itu worth it:

2. Instalasi NGINX

Pertama-tama, pastiin dulu NGINX udah terinstall di server kalian. Kalau belum, install dulu dengan perintah berikut:

sudo apt update
sudo apt install nginx

Setelah itu, cek status NGINX:

sudo systemctl status nginx

Kalau udah running, berarti NGINX siap dipake!

3. Konfigurasi NGINX

NGINX punya file konfigurasi utama di /etc/nginx/nginx.conf. Tapi, biasanya kita bakal lebih sering ngutak-ngatik file konfigurasi di /etc/nginx/sites-available/.

Buat file konfigurasi baru untuk website kalian:

sudo nano /etc/nginx/sites-available/namadomain.com

Isi file konfigurasi dengan contoh berikut:

server {
    listen 80;
    server_name namadomain.com www.namadomain.com;

    root /var/www/namadomain.com;
    index index.html index.htm index.php;

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

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

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

Jangan lupa ganti namadomain.com dengan domain kalian dan pastikan path root-nya sesuai.

4. Aktifkan Konfigurasi

Setelah bikin file konfigurasi, aktifkan dengan cara:

sudo ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/

Terus, test konfigurasi NGINX:

sudo nginx -t

Kalau gak ada error, restart NGINX:

sudo systemctl restart nginx

5. Migrasi .htaccess ke NGINX

Nah, ini nih yang sering bikin pusing. Kalau di Apache, kita biasa pake .htaccess buat aturan rewrite dan lainnya. Di NGINX, gak ada .htaccess, jadi semua aturan harus dimasukin ke file konfigurasi.

Contoh, kalau di .htaccess kalian ada:

RewriteEngine On
RewriteRule ^blog/(.*)$ /blog.php?id=$1 [L]

Di NGINX, konversinya jadi:

location /blog/ {
    rewrite ^/blog/(.*)$ /blog.php?id=$1 last;
}

6. Aturan Redirect

Kalau di Apache, redirect biasanya pake Redirect atau RewriteRule. Di NGINX, kita bisa pake return atau rewrite.

Contoh redirect di Apache:

Redirect 301 /oldpage.html http://www.namadomain.com/newpage.html

Di NGINX:

location = /oldpage.html {
    return 301 http://www.namadomain.com/newpage.html;
}

7. SSL/TLS Configuration

Kalau website kalian pake SSL/TLS, jangan lupa konfigurasi di NGINX. Kalau udah punya sertifikat dari Apache, tinggal pake aja.

Contoh konfigurasi SSL di NGINX:

server {
    listen 443 ssl;
    server_name namadomain.com www.namadomain.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;

    # ... konfigurasi lainnya ...
}

8. Testing dan Monitoring

Setelah semua konfigurasi selesai, jangan lupa test website kalian. Pastiin semua halaman bisa diakses dengan baik dan gak ada error. Kalau perlu, monitor log NGINX di /var/log/nginx/error.log buat cek kalo ada masalah.

9. Disable Apache

Kalau udah yakin semua berjalan lancar dengan NGINX, kalian bisa disable Apache:

sudo systemctl stop apache2
sudo systemctl disable apache2

Tapi, pastiin dulu NGINX udah running dengan baik ya!

Nah, gimana? Gak susah kan migrasi dari Apache ke NGINX? Dengan NGINX, website kalian bakal lebih cepat dan hemat resource. Selamat mencoba!

#Nginx #Apache2 #Tutorial