Website-Suche

So aktivieren Sie das Apache Userdir-Modul unter RHEL/CentOS


User Directory oder Userdir ist ein Apache-Modul, das es ermöglicht, benutzerspezifische Verzeichnisse über einen Apache-Webserver mit der http://example.com/~user/-Syntax abzurufen.

Wenn beispielsweise das mod_userdir-Modul aktiviert ist, können Benutzerkonten auf dem System über den Apache-Webserver auf Inhalte in ihren Home-Verzeichnissen mit der Welt zugreifen.

In diesem Artikel zeigen wir Ihnen, wie Sie Apache-Benutzerverzeichnisse (mod_userdir) auf RHEL-, CentOS- und Fedora-Servern mithilfe des Apache-Webservers aktivieren.

In diesem Tutorial wird davon ausgegangen, dass Sie bereits einen Apache-Webserver auf Ihrer Linux-Distribution installiert haben. Wenn Sie dies nicht getan haben, können Sie es wie folgt installieren...

Schritt 1: Apache HTTP Server installieren

Um den Apache-Webserver zu installieren, verwenden Sie den folgenden Befehl auf Ihrer Linux-Distribution.

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

Schritt 2: Aktivieren von Apache Userdirs

Nun müssen Sie Ihren Apache-Webserver so konfigurieren, dass er dieses Modul in der Konfigurationsdatei /etc/httpd/conf.d/userdir.conf verwendet, die bereits mit den besten Optionen konfiguriert ist.

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

Validieren Sie dann den Inhalt in etwa wie unten.

# 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>

Wenn Sie einigen Benutzern den Zugriff auf UserDir-Verzeichnisse gestatten möchten, aber nicht allen anderen Benutzern, verwenden Sie die folgende Einstellung in der Konfigurationsdatei.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Um allen Benutzern den Zugriff auf UserDir-Verzeichnisse zu erlauben, dies aber für einige wenige Benutzer zu deaktivieren, verwenden Sie die folgende Einstellung in der Konfigurationsdatei.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Nachdem Sie die Konfigurationseinstellungen gemäß Ihren Anforderungen vorgenommen haben, müssen Sie den Apache-Webserver neu starten, um die letzten Änderungen zu übernehmen.

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

Schritt 3: Erstellen von Benutzerverzeichnissen

Jetzt müssen Sie ein public_html Verzeichnis(e) in den Benutzer-/Benutzer-Home-Verzeichnissen erstellen. Zum Beispiel erstelle ich hier ein public_html-Verzeichnis unter dem Benutzer-Home-Verzeichnis von tecmint.

# mkdir /home/tecmint/public_html

Wenden Sie als Nächstes die richtigen Berechtigungen auf die Benutzerverzeichnisse home und public_html an.

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

Legen Sie außerdem den korrekten SELinux-Kontext für Apache-Homedirs (httpd_enable_homedirs) fest.

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

Schritt 4: Testen Sie das aktivierte Apache-Benutzerverzeichnis

Überprüfen Sie abschließend das Userdir, indem Sie Ihren Browser auf den Hostnamen oder die IP-Adresse des Servers verweisen, gefolgt vom Benutzernamen.

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

Wenn Sie möchten, können Sie auch HTML-Seiten und PHP-Informationen testen, indem Sie die folgenden Dateien erstellen.

Erstellen Sie eine /home/tecmint/public_html/test.html-Datei mit dem folgenden Inhalt.

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

Erstellen Sie die Datei /home/tecmint/public_html/test.php mit dem folgenden Inhalt.

<?php
  phpinfo();
?>

Das ist alles! In diesem Artikel haben wir erklärt, wie Sie das Userdir-Modul aktivieren, um Benutzern das Freigeben von Inhalten aus ihren Home-Verzeichnissen zu ermöglichen. Wenn Sie Fragen zu diesem Artikel haben, können Sie diese gerne im Kommentarbereich unten stellen.

Verwandte Artikel: