Cara Mengaktifkan Modul Apache Userdir di RHEL/CentOS


Direktori Pengguna atau Userdir adalah modul Apache, yang memungkinkan direktori khusus pengguna diambil melalui server web Apache menggunakan http://example.com/ sintaksis ~pengguna/.

Misalnya, ketika modul mod_userdir diaktifkan, akun pengguna di sistem akan dapat mengakses konten di direktori home mereka dengan dunia melalui server web Apache.

Dalam artikel ini, kami akan menunjukkan kepada Anda cara mengaktifkan userdirs Apache (mod_userdir) di RHEL, CentOS, dan Server Fedora menggunakan server web Apache.

Tutorial ini mengasumsikan bahwa Anda sudah menginstal server web Apache di distribusi Linux Anda. Jika belum, Anda dapat menginstalnya menggunakan prosedur berikut…

Langkah 1: Instal Server HTTP Apache

Untuk menginstal server web Apache, gunakan perintah berikut pada distribusi Linux Anda.

yum install httpd           [On CentOS/RHEL]
dnf install httpd           [On Fedora]

Langkah 2: Aktifkan Apache Userdirs

Sekarang Anda perlu mengkonfigurasi server web Apache Anda untuk menggunakan modul ini di file konfigurasi /etc/httpd/conf.d/userdir.conf, yang sudah dikonfigurasi dengan opsi terbaik.

vi /etc/httpd/conf.d/userdir.conf

Kemudian validasi kontennya seperti di bawah ini.

directory if a ~user request is received.
#
The path to the end user account 'public_html' directory must be
accessible to the webserver userid.  This usually means that ~userid
must have permissions of 711, ~userid/public_html must have permissions
of 755, and documents contained therein must be world-readable.
Otherwise, the client will only receive a "403 Forbidden" message.
#
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir enabled tecmint

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html
</IfModule>

#
Control access to UserDir directories.  The following is an example
for a site where these directories are restricted to read-only.
#
<Directory "/home/*/public_html">
    ## Apache 2.4 users use following ##
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS

## Apache 2.2 users use following ##
        Options Indexes Includes FollowSymLinks        
        AllowOverride All
        Allow from all
        Order deny,allow
</Directory>

Untuk mengizinkan beberapa pengguna mengakses direktori UserDir, tetapi tidak orang lain, gunakan pengaturan berikut dalam file konfigurasi.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Untuk mengizinkan semua pengguna mengakses direktori UserDir, namun menonaktifkannya untuk beberapa pengguna, gunakan pengaturan berikut dalam file konfigurasi.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Setelah Anda membuat pengaturan konfigurasi sesuai kebutuhan Anda, Anda perlu me-restart server web Apache untuk menerapkan perubahan terkini.

systemctl restart httpd.service  [On SystemD]
service httpd restart            [On SysVInit]

Langkah 3: Membuat Direktori Pengguna

Sekarang Anda perlu membuat direktori/direktori public_html di direktori home pengguna/pengguna. Misalnya, di sini saya membuat direktori public_html di bawah direktori home pengguna tecmint.

mkdir /home/tecmint/public_html

Selanjutnya, terapkan izin yang benar pada direktori home dan public_html pengguna.

chmod 711 /home/tecmint
chown tecmint:tecmint /home/tecmint/public_html
chmod 755 /home/tecmint/public_html

Selain itu, tetapkan konteks SELinux yang benar untuk homedirs Apache (httpd_enable_homedirs).

setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/tecmint/public_html

Langkah 4: Uji Apache Userdir yang Diaktifkan

Terakhir, verifikasi Userdir dengan mengarahkan browser Anda ke nama host server atau alamat IP diikuti dengan nama pengguna.

http://example.com/~tecmint
OR
http://192.168.0.105/~tecmint

Jika mau, Anda juga dapat menguji halaman HTML dan info PHP dengan membuat file berikut.

Buat file /home/tecmint/public_html/test.html dengan konten berikut.

<html>
  <head>
    <title>TecMint is Best Site for Linux</title>
  </head>
  <body>
    <h1>TecMint is Best Site for Linux</h1>
  </body>
</html>

Buat file /home/tecmint/public_html/test.php dengan konten berikut.

<?php
  phpinfo();
?>

Itu saja! Dalam artikel ini, kami telah menjelaskan cara mengaktifkan modul Userdir untuk memungkinkan pengguna berbagi konten dari direktori home mereka. Jika Anda memiliki pertanyaan mengenai artikel ini, silakan bertanya di bagian komentar di bawah.