Descobriu-se que você precisava explicitamente dizer Opções + Índices na configuração httpd. Obrigado a todos por suas respostas.
Eu tenho uma pasta (que NÃO é a pasta convencional / var / www / html!) / Servidor / Websites / Padrão no meu servidor Centos6.4. Existe apenas um arquivo, phpinfo.php (com o código óbvio). Executando http://localhost/Default/phpinfo.php
no firefox, mostra a página correta de informações do php. Quando visito a página http://localhost/Default/
, ela mostra um Proibido 'Você não tem permissão para acessar / neste servidor'. página. Eu quero listar o conteúdo do diretório.
No meu arquivo /etc/httpd/conf/httpd.conf, eu tenho (muito tempo para exibir, então estou colando algumas linhas-chave que eu acho que importam):
DocumentRoot "/Server/Websites"
<Directory /Server/Websites>
Options +Indexes Includes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SELinux sábio, eu também tenho para # 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
e # ls -lZ
:
drwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 Websites
O que estou supervisionando?
Primeiro, verifique as permissões do diretório / Servidor / Sites / Padrão. Seu usuário Apache (no apache RHEL / CentOS) tem permissões para listar o conteto do diretório (pelo menos r-x para este usuário)?
Em segundo lugar, tente verificar se o SELinux é responsável. Tente ativar temporariamente o modo permissivo somente com
setenforce 0
Se funcionar agora, pode haver um problema com o contexto dos seus diretórios / arquivos. Reative o modo de imposição com
setenforce 1
e renomear sua nova estrutura de diretórios recursivamente com
chcon -R --reference=/var/www /Server/Websites
Isso ajuda?