Os hosts virtuais do Apache não estão funcionando (erro 403)

0

Eu instalei o servidor apache2, php e mysql no meu Ubuntu 14.04 e fui testado e tudo está funcionando como esperado.

Eu tenho aplicativo criado usando codeigniter & amp; foi desenvolvido no mac osx, então eu criei o seguinte para executá-lo no meu Ubuntu:

crie um novo arquivo de configuração de site dentro dos sites disponíveis, chamado payroll-v1.conf, como abaixo:

<VirtualHost *:80>
ServerName  payroll.v1
DocumentRoot /home/ahmed-saber/workspace/payroll-v1/

<Directory /home/ahmed-saber/workspace/payroll-v1/>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory> 

</VirtualHost>

adicionando a linha abaixo ao etc / hosts

127.0.0.1   payroll.v1

embora meu aplicativo não funcione e sempre envie 403 proibido mesmo se eu tentar acessar qualquer página html estática para teste

    
por ahmedsaber111 18.03.2015 / 03:57

3 respostas

2

O erro 403 significa que suas páginas estão inacessíveis para o Apache.

Definir chmod -R 755 como você fez, tornou acessível para todos no seu sistema - todo usuário, programa, daemon etc. Além disso, você tornou todos os arquivos executáveis dessa forma (consulte este ou isto para mais informações sobre permissões e executáveis no Linux).

Uma solução mais segura, porém simples, estará se adicionando ao grupo do Apache (no Ubuntu, seu www-data ) e, em seguida, alterando seu espaço de trabalho do Apache para este grupo:

sudo adduser ahmed-saber www-data
sudo chown .www-data /home/ahmed-saber/workspace/
chmod 750 /home/ahmed-saber/workspace/

Para uma abordagem mais segura, você pode usar Lista de Controle de Acesso , o que pode ser um pouco mais complicado.

Em situações como essa, você sempre pode verificar o log de erros do Apache ( /var/log/apache2/error.log ). Se você está desenvolvendo páginas da web, você pode manter uma janela de terminal aberta com a "exibição ao vivo" de logs ( error.log ou access.log ou qualquer outro), assim:

tail -f /var/log/apache2/error.log
    
por madneon 19.03.2015 / 02:01
1

Você precisa adicionar uma linha

ServerName  payroll.v1

dentro da sua definição VirtualHost para informar ao Apache o nome do host usado para este VirtualHost.

    
por Florian Diesch 18.03.2015 / 09:34
0

O problema foi resolvido executando o seguinte

% bl0ck_qu0te%

também página em branco devido a alguns erros de php

    
por ahmedsaber111 18.03.2015 / 23:58