Włączenie userdir w Apache2

apache-http-server

Jak wiadomo Apache po zainstalowaniu pozwala na umieszczenie pliku index.html w katalogu /var/www. Jest to dość kłopotliwa sprawa gdyż dostęp do tego katalogu ma tylko root.

Rozwiązaniem jest utworzenie katalogu public_html w katalogu domowym każdego użytkownika, gdzie on sam będzie mógł prowadzić swoja własną stronę.

Dostępna ona będzie po wpisaniu adresu naszego serwera www oraz po znaku „/” umieszczenie tyldy http://www.mojadres.pl/~nazwa_usera.

Włączenie modułu:

a2enmod userdir
su $user
mkdir ~/public_html && chmod 0755 ~/public_html
exit

I przeładowanie Apache2 na szybko:

service apache2 restart

Od tego momentu już “coś” działa 🙂
test:

http://twoj_ip/~$user

Właczenie PHP dla innych userów

nano /etc/apache2/mods-available/php5.conf

usuwamy # przy linii

# php_admin_value engine Off

Edytujemy ustawienia modułu userdir w Apache2:

echo "" > /etc/apache2/mods-enabled/userdir.conf
nano /etc/apache2/mods-enabled/userdir.conf

i wklejamy:


<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root

<Directory /home/*/public_html>
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
<Limit GET POST OPTIONS>
# Apache <= 2.2:
Order allow,deny
Allow from all

# Apache >= 2.4:
#Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
# Apache <= 2.2:
Order deny,allow
Deny from all

# Apache >= 2.4:
#Require all denied
</LimitExcept>
</Directory>
</IfModule>

Na koniec:

/etc/init.d/apache2 reload

 

W celu testu wgrałem instalacje Drupala przez FTP, działa 😉

userdir