Comment déplacer une racine Web Apache vers un nouvel emplacement sur Ubuntu 16.04

introduction

Sur Ubuntu, par défaut, le serveur Web Apache2 stocke ses documents dans + / var / www / html, qui se trouve généralement sur le système de fichiers racine avec le reste du système d’exploitation. Cependant, il peut parfois être utile de déplacer la racine du document vers un autre emplacement, tel qu’un système de fichiers monté séparé. Par exemple, si vous servez plusieurs sites Web à partir de la même instance Apache, le fait de placer la racine du document de chacun sur son propre volume vous permet d’adapter l’échelle aux besoins d’un site ou d’un client spécifique.

Dans ce guide, nous allons vous montrer comment déplacer une racine de document Apache vers un nouvel emplacement.

Conditions préalables

Pour compléter ce guide, vous aurez besoin de:

  • * Un serveur Ubuntu 16.04 avec un utilisateur non root avec les privilèges + sudo + *. Vous pouvez en savoir plus sur la configuration d’un utilisateur avec ces privilèges dans notre Initial Initial Server Setup with Ubuntu 16.04. guider.

  • * Un serveur Web Apache2 *: Si vous n’en avez pas encore configuré un, la section Apache de l’article de fond, https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache -mysql-php-lamp-stack-on-ubuntu-16-04 [Comment installer des piles Linux, Apache, MySQL, PHP (LAMP) sur Ubuntu 16.04] peut vous guider.

  • * Un nouvel emplacement pour la racine de votre document *: le nouvel emplacement de la racine du document est entièrement configurable en fonction de vos besoins. Si vous déplacez la racine de votre document vers un autre périphérique de stockage, vous devez sélectionner un emplacement situé sous le point de montage du périphérique.

Dans cet exemple, nous allons utiliser le répertoire + / mnt / volume-nyc1-01 +. Si vous utilisez Block Storage sur DigitalOcean, this guide vous montrera comment monter votre disque avant de continuer. avec ce tutoriel.

Étape 1 - Copier les fichiers dans le nouvel emplacement

Sur une nouvelle installation d’Apache, la racine du document se trouve dans + / var / www / html. Si vous travaillez avec un serveur existant, vous pouvez avoir une configuration très différente, incluant plusieurs racines de document dans les directives VirtualHost correspondantes.

Vous pouvez rechercher l’emplacement de racines de document supplémentaires à l’aide de + grep +. Nous allons rechercher dans le répertoire + / etc / apache2 / sites-enabled + pour limiter notre attention aux sites actifs. L’indicateur + -R + garantit que + grep + imprimera à la fois DocumentRoot et le nom du fichier dans sa sortie:

grep -R "DocumentRoot" /etc/apache2/sites-enabled

Le résultat ressemblera à la sortie ci-dessous, bien que le nom et le nombre de résultats soient probablement différents sur une installation existante:

Outputsites-enabled/000-default.conf   DocumentRoot /var/www/html

Utilisez les commentaires de + grep + pour vous assurer que vous déplacez les fichiers que vous souhaitez déplacer et mettez à jour leurs fichiers de configuration appropriés.

Maintenant que nous avons confirmé l’emplacement de la racine de notre document, nous allons copier les fichiers dans leur nouvel emplacement avec + rsync +. L’utilisation de l’indicateur + -a + préserve les autorisations et les autres propriétés du répertoire, tandis que` + +v + `fournit une sortie détaillée pour vous permettre de suivre l’évolution.

sudo rsync -av /var/www/

Nous sommes maintenant prêts à mettre à jour la configuration.

Étape 2 - Mise à jour des fichiers de configuration

Apache2 utilise des fichiers de configuration globaux et spécifiques à un site. Pour en savoir plus sur la hiérarchie des fichiers de configuration, consultez https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debian. -vps # la-hiérarchie-fichier-apache-dans-Ubuntu-and-debian [Comment configurer le serveur Web Apache sur un VPS Ubuntu ou Debian].

Si vous travaillez avec une installation existante, vous devez modifier les fichiers d’hôte virtuel trouvés précédemment à l’aide de la commande + grep +. Pour notre exemple, nous allons examiner les deux fichiers d’hôte virtuel fournis avec Apache par défaut, + 000-default.conf + et + default-ssl.conf +.

Commençons par éditer le fichier + 000-default.conf:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Nous trouverons ensuite la ligne commençant par + DocumentRoot + et la mettrons à jour avec le nouvel emplacement.

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
       ServerAdmin webmaster@localhost
      DocumentRoot
       <Directory />
               Options FollowSymLinks
               AllowOverride None
      </Directory>
     <Directory >
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Require all granted
       </Directory>

Une fois ces modifications enregistrées, nous nous concentrerons sur la configuration SSL. Lors d’une nouvelle installation, SSL n’est pas encore configuré, mais vous voudrez probablement mettre à jour le + ssl-default.conf + pour éviter tout dépannage plus tard si vous ne vous rappelez pas que vous devez effectuer la modification.

sudo  nano /etc/apache2/sites-available/ssl-default.conf

/etc/apache2/sites-available/ssl-default.conf

<IfModule mod_ssl.c>
       <VirtualHost _default_:443>
               ServerAdmin webmaster@localhost
               DocumentRoot
. . .

Étape 3 - Redémarrage d’Apache

Une fois que vous avez terminé les modifications de configuration, vous pouvez vous assurer que la syntaxe est correcte avec + configtest +:

sudo apachectl configtest

Vous obtiendrez le retour de + apachectl configtest + avec une nouvelle installation:

OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name,
using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

Tant que vous obtenez + Syntax OK +, redémarrez le serveur Web. Sinon, localisez et résolvez les problèmes signalés.

Utilisez la commande suivante pour redémarrer Apache:

sudo systemctl reload apache2

Une fois le serveur redémarré, visitez les sites concernés et assurez-vous qu’ils fonctionnent comme prévu. Une fois que vous êtes certain que tout est en ordre, n’oubliez pas de supprimer la copie originale des données.

Conclusion

Dans ce tutoriel, nous avons expliqué comment changer la racine du document Apache vers un nouvel emplacement. Cela peut vous aider à administrer les serveurs Web de base, comme héberger efficacement plusieurs sites sur un seul serveur. Il vous permet également de tirer parti d’autres périphériques de stockage, tels que le stockage en bloc sur le réseau, étape importante dans la mise à l’échelle d’un site Web en fonction de l’évolution de ses besoins.

Si vous gérez un site Web occupé ou en croissance, vous voudrez peut-être apprendre https://www.digitalocean.com/community/tutorials/how-to-use-apache-jmeter-to-perform-load-testing- sur un serveur Web [comment charger votre serveur Web à l’essai] pour identifier les goulots d’étranglement des performances avant que vous ne les rencontriez en production. Vous pouvez également en savoir plus sur l’amélioration de l’expérience de production en comparant cette méthode. pour améliorer la configuration de votre serveur d’applications Web de production].