Mengatur hak akses folder di web server apache

Pada tulisan ini saya akan membahas bagaimana mengatur hak akses folder web yang bisa diakses pada web server Apache. Untuk contoh kasusnya, saya misalkan anda memiliki sebuah web server yang didalamnya terdapat aplikasi berbasis web yang dapat diakses secara lokal seperti yang di ilustrasikan pada gambar di bawah ini:

Web apps tadi dapat diakses melalui alamat 192.168.0.1/apps/ , akan tetapi karena suatu alasan, anda ingin web apps tersebut hanya bisa diakses dari klien dengan alamat IP 192.168.0.254 saja. Web server apache menyediakan fitur pemilahan hak akses folder yang dapat diakses melalui apache berdasarkan IP.

Berikut langkah-langkahnya:

Silakan buka terminal dan jalankan perintah:

 sudo vim /etc/apache2/site-available/default 

kemudian tambahkan script di bawah:

 <Directory "/var/www/apps/">  
     Options MultiViews FollowSymLinks  
     AllowOverride None  
     Order deny,allow  
     Allow from 192.168.0.254  
     Deny from 192.168.0.10  
   </Directory>  
  
simpan lalu silakan restart web service anda dengan menjalankan perintah:

 sudo service apache2 restart 

Lalu silakan anda test akses dari klien dengan IP yang di "deny" tadi, jika anda mendapatkan halaman forbidden, maka anda telah berhasil setengah jalan. Kemudian silakan coba lagi melalui IP yang di "allow" untuk mengakses web apps tadi, apabila anda berhasil mengaksesnya, maka anda sudah berhasil melakukan pembedaan hak akses folder di web server apache.

Kenapa saya menggunakan fitur di web server apache ketimbang melalui iptables? karena jika melakukan blok akses melalui iptables, ada kemungkinan seluruh layanan yang terdapat di  web server apache tertutup seluruhnya. Jadi solusi ini memungkinkan layanan web server apache yang lain (selain 192.168.0.1/apps/) tetap dapat diakses oleh IP yang lain.