Apache2: Interdit Vous n'êtes pas autorisé à accéder à / dir / sur ce serveur


17

Je peux accéder localhostaux sous-répertoires mais pasindex.html

Mes default conflooks:

<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

Même après avoir autorisé l' read/edit/writeaccès au répertoire, il affiche l'erreur interdite. J'ai essayé toutes les solutions possibles dans les forums, ça n'a pas marché. Tout le monde a une solution.

Entre ci-dessus, j'ai essayé quelque chose pour l' sub directoryaccès:

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

Veuillez me suggérer une solution possible. Merci!

Réponses:


17

Rendons le vhost clair:

<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>

Assurez-vous ensuite de définir la bonne autorisation comme ceci:

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

Je l'ai fait. Toujours le même. Apache a également redémarré. Dois-je plutôt essayer de modifier dans apache.conf?
Shobhit Sharma

Voici la chose. J'ai essayé de changer le répertoire racine, mon index de dossier personnel et son pointage toujours vers / var / www. Je dois trouver le bon fichier de conf.
Shobhit Sharma

@ShobhitSharma Veuillez essayer celui mis à jour. Si vous essayez de localiser votre répertoire vhost dans le dossier de base, vous devez créer un changement de vhost différent uniquement DocumentRoot /var/wwwau lieu de modifier celui par défaut.
Achu

Tout simplement génial. Seul besoin d'ajouter l'utilisateur www-data. maintenant, tout mon utilisateur du réseau local peut utiliser le contenu
DearDhruv
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.