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!

Shobhit Sharma
la source

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
Achu
la source
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