Tendo pulado várias centenas de aros, finalmente consegui que o Centos 5.8 montasse uma pasta compartilhada do VirtualBox (que é não read-only), que agora aparece em:
/media/sf_sites
Esta é uma pasta na minha máquina host (Mac OS X 10.8.2) contendo sites.
O diretório e suas subpastas são todos de propriedade do usuário root
e grupo vboxsf
Eu adicionei o usuário apache
para o grupo vboxsf
Contudo httpd não me permite usar minha pasta compartilhada como raiz do documento. Meu vhost está configurado como:
DocumentRoot /media/sf_sites/mysite/public
No Apache reiniciar eu recebo isso:
Starting httpd: Warning: DocumentRoot [/media/sf_sites/mysite/public] does not exist
[ OK ]
E, sem surpresa, ao visualizar o site no meu navegador, recebo um erro 403. ("Você não tem permissão para acessar / neste servidor")
Alguma idéia se é possível fazer isso funcionar?
Eu quero desenvolver no meu Mac, mas usar o Linux no VirtualBox como meu servidor de desenvolvimento. Existe uma maneira alternativa de fazer isso?
fonte
DocumentRoot [/var/www/sites/mysite/public] does not exist
user_allow_other
definido em/etc/fuse.conf
esshfs -o allow_other [email protected]:/Users/me/Sites /var/www/sites
. Mas o Apache lançando erros "inesperados no final do arquivo" em error_log.sudo su - apache
antes de fazer o monte sshfs?Isso porque o contexto de segurança do SELinux da pasta compartilhada não permite que o Apache o use. Como o contexto de segurança das pastas compartilhadas VBox não pode ser alterado, você pode modificar a política de segurança do SELinux para permitir que o Apache trabalhe com o contexto. É semelhante a abrir uma porta no firewall para expor uma determinada porta a um aplicativo. NÃO é uma boa ideia desligar o SELinux como outros sugeriram, pois isso deixa o servidor mais vulnerável.
Primeiro, certifique-se de que seu usuário do apache faça parte do grupo que possui a pasta compartilhada, se não for, você pode adicioná-lo com um comando que seria assim (os nomes de usuário / grupo podem ser diferentes em seu sistema):
Então você pode usar audit2allow para gerar uma nova política de segurança para solucionar seus problemas. Aqui está um bom tutorial .
Se você é preguiçoso e só quer permitir acesso de leitura Apache às suas pastas compartilhadas VBox, provavelmente você pode adaptar o seguinte
my_httpd_t.te
arquivo de política e use os comandos incluídos para aplicá-lo em seu sistema.fonte
Eu nunca resolvi os problemas do 'fim de arquivo inesperado', mas depois Vagabundo veio junto e isso faz todo o trabalho duro para você.
fonte
Você precisa desativar o SELinux se precisar definir uma pasta compartilhada como
DocumentRoot
do seu servidor Apache.Vamos para
/etc/selinux/config
e atualize-o para ler:Em seguida, reinicie sua máquina virtual. Isso funciona com o vagrant também.
fonte