Kaip įjungti „Apache Userdir“ modulį RHEL/CentOS
Naudotojų katalogas arba Userdir yra „Apache“ modulis, leidžiantis per „Apache“ žiniatinklio serverį gauti konkrečių naudotojų katalogus, naudojant http://example.com/ ~user/
sintaksė.
Pavyzdžiui, kai įjungtas mod_userdir modulis, sistemos naudotojų paskyros galės pasiekti turinį savo namų kataloguose su pasauliu per „Apache“ žiniatinklio serverį.
Šiame straipsnyje parodysime, kaip įgalinti „Apache“ userdir (mod_userdir) RHEL, CentOS ir Fedora serveriai, naudojantys „Apache“ žiniatinklio serverį.
Šioje pamokoje daroma prielaida, kad „Linux“ paskirstyme jau įdiegėte „Apache“ žiniatinklio serverį. Jei to nepadarėte, galite jį įdiegti naudodami šią procedūrą…
1 veiksmas: įdiekite „Apache HTTP Server“.
Norėdami įdiegti „Apache“ žiniatinklio serverį, savo „Linux“ paskirstyme naudokite šią komandą.
yum install httpd [On CentOS/RHEL]
dnf install httpd [On Fedora]
2 veiksmas: įgalinkite „Apache Userdirs“.
Dabar reikia sukonfigūruoti savo Apache žiniatinklio serverį, kad šis modulis būtų naudojamas konfigūracijos faile /etc/httpd/conf.d/userdir.conf
, kuris jau sukonfigūruotas geriausiomis parinktimis.
vi /etc/httpd/conf.d/userdir.conf
Tada patvirtinkite turinį taip, kaip nurodyta toliau.
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>
Norėdami leisti keliems vartotojams pasiekti UserDir
katalogus, bet ne kam nors kitam, konfigūracijos faile naudokite toliau pateiktą parametrą.
UserDir disabled
UserDir enabled testuser1 testuser2 testuser3
Norėdami leisti visiems vartotojams pasiekti UserDir
katalogus, bet išjungti tai keliems vartotojams, konfigūracijos faile naudokite šį parametrą.
UserDir enabled
UserDir disabled testuser4 testuser5 testuser6
Atlikę konfigūracijos nustatymus pagal savo reikalavimus, turite iš naujo paleisti „Apache“ žiniatinklio serverį, kad pritaikytumėte naujausius pakeitimus.
systemctl restart httpd.service [On SystemD]
service httpd restart [On SysVInit]
3 veiksmas: vartotojų katalogų kūrimas
Dabar reikia sukurti public_html
katalogą/katalogus vartotojo/naudotojų namų kataloguose. Pavyzdžiui, čia aš kuriu public_html
katalogą tecmint vartotojo namų kataloge.
mkdir /home/tecmint/public_html
Tada pritaikykite teisingus leidimus naudotojo pagrindinio ir public_html kataloguose.
chmod 711 /home/tecmint
chown tecmint:tecmint /home/tecmint/public_html
chmod 755 /home/tecmint/public_html
Be to, nustatykite tinkamą SELinux kontekstą, skirtą Apache homedirs (httpd_enable_homedirs).
setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/tecmint/public_html
4 veiksmas: išbandykite įgalintą „Apache“ vartotojo dir
Galiausiai patvirtinkite Userdir nukreipdami naršyklę į serverio prieglobos pavadinimą arba IP adresą, po kurio nurodomas naudotojo vardas.
http://example.com/~tecmint
OR
http://192.168.0.105/~tecmint
Jei norite, taip pat galite išbandyti HTML puslapius ir PHP informaciją sukurdami šiuos failus.
Sukurkite failą /home/tecmint/public_html/test.html su šiuo turiniu.
<html>
<head>
<title>TecMint is Best Site for Linux</title>
</head>
<body>
<h1>TecMint is Best Site for Linux</h1>
</body>
</html>
Sukurkite failą /home/tecmint/public_html/test.php su šiuo turiniu.
<?php
phpinfo();
?>
Tai viskas! Šiame straipsnyje paaiškinome, kaip įjungti Userdir modulį, kad naudotojai galėtų bendrinti turinį iš savo namų katalogų. Jei turite klausimų dėl šio straipsnio, nedvejodami klauskite toliau pateiktame komentarų skyriuje.