Quero configurar um servidor web local no meu Ubuntu (14.04). Então eu instalei todo o software para obter um servidor LAMP.
O problema é que eu faço algo errado ao criar meus virtualhosts. Eu queria criar subdomínios diferentes no meu host local. Por exemplo, site1.localhost e site2.localhost.
No meu /var/www/
diretório, criei um link simbólico "site1" indo para /home/user/Workspaces/site1
.
No meu arquivo error.log do Apache, recebi o seguinte erro.
[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1
Na minha configuração do apache eu tenho:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Então, acho que há algo errado com as permissões das pastas. Pesquisei no Google e encontrei algumas pessoas com o mesmo problema, mas todas as respostas fornecidas lá não deram certo. Eu adicionei meu próprio nome de usuário ao grupo www-data e coisas assim.
Então ls -la /var/www
retorna:
total 12
drwxrwsr-x 3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root 4096 okt 1 22:50 ..
drwxr-xr-x 2 root www-data 4096 okt 1 22:50 html
lrwxrwxrwx 1 root www-data 29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/
e ls -la /home/juul/Workspaces/site1
retorna:
total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user 4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user 0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project
Espero que alguém possa me ajudar com isso :-)
fonte
Eu tenho uma instalação padrão do apache no 14.04. Não há arquivos ou diretórios especificando "www-data". Você mesmo mudou tudo isso? Há muitas informações desatualizadas ou simplesmente incorretas sobre como configurar servidores da Web; portanto, tenha cuidado com quem você segue e desfaça o que não funciona.
Dito isto, "site1" deve estar no
html
diretório e pertencer a você. Realmente não precisa ser um link simbólico; você pode especificar um diretório diferente no arquivo de configuração. Algo assim:fonte
Solução: Link simbólico não permitidos ou destino do link não está acessível:
/var/www/html/mySymbolicLink
.Isso claramente é um problema com as permissões. O problema é que o html no diretório inicial é de propriedade do usuário e o servidor apache é executado por outro usuário, portanto, não é possível acessar o diretório inicial.
A solução seria adicionar o usuário executando o apache ao seu grupo, normalmente o mesmo que o seu nome de usuário. Então, na minha caixa do CentOS, fiz como:
Portanto, adicione o usuário apache ao grupo dev. Agora eu preciso dar permissões de execução.
Em
/home
:Isso concederá permissão de execução para minha pasta apenas para os membros do grupo. E é isso. Você precisará modificar o usuário do Apache para o que estiver executando seu servidor web, acredito que para o Ubuntu o usuário esteja
www-data
.fonte