Saat kita mempublikasikan website maka semua orang tentu juga bisa mengaksesnya. Namun terkadang kita menginginkan website kita hanya bisa diakses oleh kita sendiri atau orang-orang tertentu saja. Maka konfigurasi kali ini adalah tentang bagaimana saat website kita dibuka maka akan muncul autentikasi username dan password untuk dapat mengaksesnya.
Persiapan Sebelum Konfigurasi
Saat konfigurasi ini kami menggunakan OS debian 7 32bit dengan webserver nginx + php5-fpm.
Tahap 1: Install HTPASSWD
Untuk tahap pertama kita perlu menginstall modul htpasswd untuk membuat dan mengenkripsi .
1 |
sudo apt-get install apache2-utils |
Tahap 2: Membuat User dan Password
Kita akan menggunakan htpasswd untuk membuat file yang akan menyimpan user dan password kita dengan nama file : pass. Dan file tersebut kita letakkan di folder /etc/nginx
1 |
sudo htpasswd -c /etc/nginx/pass <span style="color: #ff0000;">contohuser</span> |
lalu akan muncul permintaan untuk mengisi password seperti di bawah ini
1 2 3 |
New password: Re-type new password: Adding password for user <span style="color: #ff0000;">contohuser</span> |
Jika kita lihat isi dari file pass, maka structure akan seperti ini
1 |
<span style="color: #ff0000;">contohuser</span>:<span style="color: #0000ff;">passwordkamu</span> |
Tahap 3: Konfigurasi NGINX
Setelah konfigurasi di atas, kita perlu menambahkan dua baris berikut di virtual host nginx :
1 2 |
auth_basic "Restricted"; auth_basic_user_file /etc/nginx/pass; |
Misal file virtual host kita adalah /etc/nginx/site-available/websiteku.conf. Lalu kita edit file tersebut dengan menggunakan vi,vim atau nano.
1 |
vim /etc/nginx/site-available/websiteku.conf |
lalu kita tambahkan 2 baris perintah di atas:
1 2 3 4 5 6 7 8 9 10 11 |
server { listen portnumber; server_name ip_address; location / { root /var/www/mywebsite.com; index index.html index.htm; #BASIC AUTH auth_basic "Restricted"; auth_basic_user_file /etc/nginx/pass; } } |
jangan lupa simpan hasil konfigurasi tadi sebelum keluar.
Tahap 4: Reload NGINX
Agar konfigurasi bisa langsung berjalan kita perlu me-reload nginx:
1 2 3 4 5 6 7 |
sudo /etc/init.d/nginx reload * Reloading nginx configuration... ATAU sudo service nginx reload * Reloading nginx configuration... |
Sekarang coba akses website anda. Seharusnya prompt permintaan mengisi username dan password akan muncul saat anda mencoba mengakses. Selamat Mencoba
(rh)