Slik aktiverer du Apache Userdir-modul på RHEL/CentOS


User Directory eller Userdir er en Apache-modul som lar brukerspesifikke kataloger hentes gjennom en Apache-nettserver ved å bruke http://example.com/~user/-syntaksen.

For eksempel, når mod_userdir-modulen er aktivert, vil brukerkontoer på systemet kunne få tilgang til innhold i deres hjemmekataloger med verden via Apache-nettserver.

I denne artikkelen vil vi vise deg hvordan du aktiverer Apache userdirs (mod_userdir) på RHEL, CentOS og Fedora servere ved å bruke Apache webserver.

Denne opplæringen forutsetter at du allerede har Apache-webserver installert på Linux-distribusjonen. Hvis du ikke har det, kan du installere den ved å bruke følgende prosedyre...

Trinn 1: Installer Apache HTTP Server

For å installere Apache webserver, bruk følgende kommando på din Linux-distribusjon.

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

Trinn 2: Aktiver Apache Userdirs

Nå må du konfigurere Apache-nettserveren til å bruke denne modulen i konfigurasjonsfilen /etc/httpd/conf.d/userdir.conf, som allerede er konfigurert med de beste alternativene.

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

Deretter validerer innholdet noe som nedenfor.

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

For å tillate noen få brukere å ha tilgang til UserDir-kataloger, men ikke noen andre, bruk følgende innstilling i konfigurasjonsfilen.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

For å tillate alle brukere å ha tilgang til UserDir-kataloger, men deaktiver dette for noen få brukere, bruk følgende innstilling i konfigurasjonsfilen.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Når du har gjort konfigurasjonsinnstillingene i henhold til dine krav, må du starte Apache-nettserveren på nytt for å bruke nylige endringer.

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

Trinn 3: Opprette brukerkataloger

Nå må du opprette en public_html katalog/kataloger i bruker/brukers hjemmekataloger. For eksempel, her lager jeg en public_html-katalog under tecmints brukerhjemmekatalog.

# mkdir /home/tecmint/public_html

Deretter bruker du de riktige tillatelsene på brukerhjemmet og public_html-katalogene.

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

Sett også riktig SELinux-kontekst for Apache-homedirs (httpd_enable_homedirs).

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

Trinn 4: Test aktivert Apache Userdir

Til slutt, verifiser Userdir ved å peke nettleseren til serverens vertsnavn eller IP-adresse etterfulgt av brukernavnet.

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

Hvis du vil, kan du også teste HTML-sider og PHP-info ved å lage følgende filer.

Opprett /home/tecmint/public_html/test.html-fil med følgende innhold.

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

Opprett /home/tecmint/public_html/test.php-fil med følgende innhold.

<?php
  phpinfo();
?>

Det er alt! I denne artikkelen har vi forklart hvordan du aktiverer Userdir-modulen for å tillate brukere å dele innhold fra hjemmekatalogene sine. Hvis du har spørsmål angående denne artikkelen, spør gjerne i kommentarfeltet nedenfor.