Инструменты пользователя

Инструменты сайта

Загрузка не удалась. Возможно, проблемы с правами доступа?

linux:apache-null

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

linux:apache-null [2015/04/27 12:07] (текущий)
Строка 1: Строка 1:
 +===== Локальная настройка apache =====
 +\\
 +=== Исходные данные ===
 +/​home/​alexander/​WWW - папка в которой хранятся локальные сайты
 +\\
 +=== Цель ===
 +Запустить apache локально,​ чтобы по вызову <​nowiki>​http://​mysite</​nowiki>​ (или другой url) происходил запрос apache к /​home/​alexander/​WWW/​mysite\\
 +\\
 +\\Настройку будем приводить на примере хоста <​nowiki>​http://​dokuwiki</​nowiki>​
 +\\
 +=== Настройка ===
 +Чтобы apache смог работать с этой папкой,​ заставим его запускаться из-под пользователя alexander:​\\
 +Для этого в файл /​etc/​apache2/​envvars из-под рута вносим правки:​\\
 +<​code>​
 +export APACHE_RUN_USER=alexander
 +export APACHE_RUN_GROUP=alexander
 +</​code>​
 +**Примечание** В /​etc/​apache2/​envvars по умолчанию уже есть эти строки,​ только на пользователя www-data. Их надо закомментировать,​ разумеется.\\
 +\\
 +=== Первоначальная настрока apache ===
 +\\
 +в файл sudo leafpad /​etc/​apache2/​apache2.conf прописываем\\
 +<​code>​
 +ServerName localhost
 +</​code>​
 +На этом этапе можно перегрузить apache и открыть в браузере <​nowiki>​http://​loclalhost</​nowiki>,​ чтобы убедиться что все хорошо.\\
 +\\
 +=== Дальше - добавляем сайты (на примере локального хоста dokuwiki) ===
 +\\
 +Создаем папку сайта:​\\
 +<​code>​
 +mkdir /​home/​alexander/​WWW
 +mkdir /​home/​alexander/​WWW/​dokuwiki
 +mkdir /​home/​alexander/​WWW/​dokuwiki/​www
 +</​code>​
 +**Примечание:​** в папке сайта (та, которая /​home/​alexander/​WWW/​dokuwiki) будут еще логи лежать,​ поэтому в ней создается www под корень сайта.\\
 +\\
 +Создаем /​etc/​apache2/​sites-available/​dokuwiki.conf (логика апача «1 сайт == 1 конфиг в директории /​etc/​apache2/​sites-available/​)\\
 +\\
 +<​code>​
 +<​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>​
 +</​code>​
 +\\
 +«Включаем» только что созданный сайт:\\
 +<​code>​
 +a2ensite dokuwiki
 +</​code>​
 +\\
 +<WRAP center round tip 100%>
 +Если возникла ошибка:​\\
 +**a2ensite ERROR: Site does not exist!**\\
 +\\
 +то проверьте,​ что у вас файл конфигурации именно с расширением .conf - так так a2ensite "​понимает"​ только такие файлы. \\
 +</​WRAP>​
 +\\
 +Перезапускаем апач\\
 +\\
 +<​code>​
 +sudo /​etc/​init.d/​apache2 restart
 +</​code> ​
 +По идее, все после этого должно заработать (главное тут - не забыть файлы скопировать).\\
 +\\
 +Проверяем:​ идем по адресу <​nowiki>​http://​dokuwiki</​nowiki>,​ и смотрим что все работает (можно туда положить,​ например,​ файл index.php с phpinfo() для проверки).
 +\\
 +<WRAP center round tip 100%>
 +Замечание — следим за опечатками - особенно в конфигах апача! :)\\
 +Одна ошибка - и вы "​счастливый"​ владелец кучи ошибок,​ которын никак не хотят правиться.
 +</​WRAP>​
 +\\
 +=== Опять к настройкам apache==
 +\\
 +Дальше,​ чтобы все было совсем хорошо - включаем в апаче mod_rewrite (по умолчанию он выключен):​\\
 +\\
 +<​code>​
 +sudo a2enmod rewrite
 +</​code>​
 +Перезапускаем апач еще раз:\\
 +<​code>​
 +sudo /​etc/​init.d/​apache2 restart
 +</​code>​
 +Теперь действительно все! (Php и mysql в такой комбинации трогать не надо — работают «из коробки»).
 +=== Для отладки ===
 +<​code>​
 +ps -aux | grep apache</​code>​
 +Покажет все запущенные процессы apache (и, самое гланое - из-под какого они пользователя)
  
linux/apache-null.txt · Последние изменения: 2015/04/27 12:07 (внешнее изменение)