Com habilitar el mòdul Apache Userdir a RHEL/CentOS


User Directory o Userdir és un mòdul d'Apache, que permet recuperar directoris específics de l'usuari mitjançant un servidor web Apache mitjançant la sintaxi http://example.com/~user/.

Per exemple, quan el mòdul mod_userdir està habilitat, els comptes dels usuaris del sistema podran accedir al contingut dels seus directoris d'inici amb el món mitjançant el servidor web Apache.

En aquest article, us mostrarem com habilitar els directoris d'usuari d'Apache (mod_userdir) als servidors RHEL, CentOS i Fedora mitjançant el servidor web Apache.

Aquest tutorial suposa que ja teniu el servidor web Apache instal·lat a la vostra distribució Linux. Si no ho heu fet, podeu instal·lar-lo mitjançant el següent procediment...

Pas 1: instal·leu el servidor HTTP Apache

Per instal·lar el servidor web Apache, utilitzeu l'ordre següent a la vostra distribució Linux.

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

Pas 2: habiliteu els directoris d'usuari d'Apache

Ara heu de configurar el vostre servidor web Apache per utilitzar aquest mòdul al fitxer de configuració /etc/httpd/conf.d/userdir.conf, que ja està configurat amb les millors opcions.

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

A continuació, valideu el contingut com a continuació.

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

Per permetre que uns quants usuaris tinguin accés als directoris UserDir, però no ningú més, utilitzeu la configuració següent al fitxer de configuració.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Per permetre que tots els usuaris tinguin accés als directoris UserDir, però desactivar-ho per a uns quants usuaris, utilitzeu la configuració següent al fitxer de configuració.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Un cop hàgiu fet els paràmetres de configuració segons els vostres requisits, heu de reiniciar el servidor web Apache per aplicar els canvis recents.

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

Pas 3: Creació de directoris d'usuaris

Ara heu de crear un directori/directoris public_html als directoris d'inici d'usuaris/usuaris. Per exemple, aquí estic creant un directori public_html sota el directori d'inici de l'usuari de tecmint.

# mkdir /home/tecmint/public_html

A continuació, apliqueu els permisos correctes als directoris d'inici de l'usuari i public_html.

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

A més, configureu el context SELinux correcte per als homedirs d'Apache (httpd_enable_homedirs).

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

Pas 4: prova l'usuari d'Apache habilitat

Finalment, verifiqueu el Userdir apuntant el vostre navegador al nom d'amfitrió del servidor o a l'adreça IP seguida del nom d'usuari.

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

Si voleu, també podeu provar pàgines HTML i informació PHP creant els fitxers següents.

Creeu el fitxer /home/tecmint/public_html/test.html amb el contingut següent.

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

Creeu el fitxer /home/tecmint/public_html/test.php amb el contingut següent.

<?php
  phpinfo();
?>

Això és tot! En aquest article, hem explicat com habilitar el mòdul Userdir per permetre als usuaris compartir contingut des dels seus directoris d'inici. Si teniu preguntes sobre aquest article, no dubteu a fer-ho a la secció de comentaris a continuació.