,

Resolvendo problema Upload – Apache + PHP + SElinux

Salve!

Geralmente os arquivos do servidor ficam no /data/www/html/sites/mysite, e habilitados para escrever, conforme configuração do vhost, escrevendo em um diretorio de log.

Primeiro, vamos ajustar as permissões do diretorio do site: /data/www/html/sites/mysite ( nesse momento vamos atravez do chown configurar o proprietário da pasta, com a opção -R para aplicar nos subdiretórios.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ususario e grupo "donos" dos arquivos.
sudo chown apache:apache -R /data/www/html/sites/mysite
cd /data/www/html/sites/mysite
# Permissão de arquivos, recursive
find . -type f -exec chmod 0644 {} \;
# Permissão de diretorio, recursive
find . -type d -exec chmod 0755 {} \;
# SELinux: informar sobre os arquivos do site, recursivamente
sudo chcon -t httpd_sys_content_t /data/www/html/sites/mysite -R
# Habilitar escrita em diretorios especificos
sudo chcon -t httpd_sys_rw_content_t /data/www/html/sites/mysite/logs -R
sudo chcon -t httpd_sys_rw_content_t /data/www/html/sites/mysite/uploads -R

httpd_sys_content_t – informar ao Apache um diretorio de conteudo e httpd_sys_rw_content_t – para informar o Apache, permitir a escrita o diretorio.