Autentikasi User di Apache2

Pernah lihat situs yang begitu diakses, ada popup yang meminta inputan user dan password? Bukan menggunakan HTML Form layaknya situs-situs seperti gmail atau facebook, karena sebelum komponen web didownload client, popup ini sudah muncul terlebih dahulu.

Autentikasi user semacam ini adalah fitur dari web server untuk memproteksi beberapa direktori agar tidak diakses sembarangan orang. Berikut tutorial autentikasi user yang digunakan oleh apache2.

1. Buka terminal dan masuk sebagai admin.

2. Gunakan perintah dibawah untuk membuat suatu file database autentikasi, diikuti berisi user pertama dan passwordnya

htpasswd -c -b /etc/apache2/users alvin pass1

3. Berikutnya tambah user kedua dan seterusnya. Ingat, yang jangan gunakan parameter -c lagi, atau database autentikasi akan tertimpa semua

htpasswd -b /etc/apache2/users asyifa pass2
htpasswd -b /etc/apache2/users user3 pass3

4. Jika ingin mereplace password sebuah user, gunakan perintah:

htpasswd -b /etc/apache2/users asyifa passBaru

5. Sekarang tentukan direktori yang akan diproteksi, contoh direktori /var/www/secret. Edit file /etc/apache2/sites-available/default. Tambahkan baris berikut setelah konfigurasi <directory /var/www>

 <Directory /var/www/secret> 
          AuthName "Confidential"
          AuthType Basic
          AuthUserFile /etc/apache2/users
          Require valid-user
 </Directory>




Untuk yang masih bingung atau ragu ditaruh dimana, hasil akhirnya kurang lebih jadi seperti ini

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        <Directory /var/www/secret>
                AuthName "Confidential"
                AuthType Basic
                AuthUserFile /etc/apache2/users
                require valid-user
        </Directory>



        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
 ...

6. Coba reset service apache, akses 127.0.0.1/secret. Maka akan diminta autentikasi user dan password

* Jika sudah pernah benar memasukkan autentikasi, coba refresh halaman. Pada beberapa web browser tidak akan diminta autentikasi lagi. Jangan takut, ini karena data autentikasi tersimpan dalam cache web browser. Tinggal clear history saja, maka popup autentikasi akan kembali muncul.

Comments