У меня есть папка (это НЕ обычная папка / var / www / html!) / Server / Websites / Default на моем сервере Centos6.4. Есть только один файл, phpinfo.php (с очевидным кодом). Бег http://localhost/Default/phpinfo.php
в firefox показывает правильную информационную страницу php. Когда я приезжаю http://localhost/Default/
На странице отображается Запрещено: «У вас нет разрешения на доступ к этому серверу». страница. Я хочу, чтобы он отображал содержимое каталога.
В моем файле /etc/httpd/conf/httpd.conf у меня есть (слишком длинный для отображения, поэтому я вставляю некоторые ключевые строки, которые, на мой взгляд, имеют значение):
DocumentRoot "/Server/Websites"
<Directory /Server/Websites>
Options +Indexes Includes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Мудрый SELinux, у меня также есть # getsebool -a | grep httpd
:
allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_manage_ipa --> off
httpd_read_user_content --> off
httpd_run_stickshift --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_fusefs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
httpd_use_openstack --> off
httpd_verify_dns --> off
И # ls -lZ
:
drwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 Websites
Что я контролирую?
Оказалось, что вам нужно было явно указать Параметры + Индексы в конфигурации httpd. Большое вам спасибо за ваши ответы.
Прежде всего, проверьте права доступа к каталогу / Сервер / Сайты / Default. Имеет ли ваш пользователь Apache (в RHEL / CentOS apache) разрешения на перечисление контекста каталога (по крайней мере, r-x для этого пользователя)?
Во-вторых, попробуйте проверить, отвечает ли SELinux. Попробуйте временно включить разрешающий режим только с
setenforce 0
Если это работает сейчас, возможно, возникла проблема с контекстом ваших каталогов / файлов. Повторно включить принудительный режим с помощью
setenforce 1
и рекурсивно переименуйте новую структуру каталогов с помощью
chcon -R --reference=/var/www /Server/Websites
Помогает?