Desativar o SELinux no apache para parar o aviso

0

Continuo recebendo este erro quando reinicio o httpd :

DocumentRoot does not exist

O que mais eu posso fazer além de desativar a edição de /etc/sysconfig/selinux para corrigi-lo?

    
por freja 05.12.2012 / 05:25

2 respostas

2

Abra o arquivo / etc / selinux / targeted / booleans usando um editor de texto:

# vi /etc/selinux/targeted/booleans

Anexe ou modifique o valor para httpd_disable_trans da seguinte forma:

httpd_disable_trans=1

Salve e feche o arquivo. Digite os dois comandos a seguir:

# setsebool httpd_disable_trans 1
# /etc/init.d/httpd restart

PostInstallerF pode ajudá-lo

Você pode receber ajuda dos seguintes recursos

por 05.12.2012 / 06:46
2

Não desative o SELinux. Isso é só pedir problemas.

Quanto a resolver o problema, vou apenas citar-me aqui:

Parece que você criou um novo diretório fora da hierarquia padrão do sistema de arquivos para armazenar seus documentos da Web.

Quando você faz isso, o SELinux não está ciente de sua estrutura de diretórios customizada, e não sabe que o Apache (httpd) deve ter acesso a ela. Você verá mensagens em /var/log/audit/audit.log mostrando negações neste caso.

Para resolver o problema, você precisa dizer ao SELinux que o Apache pode acessar o diretório. Faça isso usando o semanage fcontext comando:

semanage fcontext -a -t httpd_sys_content_t "/volume1/web(/.*)?"

A correspondência de padrões é feita com expressões regulares, portanto, isso corresponderá a /volume1/web e tudo abaixo dela. O fato de que ele usa expressões regulares também significa que você precisa citá-lo como mostrado acima.

Em seguida, reclassifique os arquivos:

restorecon -r -v /volume1/web

O SELinux agora permitirá que o Apache acesse arquivos em /volume1/web .

    
por 10.12.2012 / 20:45