Ainda outro (13) Permissão negada erro no servidor Apache2

4

Eu simplesmente não consigo descobrir. Estou executando o apache2 em um servidor Ubuntu 10.04 i386. Sempre que visito meu servidor (tem um endereço IP e está conectado à Internet com IP estático xxx.xxx.xxx.xxx), então esse não é o problema) no navegador, mysub.domain.edu (renomeado aqui), eu recebo o seguinte:

Forbidden
You don't have permission to access /index.html on this server

O log de erros do apache2 confirma isso:

[Mon Apr 18 02:38:20 2011] [error] [client zzz.zzz.zzz.zzz] (13)Permission denied: access to / denied

Tentarei fornecer todas as informações necessárias abaixo:

1) Conteúdo do /etc/apache2/httpd.conf

DirectoryIndex index.html index.php

2) Conteúdo do / etc / apache2 / sites-available / default

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /home/myusername/htdocs
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
<Directory "/home/myusername/htdocs/">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
order allow,deny
allow from all
DirectoryIndex index.html index.php
Satisfy any
</Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
ServerName mysub.domain.edu

</VirtualHost>

3) Conteúdo do / etc / apache2 / sites-enabled / 000-default

<VirtualHost *:80>
ServerAdmin [email protected]

DocumentRoot /home/myusername/htdocs
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
<Directory "/home/myusername/htdocs/">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
order allow,deny
allow from all
DirectoryIndex index.html index.php
Satisfy any
</Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all 
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
ServerName mysub.domain.edu

</VirtualHost> 

4) Resultado de ls -l (quando estou usando o sudo -i para ser root):

root@myserver:/home/myusername# ls -l
total 4
drwxr-xr-x 2 www-data root 4096 2011-04-18 03:04 htdocs

5) ps auxwww | grep -i apache

root@myserver:/home# ps auxwww | grep -i apache
root     15121  0.0  0.4   5408  2544 ?        Ss   16:55   0:00 /usr/sbin/apache2 -k start
www-data 15122  0.0  0.3   5180  1760 ?        S    16:55   0:00 /usr/sbin/apache2 -k start
www-data 15123  0.0  0.5 227020  2788 ?        Sl   16:55   0:00 /usr/sbin/apache2 -k start
www-data 15124  0.0  0.5 227020  2864 ?        Sl   16:55   0:00 /usr/sbin/apache2 -k start
root     29133  0.0  0.1   3320   680 pts/0    R+   16:58   0:00 grep --color=auto -i apache

6) ls -al / home / myusername / htdocs /

root@myserver:/# ls -al /home/myusername/htdocs/
total 20
drwxr-xr-x 2 www-data   root       4096 2011-04-18 03:04 .
drw-r--r-- 4 myusername myusername 4096 2011-04-18 02:13 ..
-rw-r--r-- 1 root       root         69 2011-04-18 02:14 index.html

Atualmente, não estou usando nenhum arquivo .htaccess na minha pasta raiz da web (htdocs) na pasta do meu usuário.

Eu não sei o que está errado, eu tenho tentado consertar isso por mais de 12 horas e não cheguei a lugar nenhum. Se você tem alguma sugestão, eu sou todo ouvidos ...

    
por lollercoaster 18.04.2011 / 10:12

4 respostas

1

Faça seu / home / username e / home tem as permissões 755

EDITL: Eu adicionarei aqui para facilitar a leitura

Você postou isto:

drwxr-xr-x 2 www-data   root       4096 2011-04-18 03:04 .
drw-r--r-- 4 myusername myusername 4096 2011-04-18 02:13 ..

Como você pode ver, a pasta / home / myusername tem rw, r, r. Você precisa dar "x" para essa pasta e a pasta / home

chmod o+x /home
chmod o+x /home/myusername
    
por 18.04.2011 / 21:01
2

(isso é mais uma sugestão de depuração, pois acho que o Pratik respondeu à pergunta com o + x)

O erro que você mencionou é um erro de permissão do sistema de arquivos, portanto, a menos que seu arquivo de configuração do apache esteja redirecionando / aliasando para algum lugar restrito no sistema de arquivos, seu problema é com as permissões em / home / myusername / htdocs  diretório ou o arquivo index.html.

Para ver onde seu usuário do apache está sendo negado, execute o seguinte comando;

su -s /bin/bash apache

e tente

cd /home/myusername/htdocs
    
por 19.04.2011 / 00:04
0

Eu sempre começaria copiando suas configurações para o seu diretório pessoal e 'apt-get purge apache2'.

Em seguida, reinstale-o e faça um 'diff -y oldfile newfile' para ver as alterações. Se bizarramente não são mudanças de configuração, então são permissões no seu diretório raiz da web.

Só levará alguns minutos, a menos que você tenha muitos vhosts.

    
por 18.04.2011 / 12:42
0

CUIDADO com conselhos ruins sobre permissões. Geralmente você NÃO deve colocar 755 em seu diretório / home / username.

As permissões corretas estão documentadas no arquivo httpd.conf e vou colar as seções pertinentes aqui:

# This usually means that ~userid  (/home/username for the lay person)
# must have permissions of 711

NOTA 711 em ~ userid é recomendado, por favor, evite 755 para / home / username (~ userid) !!!!!!!! ,

#~userid/public_html must have permissions"
# of 755"

~ userid / public_html está ok para dar 755, mas se você der 755 à sua pasta ~ userid TODOS no seu sistema poderão acessar sua pasta pessoal e ler seus arquivos e executar arquivos em casa, geralmente uma prática BAD em um sistema multiusuário. 711 evita dar acesso de leitura ao grupo e outros

    
por 29.10.2013 / 12:39