Jak włączyć moduł Apache Userdir w systemie Centos 7
Do wprowadzenia zmian w konfiguracji serwera Apache wymagany jest użytkownik root lub użytkownik z uprawnieniami sudo.
Konfiguracja modułu Apache Userdir znajduje się w pliku /etc/httpd/conf.d/userdir.conf. Poniżej przykład podstawowej konfiguracji dla użytkownika o nazwie wwwweb:
<IfModule mod_userdir.c>
UserDir enabled wwwweb
UserDir public_html
</IfModule>
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
Aby zezwolić kilku użytkownikom na dostęp do katalogów UserDir, jednocześnie zabraniając pozostałym, używamy konfiguracji:
UserDir disabled
UserDir enabled webuser1 webuser2 webuser3
Aby pozwolić wszystkim użytkownikom na dostęp do katalogów UserDir, jednocześnie zabraniając wybranym, używamy konfiguracji:
UserDir enabled
UserDir disabled webuser4 webuser5 webuser6
W katalogach użytkowników należy utworzyć katalogi public_html oraz ustawić odpowiednie uprawnienia dla każdego z nich. Przykład tworzenia katalogów z poziomu użytkownika wwwweb:
[wwwweb@wmweb ~]$ mkdir public_html
[wwwweb@wmweb ~]$ chmod 711 /home/wwwweb
[wwwweb@wmweb ~]$ chmod 755 public_html
Przykład tworzenia katalogu dla użytkownika wwwweb przez innego użytkownika z uprawnieniami sudo:
[sysadmin@wmweb ~]$ sudo mkdir /home/wwwweb/public_html
[sysadmin@wmweb ~]$ sudo chmod 711 /home/wwwweb
[sysadmin@wmweb ~] sudo chown wwwweb: /home/wwwweb/public_html
[@wmweb ~]$ sudo chmod 755 /home/wwwweb/public_html
Dodatkowo ustawiamy poprawny kontekst SELinux:
setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/wwwweb/public_html
Po wprowadzeniu zmian w konfiguracji modułu UserDir należy zrestartować usługę httpd.