@JS's Notes

Site with notes from my work.

Jak włączyć moduł Apache Userdir w systemie Centos 7

2019-10-05 System @JS

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.