Friday, May 5, 2017

[CentOS 7] LAB 8.14 Konfigurasi UserDir (Nginx Web Server)

Assalamuallaikum 
WarahmatullahiWabarakatuh.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Selamat pagi semua, ketemu lagi dengan ane. Pada kesempatan kali ini ane mau sharing lagi, kalau sebelumnya ane pernah sharing mengenai konfigurasi userdir menggunakan apache disini, nah sedangkan pada kesempatan kali ini ane mau sharing lagi mengenai konfigurasi yang sama, tetapi sekarang ane menggunakan nginx (Engine X) bukan menggunakan apache.


UserDir ini biasa nya digunakan untuk para reseller hosting untuk membuat user dan directory nya sekaligus, jadi reseller tidak perlu repot - repot lagi untuk membuat satu persatu. Dengan UserDir ini kita bisa membuat atau menambahkan user baru sekaligus dengan Directory yang akan digunakan user tersebut.

Untuk topologi yang ane gunakan masih sama, yaitu sebagai berikut.


Konfigurasi Server

1.) Buat user baru, dengan menjalankan perintah 
useradd rizky
passwd rizky
Disini user yang ane buat namanya "rizky".


2.) Buka file vhost.conf yang terletak di directory /etc/nginx/conf.d/. Nantinya file vhost.conf ini akan diedit untuk membuat userdirnya. Untuk membuka file vhost.conf, jalankan perintah 
nano /etc/nginx/conf.d/ vhost.conf


3.) Kemudian tambahkan script seperti gambar diatas yang diberi blok warna hijau, script tersebut digunakan untuk membuat userdirnya. Disini ane menambahkan di bawah domain yang www.adrizky.net.
Ket :
  • location ~ ^/~(.+?)(/.*)?$ : Untuk menambahkan directory home suatu user agar dapat diakses pada web. Untuk mengakses web userdir, kita harus mengetikkan http://domain/~user/. ^/~(.+?)(/.*)?$ merupakan Regular Expressions atau yang biasa dikenal dengan sebutan REGEX yang menunjukkan sebuah user, jadi ^/~(.+?)(/.*)?$ merupakan bahasa REGEX yaa.
  • alias /home/$1/public_html$2 : Sebagai pengganti lokasi yang ditentukan, jadi alias yang disini berguna untuk menggantikan konten dari directory yang seharusnya diletakkan di ~user menjadi di /home/$1/public_html$2. $1 disitu menunjukkan semua user yang ada pada server, sedangkan untuk public_html, itu merupakan direktori didalam /home/user.
  • index index.html index.htm : Mengindikasikan bahwa file yang dapat dibaca oleh web server yang memiliki ekstensi index index.html dan index.htm
  • autoindex on : Module yang digunakan untuk memproses semua yang berakhiran dari karakter slash ('/')



4.) Restart nginxnya supaya dapat berjalan dengan baik, jalanka perintah
systemctl restar nginx


5.) Buat directory untuk si userdirnya, untuk menyimpan file user /rizky/ ane membuat directory baru yaitu public_html. Nanti public_html inilah yang digunakan untuk menyimpan file web user rizky tersebut. Jalankan perintah
mkdir /home/rizky/public_html


6.) Kemudian chmod atau Change Mode directory user yaitu /home/rizky/. Jalankan perintah
chmod 711 /home/rizky/
Ket :

  • chmod 711 = rwx--x--x : Digunakan untuk membaca, menulis dan mengeksekusi file/directory. Semua user di group dapat melakukan tindakan execute tapi tidak dapat membaca dan menulis file/directory. Semua user bukan group sahabat dapat melakukan execute tapi tidak dapat membaca dan menulis file/ direktory. 




7.) Selanjutnya kita kasih permission, karena kita membuat directorynya di root maka kita harus memberikan permission sesuai dengan nama usernya. Apabila kita tidak memberikan permission sesuai dengan usernya, maka si user tidak akan dapat menaruh file. Jalankan perintah
chown rizky:rizky /home/rizky/public_html/


8.) Kemudian kita chmod Change Mode lagi pada /home/rizky/public_html/. Jalankan Perintah
chmod 755 /home/rizky/public_html/
Ket : 
  • chmod 755 = rwxr-xr-x : Hanya owner yang dapat membaca,menulis serta mengeksekusinya dan group serta othernya hanya dapat membaca dan eksekusi namun tidak mempunyai hak untuk menulis. 


9.) Kemudian kita chcon directory /home/rizky/public_html/ nya. Jalankan perintah
chcon -R -t httpd_sys_content_t /home/rizky/public_html/
Ket : 
  • chcon -R -t httpd_sys_content_t /home/rizky/public_html/ : Digunakan untuk mengubah selinux security context terhadap directory /home/rizky/public_html/ secara keseluruhan agar dapat diakses oleh http sebagai direktori yang berisi konten web.



10.) Setelah itu masuk dan edit file index.html nya. Jalankan perintah
nano /home/rizky/public_html/index.html


11.) Edit dan isi sesuia dengan keinginan anda, isi dari file ini lah yang akan menampilan isi website yang akan diakses nantinya.


12.) Kemudian chmod atau Change Mode file index.html nya. Jalankan perintah
chmod 644 /home/rizky/public_html/index.html
Ket :

  • chmod 644 = rw-r--r-- : Pemilik memiliki hak akses baca dan tulis sedangkan orang lain hanya dapat membaca saja




13.) Selanjutnya atur selinux supaya client dapat diizinkan untuk mengakses userdirnya. Jalankan perintah
setsebool -P httpd_enable_homedirs true

Verifikasi Client 

1.) Buka Web Browser dan coba akses www.darsammania.co.id/~rizky/
Ket :

  • www.adrizky.net : Nama domain yang digunakan
  • ~rizky/ : Nama user yang tadi dibuat

Seperti itulah cara untuk membuat userdir menggunakan nginx, memang menggunakan nginx ini sedikit lebih rumit. Karena yang digunakan nginx ini adalah bahasa REGEX. Dan mungkin hanya itu yang dapat ane sharing, mohon maaf bila banyak salah dan kekurangan baik dari segi kata dan penulisan.

Terima Kasih. Semoga Bermanfaat. 

Wassalamuallaikum Warahmatullahi Wabarakatuh.

 وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

0 komentar:

Post a Comment