Apache2: Forbidden Non hai i permessi per accedere a / dir / su questo server


17

Posso accedere localhostma non alle directory secondarieindex.html

Il mio default confaspetto è:

<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

Anche dopo aver consentito l' read/edit/writeaccesso alla directory, mostra l'errore Proibito. Ho provato tutte le possibili vie d'uscita nei forum, non ha funzionato. Chiunque ha una soluzione.

Tra sopra ho provato qualcosa per l' sub directoryaccesso:

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

Per favore, suggeriscimi una possibile soluzione. Grazie!

Risposte:


17

Rendiamo chiaro il 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>

Quindi assicurati di impostare l'autorizzazione giusta in questo modo:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www

L'ho fatto. Ancora lo stesso. Anche Apache riavviato. Dovrei provare a modificare in apache.conf invece?
Shobhit Sharma,

Ecco la cosa Ho provato a cambiare la directory principale, l'indice della mia cartella home e sta ancora puntando a / var / www. Devo trovare il file conf corretto.
Shobhit Sharma,

@ShobhitSharma Prova con quello aggiornato. Se si tenta di individuare la directory del vhost nella cartella principale, è necessario creare solo una diversa modifica del vhost DocumentRoot /var/wwwinvece di modificare quella predefinita.
Achu,

Semplicemente fantastico. È necessario solo aggiungere l'utente www-data. ora tutti i miei utenti della rete locale possono utilizzare il contenuto
DearDhruv,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.