Site Management · 6 min read · Feb 14, 2026
Maintenir des sites web distants avec sitecopy sur Ubuntu 16.04
sitecopy est un outil pour copier des sites web stockés localement vers un serveur web distant (en utilisant FTP ou WebDAV). Il vous aide à garder le site distant synchronisé avec votre copie locale en téléchargeant les fichiers locaux modifiés et en supprimant les fichiers distants qui ont été supprimés sur l’ordinateur local. Ce tutoriel montre comment vous pouvez gérer votre site web distant depuis votre bureau local Ubuntu 16.04 avec sitecopy.
1 Remarque Préliminaire
J’utilise le nom d’utilisateur till sur mon bureau Ubuntu local (je suis connecté sur mon bureau Linux local en tant que cet utilisateur - veuillez ne pas vous connecter en tant que root). Les fichiers pour le site web distant example.com sont stockés dans le répertoire /home/till/sites/example.com/ sur l’ordinateur local. La racine du document distant est /var/www/example.com/web/.
Vous pouvez utiliser sitecopy avec FTP et WebDAV, donc vous devez avoir un compte FTP ou un compte WebDAV sur le serveur distant. J’utilise le nom d’utilisateur FTP defaulttill et le mot de passe howtoforge ici.
Le site web distant que j’utilise pour ces exemples a été créé avec ISPConfig. Mais tout site où vous avez accès FTP ou WebDAV fonctionnera.
2 Installation de sitecopy
Sitecopy peut être installé sur le bureau local comme suit (nous avons besoin de privilèges root, donc nous utilisons sudo):
sudo apt-get -y install sitecopyVous devriez maintenant jeter un œil à la page de manuel de sitecopy pour vous familiariser avec ses options:
man sitecopy3 Configuration de sitecopy
Allez dans votre répertoire personnel sur le bureau local…
cd ~… et créez le répertoire .sitecopy avec des permissions de 700 (sitecopy utilise ce répertoire pour stocker les détails des fichiers):
mkdir -m 700 .sitecopyEnsuite, créez le fichier de configuration de sitecopy .sitecopyrc:
touch .sitecopyrc
chmod 600 .sitecopyrcOuvrez le fichier…
nano .sitecopyrc… et remplissez la configuration pour le site example.com. Voici deux exemples, un pour FTP…
site example.com
server example.com
username defaulttill
password howtoforge
local /home/till/sites/example.com/
remote ~/web/
exclude *.bak
exclude *~… et un pour WebDAV:
site example.com
server example.com
protocol webdav
username defaulttill
password howtoforge
local /home/till/sites/example.com/
remote /var/www/example.com/web/
exclude *.bak
exclude *~(Vous pouvez définir une strophe pour chaque site web que vous souhaitez gérer avec sitecopy.)
La directive site doit être suivie d’un nom pour le site web - vous pouvez en choisir un librement, par exemple example.com ou mysite. Ce nom sera utilisé plus tard dans les commandes sitecopy. Les options de configuration suivantes qui appartiennent à ce site doivent être indentées !
La plupart des options de configuration suivantes sont explicites. Le protocole par défaut est FTP ; si vous souhaitez utiliser WebDAV, veuillez spécifier le protocole webdav. La directive locale contient le chemin local de la copie du site web, distant contient le chemin du site web sur le serveur distant - il peut être absolu ou relatif. Si votre utilisateur est chrooté (comme c’est normalement le cas avec les utilisateurs FTP), vous devez utiliser un chemin relatif (tel que ~/ ou ~/web). Sinon, utilisez un chemin absolu.
Les lignes d’exclusion sont optionnelles, elles sont ici juste pour démontrer comment vous pouvez exclure des fichiers d’être maintenus par sitecopy.
Vous pouvez en savoir plus sur la configuration de sitecopy dans sa page de manuel:
man sitecopy4 Première Utilisation
Avant d’utiliser sitecopy pour la première fois, vous devez décider lequel des trois scénarios suivants correspond à votre situation :
- Site distant existant et copie locale, tous deux synchronisés.
- Site distant existant, pas de copie locale.
- Nouveau site distant, copie locale existante.
4.1 Site Distant Existant et Copie Locale, Tous Deux Synchronisés
Si le site distant et la copie locale existent et sont synchronisés, exécutez
sitecopy --catchup example.compour faire croire à sitecopy que le site local est exactement le même que la copie distante. Remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc.
till@ubuntu-desktop:~$ sitecopy --catchup example.com
sitecopy: Rattrapage du site `example.com' (sur example.com dans ~/web/)
sitecopy: Tous les fichiers et répertoires sont marqués comme mis à jour à distance.4.2 Site Distant Existant, Pas de Copie Locale
Si vous n’avez pas de copie locale du site web distant existant, exécutez
sitecopy --fetch example.comd’abord pour que sitecopy récupère la liste des fichiers depuis le serveur distant (remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc) :
till@ubuntu-desktop:~$ sitecopy --fetch example.com
sitecopy: Récupération du site `example.com' (sur example.com dans ~/web/)
Fichier : error/503.html - taille 1906
Fichier : error/502.html - taille 1881
Fichier : error/500.html - taille 1851
Fichier : error/405.html - taille 1810
Fichier : error/404.html - taille 1806
Fichier : error/403.html - taille 1809
Fichier : error/401.html - taille 1806
Fichier : error/400.html - taille 1792
Fichier : stats/.htaccess - taille 128
Fichier : robots.txt - taille 14
Fichier : index.html - taille 1861
Fichier : favicon.ico - taille 7358
Fichier : .htaccess - taille 26
Répertoire : error/
Répertoire : stats/
sitecopy: Récupération terminée avec succès.Ensuite, exécutez
sitecopy --synch example.compour mettre à jour le site local à partir de la copie distante.
sitecopy: Synchronisation du site `example.com' (sur example.com dans ~/web/)
Création de error/: fait.
Création de stats/: fait.
Téléchargement de error/503.html: [.] fait.
Téléchargement de error/502.html: [.] fait.
Téléchargement de error/500.html: [.] fait.
Téléchargement de error/405.html: [.] fait.
Téléchargement de error/404.html: [.] fait.
Téléchargement de error/403.html: [.] fait.
Téléchargement de error/401.html: [.] fait.
Téléchargement de error/400.html: [.] fait.
Téléchargement de stats/.htaccess: [.] fait.
Téléchargement de robots.txt: [.] fait.
Téléchargement de index.html: [.] fait.
Téléchargement de favicon.ico: [.] fait.
Téléchargement de .htaccess: [.] fait.
sitecopy: Synchronisation terminée avec succès.4.3 Nouveau Site Distant, Copie Locale Existante
Si la copie locale existe, mais que vous avez un site distant vide, exécutez
sitecopy --init example.comd’abord pour initialiser le site. Remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc.
till@ubuntu-desktop:~$ sitecopy --init example.com
sitecopy: Initialisation du site `example.com' (sur example.com dans ~/web/)
sitecopy: Tous les fichiers et répertoires sont marqués comme NON mis à jour à distance.
Ensuite, exécutez :
sitecopy --update example.compour télécharger la copie locale sur le site distant :
till@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Mise à jour du site `example.com' (sur example.com dans ~/web/)
Création de stats/: fait.
Création de data/: fait.
Création de error/: fait.
Téléchargement de stats/.htaccess: [.] fait.
Téléchargement de data/index.html: [.] fait.
Téléchargement de error/403.html: [.] fait.
Téléchargement de error/401.html: [.] fait.
Téléchargement de error/404.html: [.] fait.
Téléchargement de error/503.html: [.] fait.
Téléchargement de error/400.html: [.] fait.
Téléchargement de error/502.html: [.] fait.
Téléchargement de error/405.html: [.] fait.
Téléchargement de error/500.html: [.] fait.
Téléchargement de index.html: [.] fait.
Téléchargement de robots.txt: [.] fait.
Téléchargement de .htaccess: [.] fait.
Téléchargement de favicon.ico: [.] fait.
sitecopy: Mise à jour terminée avec succès.5 Utilisation de sitecopy
Ensuite, l’utilisation de sitecopy est vraiment facile. Vous pouvez travailler avec votre copie locale et mettre à jour, créer et supprimer des fichiers. Une première étape, mais optionnelle, consiste à exécuter
sitecopy example.compour découvrir quels fichiers ont changé localement (remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc) :
till@ubuntu-desktop:~$ sitecopy example.com
sitecopy: Affichage des changements pour le site `example.com' (sur example.com dans ~/web/)
* Ces éléments ont été ajoutés depuis la dernière mise à jour :
info.php
sitecopy: Le site distant a besoin d'une mise à jour (1 élément à mettre à jour).Pour synchroniser votre site web distant avec votre copie locale (c’est-à-dire télécharger les nouveaux fichiers et les fichiers modifiés sur le serveur distant et supprimer les fichiers sur le serveur distant qui ont été supprimés localement), vous exécutez simplement
sitecopy --update example.comtill@ubuntu-desktop:~$ sitecopy --update example.com
sitecopy: Mise à jour du site `example.com' (sur example.com dans ~/web/)
Téléchargement de info.php: [] fait.
sitecopy: Mise à jour terminée avec succès.C’est tout ! Amusez-vous avec sitecopy !
6 Liens
- sitecopy: http://www.manyfish.co.uk/sitecopy/
- Ubuntu: http://www.ubuntu.com/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.