Недавно встал вопрос о том, как перенести категорию /var/www в домашнюю папку (в моём случае - /home/sk8er/www). Хотел сделать это только для удобства доступа к папке веб-сервера, никаких других плюшек от этого не будет.
Я долго искал способ это сделать, в процессе более-менее узнал о более глубокой настройке веб-сервера, так что это пошло на пользу. 🙂 А нужно было всего лишь установить один пакет и чуток подправить файл /etc/apache2/sites-available/default.
Итак. Для начала нужно установить пакет apache2-mpm-itk:
1 |
sudo apt-get install apache2-mpm-itk |
Далее открываем файл default:
1 |
sudo gedit /etc/apache2/sites-available/default |
Если вы редактируете файл на своём сервере и подключены с помощью ssh, то вместо gedit используйте nano.
Итак, в открывшемся файле нужно просто заменить /var/www на /home/sk8er/www, затем в конце файла, но перед </VirtualHost>, вставить такой блок:
1 |
AssignUserId user group |
Вместо user нужно вписать свой логин, а вместо group - группу.
Вот что получилось у меня:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
ServerAdmin webmaster@localhost DocumentRoot /home/sk8er/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 AssignUserId sk8er sk8er |
Не забудьте создать папку www в домашней директории. Теперь можно перезагрузить apache2 сервер:
1 |
sudo /etc/init.d/apache2 restart |
Вот и всё.