RHEL/CentOS-da Apache Userdir modulyny nädip açmaly


Ulanyjy katalogy ýa-da Userdir, Apache web serweri arkaly http://example.com/~user/ sintaksisini ulanyp, ulanyjylara mahsus kataloglary Apache web serweri arkaly almaga mümkinçilik berýän Apache modulydyr.

Mysal üçin, mod_userdir moduly açyk bolsa, ulgamdaky ulanyjy hasaplary Apache web serweri arkaly dünýä bilen öz kataloglaryndaky mazmuna dünýä bilen girip biler.

Bu makalada, Apache web serwerini ulanyp, RHEL, CentOS we Fedora serwerlerinde Apache ulanyjylaryny (mod_userdir) nädip işletmelidigini görkezeris.

Bu gollanma, Linux paýlanyşyňyzda eýýäm Apache web serweriniň gurlandygyny göz öňünde tutýar. Eger ýok bolsa, aşakdaky prosedurany ulanyp gurup bilersiňiz ...

1-nji ädim: Apache HTTP serwerini guruň

Apache web serwerini gurmak üçin Linux paýlanyşyňyzda aşakdaky buýrugy ulanyň.

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

2-nji ädim: Apache Ulanyjylaryny işlediň

Indi iň oňat wariantlar bilen düzülen /etc/httpd/conf.d/userdir.conf konfigurasiýa faýlynda bu moduly ulanmak üçin Apache web serweriňizi sazlamaly.

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

Soňra mazmuny aşakdaky ýaly bir zady tassyklaň.

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

Birnäçe ulanyjynyň UserDir kataloglaryna girmegine rugsat bermek üçin, ýöne başga hiç kim däl, konfigurasiýa faýlynda aşakdaky sazlamany ulanyň.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Usershli ulanyjylara UserDir kataloglaryna girmäge rugsat bermek, ýöne muny birnäçe ulanyja öçürmek üçin konfigurasiýa faýlynda aşakdaky sazlamany ulanyň.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Talaplaryňyza görä konfigurasiýa sazlamalaryny düzeniňizden soň, soňky üýtgeşmeleri ulanmak üçin Apache web serwerini täzeden açmaly.

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

3-nji ädim: Ulanyjy kataloglaryny döretmek

Indi ulanyjy/ulanyjylaryň öý kataloglarynda public_html katalog/katalog döretmeli. Mysal üçin, bu ýerde tecmint-iň ulanyjy öý bukjasynyň aşagynda public_html katalogyny döredýärin.

# mkdir /home/tecmint/public_html

Ondan soň, ulanyjy öýünde we public_html kataloglarynda dogry rugsatlary ulanyň.

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

Şeýle hem, Apache homedirs (httpd_enable_homedirs) üçin dogry SELinux kontekstini düzüň.

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

4-nji ädim: Apache Ulanyjyny synagdan geçiriň

Netijede, brauzeriňizi serweriň adyna ýa-da ulanyjy adynyň yzyndaky IP adresine görkezip, Userdir-i barlaň.

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

Isleseňiz, aşakdaky faýllary döredip HTML sahypalaryny we PHP maglumatlaryny hem synap bilersiňiz.

Aşakdaky mazmun bilen /home/tecmint/public_html/test.html faýly dörediň.

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

Aşakdaky mazmun bilen /home/tecmint/public_html/test.php faýly dörediň.

<?php
  phpinfo();
?>

Bu hemmesi! Bu makalada ulanyjylara öý kataloglaryndan mazmuny paýlaşmaga mümkinçilik bermek üçin “Userdir” modulyny nädip işletmelidigini düşündirdik. Bu makala bilen baglanyşykly soraglaryňyz bar bolsa, aşakdaky teswir bölüminde sorap bilersiňiz.