Apache2: Proibido Você não tem permissão para acessar / dir / neste servidor

17

Eu posso acessar, localhostmas não os subdiretóriosindex.html

Minha default confaparência é:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</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 ${APACHE_LOG_DIR}/error.log

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

CustomLog ${APACHE_LOG_DIR}/access.log combined

Mesmo depois de permitir o read/edit/writeacesso ao diretório, é exibido o erro Proibido. Tentei todas as formas possíveis nos fóruns, não funcionou. Qualquer um tem uma solução.

Entre acima, tentei algo para sub directoryacessar:

<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>

Por favor, sugira-me uma solução possível. Obrigado!

Shobhit Sharma
fonte

Respostas:

17

Vamos deixar claro o vhost:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </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 ${APACHE_LOG_DIR}/error.log

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

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Em seguida, certifique-se de definir a permissão correta como esta:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
Achu
fonte
Eu fiz. Ainda o mesmo. Apache reiniciado também. Devo tentar modificar no apache.conf?
Shobhit Sharma
É o seguinte. Tentei alterar o diretório raiz, para o índice da minha pasta pessoal e ainda está apontando para / var / www. Preciso encontrar o arquivo conf.
Shobhit Sharma
@ShobhitSharma Por favor, tente o atualizado. Se você estiver tentando localizar o diretório vhost na pasta inicial, deverá criar apenas uma alteração diferente do vhost, em DocumentRoot /var/wwwvez de modificar a padrão.
Achu
Apenas ótimo. Só é necessário adicionar o usuário www-data. agora todo o meu usuário da rede local podem usar o conteúdo
DearDhruv