Déplacer la racine (répertoire de base) d'un serveur HTTP

Par défaut, la racine des sites gérés par un serveur HTTP est /var/www/html avec les droits root.

Nous allons la déplacer vers un emplacement <DISQUE>/srv/www/html avec des droits commodes.

Pour cela, on éditera le fichier /etc/fstab pour monter en loop /var/www/html dans le nouvel emplacement sans toucher aux fichiers de configuration du serveur.

Les exemples sont sur un Raspberry Pi 4 accédé via SSH

Pré-requis

Repérez les disques pour choisir l'emplacement voulu :

pi@framboise4:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 232,9G 0 disk
└─sda1 8:1 1 232,9G 0 part
└─md0 9:0 0 232,8G 0 raid1
├─md0p1 259:0 0 99G 0 part /media/home
└─md0p2 259:1 0 133,8G 0 part /media/data
sdb 8:16 1 233,3G 0 disk
└─sdb1 8:17 1 232,9G 0 part
└─md0 9:0 0 232,8G 0 raid1
├─md0p1 259:0 0 99G 0 part /media/home
└─md0p2 259:1 0 133,8G 0 part /media/data
mmcblk0 179:0 0 59,6G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 59,4G 0 part /
pi@framboise4:~ $ lsblk /dev/md0
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
md0 9:0 0 232,8G 0 raid1
├─md0p1 259:0 0 99G 0 part /media/home
└─md0p2 259:1 0 133,8G 0 part /media/data

Ici, nous choisirons la partition /dev/md0p2 du volume RAID /dev/md0, montée en /media/data. Nous installerons donc notre racine sur le disque en /media/data/srv/www/html.

Première étape

Créez les répertoires :

répertoire source :

pi@framboise4:~ $ sudo mkdir -p /var/www/html/

répertoire destination :

pi@framboise4:~ $ sudo mkdir -p /media/<DISQUE>/srv/www/html/

Autres étapes

Éditez le fichier /etc/fstab pour ajouter à la fin :

...
/media/<DISQUE>/srv	/srv	none	bind	0	0
/srv/www	/var/www	none	bind	0	0

Si le disque /media/<DISQUE> est en ntfs, il faut modifier sa ligne dans le fichier fstab en lui donnant le type ntfs-3g et en lui ajoutant l'option permissions :

...
UUID=XXXXXXXXXXXXXXXX	/media/<DISQUE> ntfs-3g	permissions,defaults,user,utf8,codepage=850	0	0

Appliquez le montage :

pi@framboise4:~ $ sudo mount -a

ou redémarrezModifiez les permissions pour que l'utilisateur $USER puisse mettre à jour les pages Web sans avoir besoin d'être root :Ajoutez l'utilisateur $USER au groupe www-data :

pi@framboise4:~ $ sudo usermod -aG www-data $USER

Changez les permissions :

pi@framboise4:~ $ sudo chown -R www-data:www-data /media/<DISQUE>/srv/www/
pi@framboise4:~ $ sudo chmod -R 2770 /media/<DISQUE>/srv/www/

Conclusion

La racine du site est désormais /var/www/html ---> /media/<DISQUE>/srv/www/html, accessible au choix par /var/www/html ou /media/<DISQUE>/srv/www/html.

N'oubliez pas de recharger la page du navigateur pour vider le cache, sinon on affiche toujours l'ancienne page

Problèmes connus

Voir aussi

(fr) http://Article

Basé sur << Article >> par Auteur.