CentOs vhost mostra a página padrão do apache [closed]

1

Estou usando o CentOs 6.2. Neste servidor, quero hospedar um site. Eu criei um vhost no httpd.conf. Você pode ver a configuração abaixo.

O problema é que quando eu vou para o domínio eu recebo a página padrão do apache. Eu reiniciei o deamon httpd. Alguém sabe o que eu posso estar fazendo errado?

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin helpdesk@***.nl
    DocumentRoot /var/website
    ServerName ***.nl
    #ServerAlias www.***.nl
    ErrorLog logs/***.nl-error_log
    CustomLog logs/***.nl-access_log common
</VirtualHost>

EDITAR: Eu verifiquei os logs: Log de acesso:

77.160.172.88 - - [27/Nov/2012:20:37:10 +0100] "GET / HTTP/1.1" 403 5039
77.160.172.88 - - [27/Nov/2012:20:37:11 +0100] "GET /favicon.ico HTTP/1.1" 403 295

Registro de erros:

[Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.php denied
[Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.html denied
[Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.html.var denied
[Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /favicon.ico denied

Permissões:

[root@srv2 website]# ls -la
total 17536
drwx------ 10 kvdp kvdp     4096 Nov 26 23:01 .
drwxr-xr-x 20 root root     4096 Nov 26 22:30 ..
-rw-r--r--  1 kvdp kvdp       37 Nov 26 22:31 35a12fb7ab5a.html
-rw-r--r--  1 kvdp kvdp      515 Nov 26 22:31 400.shtml
-rw-r--r--  1 kvdp kvdp      515 Nov 26 22:31 401.shtml
-rw-r--r--  1 kvdp kvdp      515 Nov 26 22:31 403.shtml
-rw-r--r--  1 kvdp kvdp      515 Nov 26 22:31 404.shtml
-rw-r--r--  1 kvdp kvdp      515 Nov 26 22:31 500.shtml
-rw-r--r--  1 kvdp kvdp 17816103 Nov 26 22:41 admin_kvdp.sql
drw-r--r--  2 kvdp kvdp     4096 Nov 26 22:31 _api
drw-r--r-- 13 kvdp kvdp     4096 Nov 26 22:33 beheer
drw-r--r--  2 kvdp kvdp     4096 Nov 26 22:33 cgi-bin
drw-r--r--  2 kvdp kvdp     4096 Nov 26 22:31 _config
-rw-r--r--  1 kvdp kvdp      728 Nov 26 22:31 controller.inc.php
-rw-r--r--  1 kvdp kvdp      813 Nov 26 22:31 controller.view.inc.php
-rw-r--r--  1 kvdp kvdp       53 Nov 26 22:31 google3f6160378ab03426.html
-rw-r--r--  1 kvdp kvdp      611 Nov 26 22:31 .htaccess
-rw-r--r--  1 kvdp kvdp     1978 Nov 26 22:31 index.php
drw-r--r--  3 kvdp kvdp     4096 Nov 26 22:31 _libs
drw-r--r--  6 kvdp kvdp     4096 Nov 26 22:31 _models
-rw-r--r--  1 kvdp kvdp      232 Nov 26 22:31 robots.txt
-rw-r--r--  1 kvdp kvdp       11 Nov 26 22:31 test.php
drw-r--r--  4 kvdp kvdp     4096 Nov 26 22:35 upload
drw-r--r--  5 kvdp kvdp     4096 Nov 26 22:31 _views
    
por Bernhard 27.11.2012 / 15:47

3 respostas

3

Primeiro, verifique se a conta de usuário que o Apache está executando tem acesso à sua pasta website (também será necessário acessar transversalmente todas as pastas acima dela no caminho):

ps aux | grep httpd

Você deve ver linhas como:

apache    1336  0.0  1.1 282772  6008 ?        S    03:24   0:00 /usr/sbin/httpd
apache    1338  0.0  1.1 282772  6008 ?        S    03:24   0:00 /usr/sbin/httpd

A primeira coluna é a conta de usuário que precisa ter acesso às suas pastas.

Se tudo isso parece bom, verifique se você está executando o SELinux. Em caso afirmativo, o diretório /var/website provavelmente ainda está no contexto default_t security. Verifique com:

ls -Z /var/website

Você provavelmente verá algo assim:

drwxr-xr-x  root root user_u:object_r:default_t        website

Nesse caso, você pode alterar o contexto de segurança com o comando chcon :

chcon -Rv --type=httpd_sys_content_t /var/website

Alternativamente, você pode desativar o SELinux para o Apache (como root):

  1. Edite /etc/selinux/targeted/booleans e defina httpd_disable_trans igual a 1.
  2. Execute setsebool httpd_disable_trans 1 para garantir que o valor booleano esteja definido para sua sessão atual.
  3. Reinicie o apache com service httpd restart .

Ou, se este é um servidor de desenvolvimento e você não se preocupa em executar o SELinux, você pode efetivamente desativá-lo configurando-o para o modo "permissivo" (como root):

  1. Edite /etc/selinux/config e defina SELINUX igual a permissive .
  2. Reinicialize.
  3. Execute getenforce para verificar se o SELinux está no modo permissivo.

No seu caso, o problema é esta linha:

[root@srv2 website]# ls -la
total 17536
drwx------ 10 kvdp kvdp     4096 Nov 26 23:01 .

Isso significa que somente sua conta de usuário ( kvdp ) tem acesso à pasta. Execute o seguinte comando na sua pasta /var/website para corrigir a situação:

chmod go+rx .
    
por 27.11.2012 / 16:30
0

Existem alguns possíveis problemas aqui. Como o Adam disse, você pode precisar apenas de um arquivo index.html no / var / website. Como esse não é um diretório padrão, talvez seja necessário verificar as permissões nesse diretório (você obterá a página de erro se o processo httpd não puder ler arquivos nele). A última coisa que posso pensar é que você tem o SELinux no modo enforcing e esse diretório não está rotulado com o contexto correto.

    
por 27.11.2012 / 16:12
0

Você tem o php5 instalado, certo? Se você não o apache não pode servir páginas PHP e você vai voltar para um padrão "Bem-vindo ao Apache!" página.

Eu não usei nada do CentOS nem um pouco, então estou um pouco enferrujado. Os arquivos da web não são de propriedade do usuário do servidor da Web ou, pelo menos, legíveis pelo usuário do Apache? Se o servidor da Web não puder ler o arquivo, isso também poderá explicar o comportamento que você está vendo. Parece que de seus logs. O servidor da Web está recebendo acesso negado ao seu diretório da Web.

    
por 27.11.2012 / 21:38