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.
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
Post a Comment