web-dev-qa-db-fra.com

403 Interdit après la modification du répertoire DocumentRoot Apache 2.4.6

Je viens donc d'installer une machine virtuelle avec Ubuntu 13.10. Je voulais jouer avec Apache 2.4.6 avant de mettre à jour mes serveurs Ubuntu 12.04. Je veux que la racine de mon document soit dans mon dossier personnel et je l'ai donc changé dans le etc/Apache2/sites-available/000-default.conf

Quand j'ai fait cela, je viens de recevoir le message interdit. J'ai défini les nouvelles autorisations de dossier sur 777 mais je suis toujours interdit. J'ai même mis un fichier index.html dans le nouveau répertoire qui dit simplement bonjour le monde mais rien encore. Voici mon fichier 000-default.conf.

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual Host. For the default virtual Host (this file) this
# value is not decisive as it is used as a last resort Host regardless.
# However, you must set it for any further virtual Host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /home/everett/webroot

<Directory /home/everett/webroot>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>


# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual Host. For example the
# following line enables the CGI configuration for this Host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=Apache ts=4 sw=4 sts=4 sr noet
27
evaldez

J'ai eu exactement le même problème et je l'ai résolu comme ceci:

Premier; J'ai suivi les étapes comme expliqué sur le Pages du Guide du serveur Ubunt

  1. Allez au terminal et copiez la configuration de l'hôte virtuel par défaut dans une nouvelle (Sudo cp /etc/Apache2/sites-available/000-default.conf /etc/Apache2/sites-available/mynewsite.conf)
  2. Editez ce nouveau fichier (Sudo gedit /etc/Apache2/sites-available/mynewsite.conf) et remplacez le DocumentRoot par le vôtre (enregistrez et fermez ..)
  3. Activez ce nouveau fichier de configuration (Sudo a2ensite mynewsite.conf) et dissable celui par défaut ( Sudo a2dissite 000-default.conf)
  4. Editez le Apache2.conf (Sudo gedit /etc/Apache2/Apache2.conf) et changez la section par défaut en ceci: <Directory [write_your_dir_here]> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> (enregistrer et fermer ..)
  5. Redémarrez Apache2 (Sudo service Apache2 restart)

Si cela fonctionne déjà: génial!


Dans le cas contraire, vous devriez vérifier si chaque <VirtualHost *:80> basé sur un nom requiert un ensemble ServerNamedistinct, y compris 000-default.conf s'il existe. Vous pouvez exécuter apachectl -S dans le terminal pour voir une liste rapide de tout.


Si cela ne fonctionne toujours pas, vous devriez vérifier si votre répertoire (et le chemin complet qui y conduit!) A le droit de lire et d'exécuter - autorisations (rx).

  1. Allez à votre racine (cd /) et faites ls -l où vous pouvez voir quelque chose comme drwxr-xr-x 14 root root 4096 mei 1 01:24 [your_directory].
  2. Tous vos répertoires menant au dossier www devraient avoir les droits de "drwxr-xr-x", sinon vous pouvez les changer en utilisant Sudo chmod -R a+rx [your_directory]

Si vous ne parvenez toujours pas à le faire fonctionner, vous devriez vérifier le journal des erreurs Apache (Sudo gedit /var/log/Apache2/error.log) et continuer à creuser ...

Bonne chance!

65
user276513

Cher je voulais vous informer que vous modifiez votre configuration Apache par défaut.

Supprimez ces lignes de votre fichier 000-default.conf.

 <Répertoire/home/everett/webroot>
Options FollowSymLinks MultiViews
AllowOverride All
Ordre permettre, refuser
Exiger tout accordé
</ Répertoire>

Ouvrez votre fichier Apache.conf (/etc/Apache2/Apache.conf) et recherchez Directory ou allez à la ligne no. 172. où vous trouvez "répertoire/var/www /" Définissez votre répertoire "/ home/everett/webroot" ici, sauvegardez et redémarrez votre Apache et actualisez votre page Web.

6
Abdul Kadir