Ошибка 403 после обновления до apache2.4

После обновления с сервера Ubuntu 13.04 страницы www не будут отображаться.

Ошибка 403 Запрещено. У вас нет прав для доступа к / на этом сервере.

Я изменил сохранение доступа с apache2.2 на apache2.4, но это не сработало. Что еще я мог сделать?

34
задан 30 April 2014 в 08:43

4 ответа

Я предполагаю, что веб-сайты работают на вашем сервере Ubuntu.

Проверьте свой httpd.conf, чтобы убедиться, что ваш параметр DocumentRoot указывает в нужное место.

Проверьте файл разрешения для папки, на которую ссылается DocumentRoot, могут быть прочитаны пользователем, от имени которого работает веб-сервер.

Убедитесь, что у вас есть соответствующий index.html / index.htm и т. д., и что веб-сервер не пытается выполнить список каталогов.

0
ответ дан 30 April 2014 в 08:43

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

0
ответ дан 30 April 2014 в 08:43

Произошло то, что синтаксис файлов конфигурации в apache2.4 изменился.

Источник: Это случилось со мной, поскольку после того, как я обновился до 13.10

conf.d files

Все файлы, которые были в /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

sites files

Ранее файлы в / 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

После того, как все будет сделано, вам необходимо перезапустить сервер apache, чтобы изменения вступили в силу:

 sudo apache2ctl restart

Вы можете найти подробное руководство по обновлению с 2.2 до 2.4 по официальной документации.

60
ответ дан 30 April 2014 в 08:43

Я обслуживаю файлы из нестандартного каталога, поэтому для выполнения обновления мне пришлось отредактировать /etc/apache2/apache2.conf и добавить: Индексы опций FollowSymLinks AllowOverride Нет Требовать все предоставлено

После этого и рекомендованных выше изменений ошибка 403 исчезла.

-1
ответ дан 30 April 2014 в 08:43

Другие вопросы по тегам:

Похожие вопросы: