Kako omogočiti modul Apache Userdir na RHEL/CentOS
Uporabniški imenik ali Userdir je modul Apache, ki omogoča pridobivanje uporabniško specifičnih imenikov prek spletnega strežnika Apache z uporabo sintakse http://example.com/~user/
.
Ko je modul mod_userdir na primer omogočen, bodo lahko uporabniški računi v sistemu prek spletnega strežnika Apache dostopali do vsebine v svojih domačih imenikih s svetom.
V tem članku vam bomo pokazali, kako omogočiti uporabniške imenike Apache (mod_userdir) na strežnikih RHEL, CentOS in Fedora z uporabo spletnega strežnika Apache.
Ta vadnica predpostavlja, da imate v distribuciji Linuxa že nameščen spletni strežnik Apache. Če je niste, jo lahko namestite po naslednjem postopku ...
1. korak: Namestite strežnik Apache HTTP
Če želite namestiti spletni strežnik Apache, uporabite naslednji ukaz v svoji distribuciji Linuxa.
# yum install httpd [On CentOS/RHEL] # dnf install httpd [On Fedora]
2. korak: Omogočite Apache Userdirs
Zdaj morate svoj spletni strežnik Apache konfigurirati za uporabo tega modula v konfiguracijski datoteki /etc/httpd/conf.d/userdir.conf
, ki je že konfigurirana z najboljšimi možnostmi.
# vi /etc/httpd/conf.d/userdir.conf
Nato vsebino potrdite podobno kot spodaj.
# 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>
Če želite nekaterim uporabnikom omogočiti dostop do imenikov UserDir
, ne pa nikomur drugemu, uporabite naslednjo nastavitev v konfiguracijski datoteki.
UserDir disabled UserDir enabled testuser1 testuser2 testuser3
Če želite vsem uporabnikom omogočiti dostop do imenikov UserDir
, vendar to onemogočite nekaterim uporabnikom, uporabite naslednjo nastavitev v konfiguracijski datoteki.
UserDir enabled UserDir disabled testuser4 testuser5 testuser6
Ko nastavite konfiguracijske nastavitve v skladu z vašimi zahtevami, morate znova zagnati spletni strežnik Apache, da uporabite nedavne spremembe.
# systemctl restart httpd.service [On SystemD] # service httpd restart [On SysVInit]
3. korak: Ustvarjanje uporabniških imenikov
Zdaj morate v domačih imenikih uporabnikov/uporabnikov ustvariti imenik/imenike public_html
. Tu na primer ustvarjam imenik public_html
v domačem imeniku uporabnika tecmint.
# mkdir /home/tecmint/public_html
Nato uporabite pravilna dovoljenja za uporabniški imenik home in public_html.
# chmod 711 /home/tecmint # chown tecmint:tecmint /home/tecmint/public_html # chmod 755 /home/tecmint/public_html
Prav tako nastavite pravi kontekst SELinux za Apache homedirs (httpd_enable_homedirs).
# setsebool -P httpd_enable_homedirs true # chcon -R -t httpd_sys_content_t /home/tecmint/public_html
4. korak: Preizkusite omogočen Apache Userdir
Na koncu preverite Userdir tako, da svoj brskalnik usmerite na ime gostitelja strežnika ali naslov IP, ki mu sledi uporabniško ime.
http://example.com/~tecmint OR http://192.168.0.105/~tecmint
Če želite, lahko preizkusite tudi strani HTML in informacije o PHP, tako da ustvarite naslednje datoteke.
Ustvarite /home/tecmint/public_html/test.html datoteko z naslednjo vsebino.
<html> <head> <title>TecMint is Best Site for Linux</title> </head> <body> <h1>TecMint is Best Site for Linux</h1> </body> </html>
Ustvarite /home/tecmint/public_html/test.php datoteko z naslednjo vsebino.
<?php phpinfo(); ?>
To je vse! V tem članku smo razložili, kako omogočiti modul Userdir, da uporabnikom omogoči skupno rabo vsebine iz domačih imenikov. Če imate vprašanja v zvezi s tem člankom, vas prosimo, da vprašate v spodnjem oddelku za komentarje.