{CentOS 7} {LAB 8.15} Enable Basic Authentication in Nginx

8:31:00 AM , 0 Comments

Assalamualaikum wr wb

Pada kesempatan kali ini saya akan menjelaskan tentang Mengaktifkan Autentikasi basic. Basic Authentication ini nantinya jika ada yang mengakses web server anda maka mereka harus login terlebih dahulu sesuai dengan user yang anda seting pada server. Pastinya tidak sembarang orang yang dapat mengakses web server anda melainkan hanya orang yang mendapat hak akses dari anda.
Basic Authentication ini bisa dijalankan pada web http maupun https.

Topologi

Addressing

Windows 10 Pandutama  : IP Address 105.105.105.155/24 DNS Server 105.105.105.105Web Server CentOS7       : IP Address 105.105.105.105/24 DNS Server 105.105.105.105

Konfigurasi Server 

1) Pertama kita akan menginstall httpd-tools terlebih dahulu, mengapa httpd? ini difungsikan agar dapat membuka firewall httpd.
yum install -y httpd-tools

Pastikan penginstallan httpd-tools berjalan dengan baik sampai selesai.

2) Konfigurasi auth basic ini dapat diletakan pada file userdir maupun vhost, kali ini saya membuatnya didalam file vhost.conf karena saya hanya membuat basic auth ini untuk domain www.pandutama.net saja.
nano /etc/nginx/conf.d/vhost.conf

3) Pada script yang sudah saya berikut tulisan warna kuning, itu adalah script untuk basic auth nya, pastikan script auth basic berada pada block location.

 Penjelasan :
auth_basic "Basic Auth" Maksudnya adalah untuk mengaktifkan autentikasi basic dengan string "Basic Auth" 
auth_basic_user_file "/etc/nginx/.htpasswd" berguna untuk  mendefinisikan dimana tempat file yang berisi list user dan password yang diizinkan untuk mengakses web dengan autentikasi. Disini saya mengaturnya pada /etc/nginx/.htpasswd 
location /auth-basic berguna untuk mengkonfigurasi sebuah subdirektori website. Hanya sebuah subdirektori tersebut saja, yang lainnya tidak terpengaruh atas konfigurasi ini. Misalnya disini saya mengkonfigurasi direktori /auth-basic 
root /usr/share/nginx/pandutama adalah root direktori pada suatu website. Misalnya disini direktori root yang berisi konten website saya ada di /usr/share/nginx/pandutama

4) Kemudian restart service nginx agar konfigurasi diatas berjalan dengan baik.
systemctl restart nginx 

5) Selanjutnya kita akan membuat user nya, yang nantinya kita gunakan untuk login pada autentikasi di web server kita.
htpasswd -c /etc/httpd/conf/.htpasswd pandu
Penjelasan :
httpasswd adalah perintah untuk membuat password nya
-c itu artinya "create"
/etc/httpd/conf/htpasswd adalah letak user auth nya.
pandu adalah username yang nantinya akan digunakan pada saat login auth
new password disini biasa masukan password untuk usernya.
6) Selanjutnya saya akan membuat folder auth-basic yang diperuntukan untuk penempatan file konfigurasi halaman web userdir.
mkdir /usr/share/nginx/pandtama/auth-basic/

7) Saya juga membuat file index.html didalam folder auth_basic. nah file index.html ini digunakan untuk membuat konfigurasi halaman web pada web userdir.
nano /etc/share/nginx/pandutama/auth-basic/index.html

8) Isikan file index.html sesuai dengan apa yang anda ingin tampilkan pada halaman web, atau anda bisa mengikuti script yang saya buat dibawah ini.


Verifikasi Client

1) Lakukan pengetesan basic auth pada client windows dengan mengakses web pada browser. Akses dengan cara mengetikan "domain/auth-basic/". Nantinya akan muncul autentikasi, Disanalah anda harus login dengan user yang sudah anda buat tadi. Untuk mengakses web auth nya, anda harus masuk dengan menambah nama folder setelah domain anda. Contoh
www.pandutama.net/auth-basic/

2) Berikut adalah tampilan web autentikasi anda, tampilan ini akan muncul setelah anda berhasil login pada autentikasi user.




Alhamdulilah semoga bermanfaat
Mohon maaf apabila terdapat kesalahan
Wassalamualaikum wr wb

Pandutama

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.

0 comments: