Assalamu'alaikum warahmatullah wabarakatuh
Balik lagi sama ane niicchhh,, tsaahhh. Kali ini ane mau share nih cara Enable UserDir di NginX centos 7. Saya menggunakan domain www.networknjay.com dengan IP 172.16.11.115.
Balik lagi ke userdir. Userdir digunakan ketika kita ingin memberikan akses pada user untuk me request web server. Tapi Request tersebut juga dibarengi oleh user yang telah server berikan. "JADI YA KAYAK LOGIN GITU. LU DAPET USER APA, YA DAPETT NYA ITU".
Menggunakan Nginx, mari kita oprekkk thiisss serveeerrrr !!!
Konfigurasi Server
Berikut topologinyaahhhh
Buat user untuk basic-auth kita ini.
useradd anjay
passwd anjay
passwd anjay
kita edit dikit di conf.d dari nginx nya.
nano /etc/nginx/conf.d/direktoriuser.conf
Saya akan menggunakan domain "www.networknjay.com". Lalu tambahkan script berikut..Keterangan :
- location ~ ^/~.. adalah sintak bahasa REGEX. Adalah sebuah sintak agar user yang diberikan dapat mengakses usernya tersebut. Dan AdminServer tidak perlu lagi menambah skrip atau sintak lain bila ada user yang tergabung lagi.
- /home/$1/public_html$2 adalah sintak REGEX yang akan dengan otomatis membaca sebuah knfigurasi berdasarkan sintak utama REGEX pada file tersebut. Dan public_html itu adalah isi dari web server yang akan user request.
- index index.html index.htm adalah sintak agar nginx membaca secara otomatis laman utama atau index dari web server tersebut.
- autoindex on adalah sintak yang berfungsi agar web server membaca file secara penuh pada direktori /public_html
Lalu kita restart nginx. KALAU GAK ADA YANG TIPO, MAKA TIDAK AKAN MUNCUL "FAILED".
systemctl restart nginx
Lalu buat direktori untuk user auth-basic nya. SESUAIKAN DENGAN YANG KONFIGURASI NGINX SEBELUMNYA. Pastikan juga public_html
mkdir /home/anjay/public_html
Kita kasih permissions yang ulala untuk User Auth-Basic nya. Pastikan pada direktori /home/ihsan/public_html itu kosong.
chmod 755 ~/public_html
chown anjay:anjay /home/anjay/public_html/
chmod 711 /home/anjay/
chcon -R -t httpd_sys_content_t /home/anjay /public_html/
- chmod 711 /home/ishan/ (owner: r-w-x, group: x. other: x) berfungsi untuk memberikan hak akses pada group ivanfrost dan user lain. Jadii supaya semua orang bisa melihat file yang merupakan konten dari Web userdir yang sudah dieksekusi oleh httpd untuk ditampilkan menjadi konten web (hanya untuk direktori yang telah diberikan akses read terhadap user lain)
- chown anjay:anjay /home/anjay/public_html/ berguna untuk mengatur ownership atau kepemilikan terhadap direktori /home/anjay/public_html/ pada user dan group ivanfrost
- chmod 755 /home/anjay/public_html/ ( owner: r-w-x, group: r-x. other: r-x) berfungsi untuk memberikan permission atau hak akses read dan execute terhadap semua user. Direktori ini diberikan akses execute agar dapat di eksekusi oleh service httpd untuk melayani request dari userdir.
- chcon -R -t httpd_sys_content_t /home/anjay/public_html/ digunakan untuk mengubah selinux security context terhadap direktori /home/ivanfrost/public_html secara keseluruhan agar dapat diakses oleh http sebagai direktori yang berisi konten website.
Nah sekarang, kita buat index.html nyaahh...
nano /home/anjay/public_html/index.html
Lalu beri permissions 644 agar orang lain dapat mengakses index.html tanpa ditolak firewall.
chmod 644 /home/anjay/public_html/index.html
Dan tak lupa juga, kita tambahkan script berikut agar homedirs saat diakses, tidak ditolak oleh SELINUX. Karena ini menyangkut direktori utama yaitu "home".Ya jadi gak sembarangan lah bisa akses file ini.
setsebool -P http_enable_homedirs true
0 comments: