Ricerca nel sito web

Come abilitare il modulo Apache Userdir su RHEL/CentOS


Directory utente o Userdir è un modulo Apache che consente di recuperare directory specifiche dell'utente tramite un server Web Apache utilizzando http://example.com/ sintassi ~utente/.

Ad esempio, quando il modulo mod_userdir è abilitato, gli account degli utenti sul sistema saranno in grado di accedere ai contenuti nelle loro home directory con il mondo tramite il server web Apache.

In questo articolo, ti mostreremo come abilitare le userdir di Apache (mod_userdir) su RHEL, CentOS e Server Fedora che utilizzano il server web Apache.

Questo tutorial presuppone che tu abbia già installato il server web Apache sulla tua distribuzione Linux. In caso contrario, è possibile installarlo utilizzando la seguente procedura...

Passaggio 1: installare il server HTTP Apache

Per installare il server web Apache, utilizza il seguente comando sulla tua distribuzione Linux.

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

Passaggio 2: abilitare le directory utente Apache

Ora devi configurare il tuo server web Apache per utilizzare questo modulo nel file di configurazione /etc/httpd/conf.d/userdir.conf, che è già configurato con le migliori opzioni.

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

Quindi convalidare il contenuto in qualcosa come di seguito.

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 consentire ad alcuni utenti di accedere alle directory UserDir, ma non a nessun altro, utilizzare la seguente impostazione nel file di configurazione.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Per consentire a tutti gli utenti di accedere alle directory UserDir, ma disabilitarlo per alcuni utenti, utilizza la seguente impostazione nel file di configurazione.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Dopo aver effettuato le impostazioni di configurazione secondo i tuoi requisiti, devi riavviare il server web Apache per applicare le modifiche recenti.

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

Passaggio 3: creazione di directory utente

Ora devi creare una o più directory public_html nelle directory home dell'utente/degli utenti. Ad esempio, qui sto creando una directory public_html nella directory home dell'utente tecmint.

mkdir /home/tecmint/public_html

Successivamente, applica le autorizzazioni corrette alle directory home e public_html dell'utente.

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

Inoltre, imposta il contesto SELinux corretto per gli homedirs Apache (httpd_enable_homedirs).

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

Passaggio 4: testare la directory utente Apache abilitata

Infine, verifica la dirdir utente indirizzando il browser al nome host o all'indirizzo IP del server seguito dal nome utente.

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

Se lo desideri, puoi anche testare le pagine HTML e le informazioni PHP creando i seguenti file.

Crea un file /home/tecmint/public_html/test.html con il seguente contenuto.

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

Crea un file /home/tecmint/public_html/test.php con il seguente contenuto.

<?php
  phpinfo();
?>

È tutto! In questo articolo, abbiamo spiegato come abilitare il modulo Userdir per consentire agli utenti di condividere contenuti dalle proprie directory home. Se hai domande su questo articolo, non esitare a chiedere nella sezione commenti qui sotto.