Apache Userdir -moduulin käyttöönotto RHEL/CentOS-sovelluksessa


Käyttäjähakemisto tai Userdir on Apache-moduuli, jonka avulla käyttäjäkohtaiset hakemistot voidaan hakea Apache-verkkopalvelimen kautta syntaksin avulla http://example.com/~user/ .

Esimerkiksi, kun mod_userdir-moduuli on käytössä, järjestelmän käyttäjätilit voivat käyttää kotihakemistojensa sisältöä maailman kanssa Apache-verkkopalvelimen kautta.

Tässä artikkelissa näytämme sinulle, kuinka Apache userdirs (mod_userdir) otetaan käyttöön RHEL-, CentOS- ja Fedora-palvelimilla Apache-verkkopalvelinta käyttämällä.

Tämä opetusohjelma olettaa, että Apache-verkkopalvelin on jo asennettu Linux-jakeluun. Jos et ole asentanut sitä, voit asentaa sen seuraavalla tavalla ...

Vaihe 1: Asenna Apache HTTP Server

Asenna Apache-verkkopalvelin käyttämällä seuraavaa komentoa Linux-jakelussa.

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

Vaihe 2: Ota Apache Userdirs käyttöön

Nyt sinun on määritettävä Apache-verkkopalvelimesi käyttämään tätä moduulia määritystiedostossa /etc/httpd/conf.d/userdir.conf , joka on jo määritetty parhailla vaihtoehdoilla.

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

Vahvista sitten sisältö jotain alla olevaa.

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

Jos haluat antaa muutamille käyttäjille pääsyn UserDir -hakemistoihin, mutta ei kenellekään muulle, käytä seuraavaa asetustiedoston asetusta.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Jos haluat sallia kaikille käyttäjille UserDir -hakemistojen käytön, mutta poista tämä käytöstä muutamalle käyttäjälle, käytä seuraavaa asetustiedoston asetusta.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Kun olet määrittänyt määritysasetukset vaatimusten mukaisesti, sinun on käynnistettävä Apache-verkkopalvelin uudelleen, jotta viimeisimmät muutokset otetaan käyttöön.

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

Vaihe 3: Käyttäjähakemistojen luominen

Nyt sinun on luotava public_html -hakemisto/hakemistot käyttäjän/käyttäjien kotihakemistoihin. Esimerkiksi tässä luon public_html -hakemiston tecmintin käyttäjän kotihakemistoon.

# mkdir /home/tecmint/public_html

Käytä seuraavaksi oikeita oikeuksia käyttäjän koti- ja public_html-hakemistoihin.

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

Määritä myös oikea SELinux-konteksti Apache-kotipalvelijoille (httpd_enable_homedirs).

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

Vaihe 4: Testaa käytössä oleva Apache Userdir

Lopuksi tarkista Userdir osoittamalla selaimellasi palvelimen isäntänimi tai IP-osoite ja sitten käyttäjänimi.

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

Halutessasi voit myös testata HTML-sivuja ja PHP-tietoja luomalla seuraavat tiedostot.

Luo /home/tecmint/public_html/test.html tiedosto, jolla on seuraava sisältö.

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

Luo /home/tecmint/public_html/test.php -tiedosto, jolla on seuraava sisältö.

<?php
  phpinfo();
?>

Siinä kaikki! Tässä artikkelissa olemme selittäneet, kuinka Userdir-moduuli otetaan käyttöön, jotta käyttäjät voivat jakaa sisältöä kotihakemistoistaan. Jos sinulla on kysyttävää tästä artikkelista, voit kysyä alla olevasta kommenttiosasta.