После обновления Ubuntu до версии 13.10 (посмотреть версию Ubuntu можно командой - lsb_release –a или cat /etc/lsb-release) мой локальный сайт atlant.test перестал открываться. Apache обновился до версии 2.4. Все виртуальные хосты Apache на обновленном Ubuntu стали не доступны. При входе на atlant.test показывает только страницу основного сервера.
Стал разбираться, что же произошло.
Cервер Apache запускается и работает.
$ ps aux |grep apache
Смотрю запущенную конфигурацию Apache:
$ apache2ctl –S
- в конфигурации присутствует только default server
Смотрю наличие конфигурации моего сервера:
$ ls /etc/apache2/sites-available/
сравниваю его с резервной копией (пригодилась) - файл есть, содержимое не изменилось
Запускаю добавление сайта в конфигурацию Apache:
$ sudo a2ensite atlant.test
ERROR: Site atlant.test does not exist!
Ничего не понимаю. Что значит, нет сайта? Пошел искать на просторах интернета и нашел. Ситуация следующая:
В Apache 2.4 настройки из /etc/apache2/conf.d переместились в /etc/apache2/conf-available
Т.е. в Apache 2.4 нет каталога /etc/apache2/conf.d и если у вас, например был там httpd.conf, то надо все переместить этот файл в /etc/apache2/conf-available и потом применить конфигурацию командой
sudo a2enconf httpd
Теперь все файлы сайтов в /etc/apache2/sites-available/ должны иметь расширение .conf . С расширением, конечно, правильней смотрится, но почему нельзя было оставить и предыдущий синтаксис без .conf?
Переименовываю файл конфигурации моего сервера:
$ mv /etc/apache2/sites-available/atlant.test /etc/apache2/sites-available/atlant.test.conf
Добавляю сайт в конфигурацию Apache:
$ sudo a2ensite atlant.test
Получаю положительный ответ:
Enabling site atlant.test.
To activate the new configuration, you need to run:
service apache2 reload
Перезапускаю apache:
$ sudo service apache2 reload
* Reloading web server apache2
Если у вас много сайтов, которым нужно будет добавить расширение .conf, то вот вам команда:
sudo find /etc/apache2/sites-available/ ! -iname '*.conf' -type f -exec mv '{}' '{}'.conf \
После переименования захожу на сайт и опять сайт не доступен – не хватает прав
Forbidden
You don't have permission to access /accounts/login/ on this server.
________________________________________
Apache/2.4.6
Разбираюсь с правами на доступ к сайту. Изменилась конфигурация настройки доступа. Теперь вместо
<Directory /path/to/your/site/>
order allow,deny
allow from all
</Directory>
надо писать следующее:
<Directory /path/to/your/site/>
Require all granted
</Directory>
У меня после внесенных изменений и перезапуска Apache все заработало. Если у вас все еще есть вопросы, то можете посмотреть документацию http://httpd.apache.org/docs/2.4/upgrading.html
Комментариев нет:
Отправить комментарий