После обновления с сервера Ubuntu 13.04 страницы www не будут отображаться.
Ошибка 403 Запрещено. У вас нет прав для доступа к / на этом сервере.
blockquote>Я изменил сохранение доступа с apache2.2 на apache2.4, но это не сработало. Что еще я мог сделать?
Я предполагаю, что веб-сайты работают на вашем сервере Ubuntu.
Проверьте свой httpd.conf, чтобы убедиться, что ваш параметр DocumentRoot указывает в нужное место.
Проверьте файл разрешения для папки, на которую ссылается DocumentRoot, могут быть прочитаны пользователем, от имени которого работает веб-сервер.
Убедитесь, что у вас есть соответствующий index.html / index.htm и т. д., и что веб-сервер не пытается выполнить список каталогов.
hasonló problémákba ütköztem.
Nem tudtam elérni, hogy az apache 2.4 fusson, kivéve, ha az 'Allow All All'-t használtam, ez bosszantó volt, mivel tiszta szünetet akartam biztosítani <2.4 verziótól. Sok próba és hiba és sok keresés után megláttam az access_compat hivatkozást, és rájöttem, hogy ez csak a kompatibilitás miatt van. Bár az apache dokumentációja szerint mindkettő használható, javasolja, hogy ne tegye.
Ezt a modult eltávolítottam az / etc / sysconfig / apache2 betöltési fájlból, ez azonnal megoldotta a problémámat.
Üdvözlettel Liam
Произошло то, что синтаксис файлов конфигурации в apache2.4 изменился.
Источник: Это случилось со мной, поскольку после того, как я обновился до 13.10
Все файлы, которые были в /etc/apache2/conf.d
, должны быть перемещены в / etc / apache2 / conf-available
.
Теперь они работают так же, как сайты
и моды
. Просто поместите свои файлы conf в папку conf-available
и включите тот, который вам нужен, с помощью a2enconf
.
У меня был файл conf.d / httpd.conf
с директивой ServerName.
Чтобы это работало, мне пришлось переместить его в каталог conf-available
и включить вручную.
sudo mv /etc/apache2/conf.d/httpd.conf /etc/apache2/conf-available/httpd.conf
sudo a2enconf httpd
Ранее файлы в / etc / apache2 / sites-available
не имеет расширения. Например, / etc / apache2 / sites-available / default
. Теперь требуется расширение .conf
.
Если у вас был / etc / apache2 / sites-available / some-site
, в 13.04 вы можете просто включить он использует sudo a2ensite some-site
. Теперь вы получите сообщение об ошибке
ERROR: Site some-site не существует!
Чтобы исправить это, добавьте .conf
ко всем файлам конфигурации в sites-available
.
Вы можете сделать то же самое в сайтах с поддержкой
, или вы можете удалить все файлы и снова включить их каждый вручную.
Я рекомендую делать это вручную, поскольку вам, вероятно, потребуется исправить каждый VHost (следующий шаг ).
sudo find /etc/apache2/sites-available/ ! -iname '*.conf' -type f -exec mv '{}' '{}'.conf \;
, если вы решили выполнить их вручную:
sudo rm /etc/apache2/sites-enabled/*
sudo a2ensite your-site-name
Если у вас было следующее:
<Directory /path/to/your/site/>
order allow,deny
allow from all
</Directory>
Должно стать:
<Directory /path/to/your/site/>
Require all granted
</Directory>
Для получения дополнительной информации проверьте комментарии от DaveRandom на ответ на переполнение стека.
Проще говоря, если вы обновились до apache2.4 и сохранили старый httpd.conf
из apache2.2, директива allow должна работать нормально. Если вы обновили свой httpd.conf
(что я предлагаю), вы получите 403 ошибки, пока не измените Порядок
/ Разрешить
/ Запретить
на их эквивалент Требовать
.
Если у вас были параметры каталога,обратите внимание, что все они должны быть предварены +
или -
или вообще не должны быть добавлены. Сочетание обоих недопустимо:
Это разрешено:
<Directory /path/to/your/site/>
Options +Indexes +FollowSymLinks -MultiViews
</Directory>
Вот и это (Обратите внимание, что оба этих примера не делают одно и то же, предыдущий отключает MultiViews
, следующий - нет):
<Directory /path/to/your/site/>
Options Indexes FollowSymLinks MultiViews
</Directory>
Это больше не разрешено:
<Directory /path/to/your/site/>
Options Indexes FollowSymLinks -MultiViews
</Directory>
Последний вариант конфигурации вызовет синтаксическую ошибку:
Либо все параметры должны начинаться с + или -, либо нет Вариант может.
После того, как все будет сделано, вам необходимо перезапустить сервер apache, чтобы изменения вступили в силу:
sudo apache2ctl restart
Вы можете найти подробное руководство по обновлению с 2.2 до 2.4 по официальной документации.
Я обслуживаю файлы из нестандартного каталога, поэтому для выполнения обновления мне пришлось отредактировать /etc/apache2/apache2.conf и добавить: Индексы опций FollowSymLinks AllowOverride Нет Требовать все предоставлено
После этого и рекомендованных выше изменений ошибка 403 исчезла.