Website-Suche

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


Benutzerverzeichnis oder Benutzerverzeichnis ist ein Apache-Modul, mit dem benutzerspezifische Verzeichnisse über einen Apache-Webserver mithilfe des http://example.com/ abgerufen werden können. ~user/-Syntax.

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

In diesem Artikel zeigen wir Ihnen, wie Sie Apache userdirs (mod_userdir) auf RHEL, CentOS usw. aktivieren Fedora-Server verwenden den Apache-Webserver.

In diesem Tutorial wird davon ausgegangen, dass auf Ihrer Linux-Distribution bereits ein Apache-Webserver installiert ist. Wenn Sie dies nicht getan haben, können Sie es mit dem folgenden Verfahren installieren ...

Schritt 1: Installieren Sie den Apache HTTP Server

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 Sie Apache-Benutzerverzeichnisse

Jetzt müssen Sie Ihren Apache-Webserver für die Verwendung dieses Moduls in der Konfigurationsdatei /etc/httpd/conf.d/userdir.conf konfigurieren, die bereits mit den besten Optionen konfiguriert ist.

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

Dann validieren Sie den Inhalt 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>

Um einigen Benutzern den Zugriff auf UserDir-Verzeichnisse zu ermöglichen, anderen jedoch nicht, verwenden Sie die folgende Einstellung in der Konfigurationsdatei.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Um allen Benutzern den Zugriff auf UserDir-Verzeichnisse zu ermöglichen, dies jedoch für einige 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: Benutzerverzeichnisse erstellen

Jetzt müssen Sie ein public_html-Verzeichnis/Verzeichnisse in den Home-Verzeichnissen der Benutzer/Benutzer erstellen. Hier erstelle ich beispielsweise ein public_html-Verzeichnis im 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

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

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 Benutzerverzeichnis, indem Sie Ihren Browser auf den Hostnamen oder die IP-Adresse des Servers gefolgt vom Benutzernamen verweisen.

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 die Datei /home/tecmint/public_html/test.html 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, damit Benutzer Inhalte aus ihren Home-Verzeichnissen teilen können. Wenn Sie Fragen zu diesem Artikel haben, können Sie diese gerne im Kommentarbereich unten stellen.