/home/alexander/WWW - папка в которой хранятся локальные сайты
Запустить apache локально, чтобы по вызову http://mysite (или другой url) происходил запрос apache к /home/alexander/WWW/mysite
\\Настройку будем приводить на примере хоста http://dokuwiki
Чтобы apache смог работать с этой папкой, заставим его запускаться из-под пользователя alexander:
Для этого в файл /etc/apache2/envvars из-под рута вносим правки:
export APACHE_RUN_USER=alexander export APACHE_RUN_GROUP=alexander
Примечание В /etc/apache2/envvars по умолчанию уже есть эти строки, только на пользователя www-data. Их надо закомментировать, разумеется.
в файл sudo leafpad /etc/apache2/apache2.conf прописываем
ServerName localhost
На этом этапе можно перегрузить apache и открыть в браузере http://loclalhost, чтобы убедиться что все хорошо.
Создаем папку сайта:
mkdir /home/alexander/WWW mkdir /home/alexander/WWW/dokuwiki mkdir /home/alexander/WWW/dokuwiki/www
Примечание: в папке сайта (та, которая /home/alexander/WWW/dokuwiki) будут еще логи лежать, поэтому в ней создается www под корень сайта.
Создаем /etc/apache2/sites-available/dokuwiki.conf (логика апача «1 сайт == 1 конфиг в директории /etc/apache2/sites-available/)
<VirtualHost *:80> ServerAlias dokuwiki ServerAdmin webmaster@localhost DocumentRoot /home/alexander/WWW/dokuwiki/www <Directory /home/alexander/WWW/dokuwiki/www> AllowOverride All Require all granted </Directory> ErrorLog /home/alexander/WWW/dokuwiki/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /home/alexander/WWW/dokuwiki/access.log combined </VirtualHost>
«Включаем» только что созданный сайт:
a2ensite dokuwiki
Если возникла ошибка:
a2ensite ERROR: Site does not exist!
то проверьте, что у вас файл конфигурации именно с расширением .conf - так так a2ensite «понимает» только такие файлы.
Перезапускаем апач
sudo /etc/init.d/apache2 restart
По идее, все после этого должно заработать (главное тут - не забыть файлы скопировать).
Проверяем: идем по адресу http://dokuwiki, и смотрим что все работает (можно туда положить, например, файл index.php с phpinfo() для проверки).
Замечание — следим за опечатками - особенно в конфигах апача! :)
Одна ошибка - и вы «счастливый» владелец кучи ошибок, которын никак не хотят правиться.
Дальше, чтобы все было совсем хорошо - включаем в апаче mod_rewrite (по умолчанию он выключен):
sudo a2enmod rewrite
Перезапускаем апач еще раз:
sudo /etc/init.d/apache2 restart
Теперь действительно все! (Php и mysql в такой комбинации трогать не надо — работают «из коробки»).
ps -aux | grep apache
Покажет все запущенные процессы apache (и, самое гланое - из-под какого они пользователя)