Panduan Linux

Tutorial Build dari Source NGINX dengan Modul Tambahan

Halo, teman-teman! Kali ini kita bakal ngomongin tentang cara build NGINX dari source code dengan modul tambahan. Buat yang belum tau, NGINX itu web server keren yang bisa dipake buat nge-host website, reverse proxy, load balancer, dan banyak lagi. Nah, kalo kita build dari source, kita bisa nambahin modul-modul keren yang gak ada di versi standar. Yuk, langsung aja kita mulai!

1. Siapin Dulu Semua yang Dibutuhin

Pertama-tama, pastiin dulu kita punya semua tools yang dibutuhin. Biasanya, kita butuh gcc, make, dan beberapa library lain. Kalo di Ubuntu, kita bisa install pake perintah ini:

sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

2. Download Source Code NGINX

Langkah selanjutnya, download source code NGINX dari situs resminya. Bisa pake wget atau langsung download dari browser. Misalnya, kita mau download versi 1.25.1:

wget https://nginx.org/download/nginx-1.25.1.tar.gz

Setelah itu, ekstrak file-nya:

tar -zxvf nginx-1.25.1.tar.gz

3. Pilih Modul Tambahan

Nah, ini bagian yang seru! Kita bisa nambahin modul tambahan sesuai kebutuhan. Misalnya, kita mau nambahin modul ngx_http_geoip2_module buat nge-filter traffic berdasarkan lokasi geografis. Download dulu source code modulnya:

wget https://github.com/leev/ngx_http_geoip2_module/archive/refs/heads/master.zip
unzip master.zip

4. Konfigurasi Build

Masuk ke direktori NGINX yang udah diekstrak tadi:

cd nginx-1.25.1

Lalu, jalankan perintah configure dengan opsi yang kita butuhin. Jangan lupa tambahin path ke modul tambahan tadi:

./configure --with-http_ssl_module --add-module=../ngx_http_geoip2_module-master

Kalo mau nambahin modul lain, tinggal tambahin aja di bagian --add-module. Misalnya, kalo mau nambahin modul headers-more:

./configure --with-http_ssl_module --add-module=../ngx_http_geoip2_module-master --add-module=../headers-more-nginx-module

5. Build dan Install

Setelah konfigurasi selesai, saatnya build dan install NGINX:

make
sudo make install

Proses ini mungkin bakal makan waktu beberapa menit, tergantung spek komputer kita. Sabar ya!

6. Cek Hasilnya

Setelah selesai, kita bisa cek apakah NGINX udah terinstall dengan bener. Jalankan perintah:

sudo /usr/local/nginx/sbin/nginx -v

Kalo keluar versi NGINX, berarti udah berhasil! Selanjutnya, kita bisa mulai konfigurasi NGINX sesuai kebutuhan.

7. Jalankan NGINX

Untuk menjalankan NGINX, pake perintah:

sudo /usr/local/nginx/sbin/nginx

Kalo mau stop, pake perintah:

sudo /usr/local/nginx/sbin/nginx -s stop

8. Konfigurasi Modul Tambahan

Setelah NGINX berjalan, jangan lupa konfigurasi modul tambahan yang udah kita install. Misalnya, buat modul ngx_http_geoip2_module, kita perlu nambahin konfigurasi di file nginx.conf. Contohnya:

http {
    geoip2 /path/to/GeoLite2-Country.mmdb {
        $geoip2_data_country_code country iso_code;
    }

    server {
        location / {
            if ($geoip2_data_country_code = ID) {
                return 403;
            }
        }
    }
}

Pastiin file database GeoIP2 udah didownload dan disimpen di path yang benar.

9. Restart NGINX

Setelah nambahin konfigurasi, jangan lupa restart NGINX biar perubahan berlaku:

sudo /usr/local/nginx/sbin/nginx -s reload

10. Selesai!

Nah, gampang kan? Sekarang kita udah punya NGINX dengan modul tambahan yang bisa dipake buat berbagai keperluan. Selamat mencoba dan semoga berhasil!

#Nginx #Tutorial