[CentOS 7] [8.14] Konfigurasi Usedir pada Nginx

Konfigurasi User Directory pada Web Server Nginx



Assalamu'alaikum Wr Wb

Hi, bertemu lagi dengan saya Dimas Trihandika selaku Admin dari blog ini yang pada kesempatan kali ini insyaallah akan posting tutorial konfigurasi Userdir pada Web Server Nginx.

Sebelumnya, apa fungsi Userdir?, Singkatnya Userdir ini berfungsi agar setiap user memiliki direktori web nya masing-masing.

Topology



Berikut cara konfigurasinya

Konfigurasi Server


1) Buat terlebih dahulu user beserta passwordnya yang dimana nantinya user ini akan mengakses directory webnya sendiri.
useradd "nama user"
passwd "user yang akan diberi password" 

2) Disini saya membuat userdir pada file konfigurasi virtual host yang saya buat pada directory /etc/nginx/conf.d/


3) Disini saya membuat userdir untuk domain www.dimastrihandika.org. Tambahkan script seperti yang sudah saya tandai warna biru pada gambar dibawah ini



  • location ~ ^/~(.+?)(/.*)?$ berfungsi untuk menambahkan directory home suatu user agar dapat diakses pada web. Diaksesnya dengan mengetikkan http://domain/~user/. ^/~(.+?)(/.*)?$ merupakan regular expressions atau yang biasa dikenal dengan sebutan REGEX yang menunjukkan sebuah user. 
  • /home/$1/public_html$2 berfungsi untuk pengganti lokasi yang ditentukan, jadi alias pada konfigurasi disini berguna untuk menggantikan konten dari direktori yang seharusnya diletakkan di ~user menjadi /home/$1/public_html$2. $1 disana menunjukkan semua user yang ada pada server, dan public_html merupakan direktori didalam /home/user. 
  • index index.html index.htm digunakan untuk mendefinisikan file index yang digunakan,
  • autoindex on merupakan module yang memproses yang berakhiran dari karakter slash ('/')

4) Restart service nginx agar konfigurasi yang baru berjalan
systemctl restart nginx

5) Lakukan beberapa perintah seperti gambar dibawah ini



  • mkdir /home/dimasth/public_html berfungsi untuk membuat directory public_html pada userdir
  • chmod 711 /home/dimasth/ ( owner: r-w-x, group: x. other: x) berfungsi untuk memberikan permission atau hak akses execute pada group dimasth dan other user. Jadi agar semua orang dapat melihat file yang merupakan konten dari userdir yang telah dieksekusi oleh httpd untuk ditampilkan menjadi konten web (hanya untuk direktori yang telah diberikan akses read terhadap other user).
  • chown dimasth:dimasth /home/dimasth/public_html/ berfungsi untuk mengatur ownership atau kepemilikan terhadap directory /home/dimasth/public_html/ pada user dan group dimasth
  • chmod 755 /home/dimasth/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 service httpd untuk melayani request userdir.
  • chcon -R -t httpd_sys_content_t /home/dimasth/public_html/ digunakan untuk mengubah selinux security context terhadap direktori /home/dimasth/public_html secra recursive atau keseluruhan agar dapat diakses http sebagai direktori yang berisi konten website.

6) Buat file index di dalam directory yang sudah di buat dan sudah di konfigurasi sedemikian rupa tadi
nano /.../index.html


7) Edit file index yang nantinya digunakan sebagai konten halaman web


8) Beri permision rw-r-r dengan octal 644 untuk file index yang sudah dibuat tadi



9) Atur selinux boelan agar client diizinkan untuk mengakses userdir
setsebool -P httpd_enable_homedirs true

Verifikasi Client


1) Lakukan pengetesan pada Web Browser client dengan mengetikan nama domain dan diikuti dengan nama user yang telah dibuat




Saya tutup, sekian dan semoga bermanfaat..

Comments