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 😉