Позвольте подкаталог с Apache

6
задан 7 June 2013 в 17:29
5 ответов

Вам не нужно специально разрешать доступ к каталогу ниже того, который уже настроен в httpd.conf

Поскольку / var / www / html настроен с параметром «AllowOverride None», то проблема не связана с файлом .htaccess, изменяющим права доступа.

Единственная оставшаяся причина заключается в том, что разрешения на файлы и каталоги не позволяют uid веб-сервера читать из этого каталога. Какие они есть и какими они должны быть, зависит от вашей модели безопасности. Но в качестве быстрого исправления вы можете попробовать:

# chmod a+rx /var/www/html/test
# chmod a+r /var/www/html/*

Если это решит проблему, найдите время, чтобы исправить право собственности и права доступа к файлам на что-то более подходящее.

8
ответ дан 3 December 2019 в 00:13

Обычно я рекомендую сначала заглянуть в http error_log, чтобы увидеть точную проблему.

При конфигурации по умолчанию у вас должен быть доступ к каталогу мастерской-5.4:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Если вы по-прежнему не можете получить доступ к каталогу, все указывает на права доступа к каталогу, в этом случае я предлагаю попробовать:

chown -R apache.apache /var/www/html  # Assuming apache as default User
chmod -R 755 /var/www/html            # Making sure all users can read and execute

На отдельном терминале выполните следующие команды:

apachectl configtest && apachectl restart
tail -f /etc/httpd/logs/error_log     # Assuming default error_log location

Попробуйте добавить простой файл HTML, например (example.html ):

<html>
<head><body>It works!</body></head>
</html>

Наконец, перезагрузите страницу, попробуйте загрузить example.html и взгляните на вывод команды tail .

3
ответ дан 3 December 2019 в 00:13

Прокомментируйте эти директивы и просто установите DocumentRoot / var / www / html и chown -R apache: apache / var / www / html и перезапустите httpd .

Директива должна использоваться для применения группы директив к определенному каталогу файловой системы (т.е. изменения разрешений), поэтому обычно вы хотите использовать его в .

0
ответ дан 3 December 2019 в 00:13

В моем случае был включен SE Linux.

setenforce 0

, чтобы отключить его (только в целях тестирования)

0
ответ дан 3 December 2019 в 00:13

Еще один случай, в комментариях упоминается, что каталог был скопирован с файлами в нем.

Там может быть файл .htaccess с конфигурацией, вызывающей ошибку 403.

Файлы, имена которых начинаются с точки "." скрыты в Unix, чтобы показать их, используйте ls -a .

Документация здесь: https://httpd.apache.org/docs/current/howto/htaccess.html

0
ответ дан 15 December 2019 в 09:38

Теги

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