И конечно же пришлось повозиться с конфигурационными файлами apache2.conf и php.ini. И конечно же я выяснил, что версия Apache 2.4 перестала поддерживать директивы Order, Allow, Deny, Satisfy и вместо них нужно пользоваться директивой Require и читал Upgrading to 2.4 from 2.2.
Т. к. этот сервер у меня для локальной разработки, то в файлах конфигурации для каждого виртуального хоста (у которых, кстати, теперь расширение должно быть .conf) я записал примерно такие директивы:
- Код: Выделить всё
<Directory /home/ivan/sites/joomla15/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all denied
Require ip 127.0.0.0/255.255.0.0 ::1/128
</Directory>
И все сайты заработали (стали открываться). Но вот один сайт с адресом joomla15 и такими же настройками стал выдавать запрет доступа Forbidden you don't have permission to access / on this server.
В логах ошибок сервера ошибка: "[client 127.0.0.1:50916] AH01630: client denied by server configuration: /home/ivan/sites/joomla15/www/"
Что я только не перепробовал: пытался найти нюансы, чем конфигурационный файл joomla15.conf отличается от других кроме подстрок «joomla15». Переактивизировал этот хост (a2ensite), перепроверял и переустанавливал права на директорию сайта – всё как у других работающих..
Убирал директивы
- Код: Выделить всё
Require all denied
Require ip 127.0.0.0/255.255.0.0 ::1/128
Стал подозревать на файл .htaccess в корне сайта, но там не было ничего настораживающего.
Переименовывал и удалял этот .htaccess с перезапуском сервера (хотя перезапуск сервера не требуется при изменении в .htaccess в корне виртуального хоста).
Сайт по-прежнему не работал.
И вот удручающая развязка этой истории: после очередного удаления от отчаяния этого .htaccess и перезапуска сервера сайт начал открываться, причём .htaccess я вернул сразу назад и сайт продолжил работать! Вот теперь хожу и думаю, что это было.
Вообще, на какой-то баг в Ubuntu/Apache 2.4 похоже, может потом узнаю..