Se a memória funcionar, você provavelmente precisará executar chcon -R -h -t httpd_sys_content_t /var/www/html
Isso recursivamente define seu diretório de conteúdo para o contexto apropriado para o Apache.
Estou trabalhando com uma nova instalação do Fedora 16 e estou tentando colocar o Apache em funcionamento. Estou muito familiarizado com o Linux e um pouco com o CentOS, mas tenho pouca experiência com o Fedora e o SELinux (seja lá o que for).
Primeiro, depois de instalar o Apache, não consegui ver o exemplo da página da Web. Fiz algumas buscas e finalmente consertei esse problema editando o iptables.
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables-save
Eu fui em frente e comecei a colocar alguns arquivos na raiz da web, certificando-me de que as permissões foram definidas corretamente.
$ ls -Rlhp /var/www/html/
/var/www/html/:
total 8.0K
drwxr-xr-x. 2 apache root 4.0K Apr 20 22:47 files/
/var/www/html/files:
total 25M
-rw-r--r--. 1 apache users 25M Apr 20 22:47 SRR022918.errors.tar.gz
Mas quando eu naveguei para a URL correspondente ( my.server.edu/files/SRR022918.errors.tar.gz
), recebi um erro 403 Permission denied. Eu verifiquei o log de erro do Apache e encontrei esta mensagem.
[Fri Apr 20 23:09:55 2012] [error] [client xxx.xxx.xx.xx] (13)Permission denied: file permissions deny server access: /var/www/html/files/SRR022918.errors.tar.gz
Eu tentei configurar permissões de arquivos e diretórios para o 777, mas isso não resolveu o problema. Isso é realmente suspeito, então eu acho que isso tem algo a ver com o SELinux. Eu não tenho experiência com o SELinux, então estou no caminho certo? Se sim, como faço para corrigir isso?
Este problema de permissão de arquivo é, como você esperava, devido ao SELinux. É bastante complicado, mas o pessoal do CentOS criou um wiki muito bom para você ir . Em suma, você pode desativar o SELinux (totalmente ruim), configurá-lo para o modo permissivo (um pouco menos ruim) ou trabalhar com o SELinux. Como o wiki repassa os detalhes de uma maneira bastante sucinta, eu o mantenho DRY e deixo você ler o wiki.
Consertei o meu copiando os arquivos para / var / www / html e restaurando o contexto padrão para essa pasta usando:
restorecon -Rv /var/www/html
Tags permissions fedora selinux