Weboldal keresés

Az Apache Userdir modul engedélyezése az RHEL/CentOS rendszeren


A User Directory vagy a Userdir egy Apache-modul, amely lehetővé teszi felhasználó-specifikus könyvtárak lekérését egy Apache webszerveren keresztül a http://example.com/ ~felhasználó/ szintaxis.

Például, ha a mod_userdir modul engedélyezve van, a rendszer felhasználói fiókjai az Apache webszerveren keresztül hozzáférhetnek saját könyvtáraik tartalmához a világgal.

Ebben a cikkben bemutatjuk, hogyan engedélyezheti az Apache userdirs (mod_userdir) alkalmazását RHEL, CentOS és Fedora szerverek Apache webszervert használva.

Ez az oktatóanyag feltételezi, hogy már telepítve van az Apache webszerver a Linux disztribúciójára. Ha még nem tette meg, a következő eljárással telepítheti…

1. lépés: Telepítse az Apache HTTP-kiszolgálót

Az Apache webszerver telepítéséhez használja a következő parancsot a Linux disztribúcióján.

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

2. lépés: Az Apache Userdirs engedélyezése

Most be kell állítania az Apache webszervert, hogy használja ezt a modult a /etc/httpd/conf.d/userdir.conf konfigurációs fájlban, amely már be van állítva a legjobb beállításokkal.

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

Ezután érvényesítse a tartalmat az alábbiak szerint.

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>

Ha engedélyezni szeretné, hogy néhány felhasználó elérje a UserDir könyvtárat, de senki más ne, használja a következő beállítást a konfigurációs fájlban.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Ha engedélyezni szeretné, hogy minden felhasználó hozzáférjen a UserDir könyvtárhoz, de néhány felhasználó számára letiltja, használja a következő beállítást a konfigurációs fájlban.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Miután elvégezte az igényeinek megfelelő konfigurációs beállításokat, újra kell indítania az Apache webszervert a legutóbbi módosítások alkalmazásához.

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

3. lépés: Felhasználói könyvtárak létrehozása

Most létre kell hoznia egy public_html könyvtárat/könyvtárakat a felhasználói/felhasználók kezdőkönyvtáraiban. Például itt létrehozok egy public_html könyvtárat a tecmint felhasználói kezdőkönyvtárában.

mkdir /home/tecmint/public_html

Ezután alkalmazza a megfelelő engedélyeket a felhasználói home és public_html könyvtárakban.

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

Ezenkívül állítsa be a megfelelő SELinux kontextust az Apache homedirs-hez (httpd_enable_homedirs).

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

4. lépés: Az Enabled Apache Userdir tesztelése

Végül ellenőrizze a Felhasználói címet úgy, hogy a böngészőjében a szerver gazdagépnevére vagy IP-címére mutat, majd a felhasználónévre.

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

Ha szeretné, a következő fájlok létrehozásával tesztelheti a HTML oldalakat és a PHP információkat is.

Hozzon létre /home/tecmint/public_html/test.html fájlt a következő tartalommal.

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

Hozzon létre /home/tecmint/public_html/test.php fájlt a következő tartalommal.

<?php
  phpinfo();
?>

Ez minden! Ebben a cikkben elmagyaráztuk, hogyan engedélyezhető a Userdir modul, amely lehetővé teszi a felhasználók számára, hogy tartalmakat osszanak meg saját könyvtáraikból. Ha kérdése van ezzel a cikkel kapcsolatban, nyugodtan kérdezzen az alábbi megjegyzés részben.