Kita bisa memproteksi konten yang ada di web kita agar hanya boleh diakses oleh user tertentu, caranya dengan menggunakan basic auth, berikut konfigurasinya
Basic Auth
Disini saya ingin memproteksi konten yang ada di /var/www/html/auth. Konfigurasi dibawah ini berisi direktori yang ingin di proteksi kemudian ada tipe autentikasi dan lokasi file user untuk autentikasi
vim /etc/httpd/conf.d/basic-auth.conf
.....
<Directory /var/www/html/auth>
AuthType Basic
AuthName "Basic Auth SysIDN"
AuthUserFile /etc/httpd/.htpasswd
require valid-user
</Directory>
.....
Selanjutnya kita membuat user untuk autentikasi
Kita definisikan dulu lokasi file .htpasswdnya kemudian baru nama user & masukkan password untuk user
htpasswd -c /etc/httpd/.htpasswd yudi
New password: MasukkanPassword
Re-type new password: MasukkanPassword
Adding password for user yudi
Lalu kita buat direktori konten yang ada di /var/www/html/
mkdir /var/www/html/auth
echo "<html> <h1> Selamat datang di Basic Auth SysIDN(Hanya user yang terdaftar yang bisa mengakses halaman ini)</h1> </html>" > /var/www/html/auth/index.html
Terakhir restart layanan Apache
systemctl restart httpd
Melakukan pengetesan di klien

Percobaan jika memasukkan user yang salah

Basic Auth + PAM
Tadi kita memproteksi konten dengan user yang kita buat di file .htpasswd, kali ini kita akan membuat autentikasi dengan menggunaka user yang ada di server/user yang ada di sistem operasi.
Sebelum melakukan installasi kita perlu menggunakan repository EPEL untuk cara mengaktifkan repository EPEL di RHEL/Centos 7 bisa mengikuti cara di website ini
Install Module PWAuth
yum -y install mod_authnz_external pwauth
Selanjutnya buat file konfigurasi di apache, konfigurasinya mirip seperti tadi dengan sedikit perbedaan di provider autentikasi yang menggunakan pwauth
vim /etc/httpd/conf.d/auth-pam.conf
.....
<Directory /var/www/html/auth-pam>
AuthType Basic
AuthName "PAM Auth SysIDN"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>
.....
Kemudian kita buat direktori dan kontennya
mkdir /var/www/html/auth-pam
echo "<html> <h1> Selamat datang di PAM Auth SysIDN(Menggunakan user yang ada di OS untuk autentikasi)</h1> </html>" > /var/www/html/auth-pam/index.html
Tahap terakhir, restart layanan Apache
systemctl restart httpd
Sebelum melakukan pengetesan kita buat user baru terlebih dahulu, misal disini saya membuat user febri
adduser febri
passwd febri
Changing password for user febri.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Pengetesan di klien
