Où placer mon site Web local à partir de la version 2.4.7 d’apache2?


50

J'ai récemment installé Ubuntu 14.04, puis j'ai installé lamp-serveret placé mes pages Web dans un /var/wwwrépertoire, mais lorsque j'ai ouvert localhost dans le navigateur, il n'y avait rien. Je pense que cela est dû au fait que Zend a mis à jour Apache.

Quelle que soit la raison, je veux savoir où conserver mes fichiers php pour pouvoir y accéder depuis mon navigateur.


Bien que ce ne soit pas une réponse à la question du PO, la réponse suivante peut aider certains visiteurs qui tombent sur cette question tout en essayant de résoudre un problème connexe: askubuntu.com/a/525120/1183
augustin

Réponses:


76

La version apache2 publiée lors de la publication de la version Ubuntu 14.04 est 2.4.7 et, à partir de cette version, il semble que, pour des raisons de sécurité, le nouveau répertoire racine du serveur est le suivant:

/var/www/html

Donc, à partir de maintenant, c'est ici que vous devez placer les fichiers pour votre site Web (local). Vous ne devriez plus avoir ce problème avec les futures mises à jour.


Quoi qu'il en soit, si vous voulez changer ce répertoire avec un autre, vous devez modifier (en tant que root) la ligne suivante à partir de /etc/apache2/sites-available/000-default.conffile ( sudo nano /etc/apache2/sites-available/000-default.conf):

DocumentRoot /var/www/html

à

DocumentRoot /path/to/another/directory

Après cela, pour que les nouvelles modifications prennent effet, vous devez redémarrer le serveur Apache à l'aide de la commande suivante:

sudo service apache2 restart

10
Intéressant, j'ai essayé de chercher le raisonnement derrière ce déménagement. Si quelqu'un est intéressé, j'ai trouvé ce rapport de bogue dans Debian qui l'explique.
Dan

4
Je reçois une erreur interdite après ce changement.
Darshana

1
@Darshana La configuration par défaut d'Apache2.4 ne permet pas à Apache d'accéder à l'extérieur /var/www/html. En plaçant votre site ailleurs que dans ce répertoire (ou dans ses sous-répertoires), vous obtiendrez une erreur 403. Vous devez ajouter une <Directory /path/to/your/site>directive à vos configurations VHost avec une requiredirective .
Dan

Cela n'a pas fonctionné pour moi.
user124384

Idem ici .. Sa me donne maintenant l'erreur 403 interdite! Comment dois-je le résoudre (De manière plus simple et plus simple, S'IL VOUS PLAÎT)
abhishah901

27

Au lieu de /etc/apache2/sites-available/000-default.confrevenir à l'ancienne version, je préfère garder les fichiers de paquet par défaut non modifiés.

Une raison à cela est que cela ne casserait pas lors de la prochaine mise à jour, ce qui pourrait réinitialiser le 000-default.conffichier.
De plus, de telles modifications ne sont pas faites pour nous gêner, elles ont été faites pour une bonne raison, comme l' explique ce rapport de bogue dans Debian .

Nos serveurs Web [sic] ont défini la racine du document par défaut sur / var / www, alors que les administrateurs de site locaux ont tendance à utiliser /var/www/example.com. Cela a des conséquences sur la sécurité si les visiteurs accèdent à la racine du document par défaut, en contournant la racine / supposée / du document de example.com. Cela pose problème si des données sensibles sont placées en dehors de la racine supposée du document (par exemple, considérons un fichier de configuration hypothétique /var/www/example-com-db.conf).

Une meilleure solution serait de déplacer les fichiers sites de /var/wwwà /var/www/html/.

# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/

En outre, une autre solution possible consiste à créer un autre hôte virtuel et à désactiver celui par défaut à l'aide de la commande sudo a2dissite 000-default

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.