sitecopy est un outil permettant de copier des sites Web stockés localement sur 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 didacticiel montre comment vous pouvez gérer votre site Web distant à partir de votre bureau local Ubuntu 16.04 avec sitecopy.
1 Remarque préliminaire
J'utilise le nom d'utilisateur jusqu'à sur mon bureau Ubuntu local (je suis connecté à mon bureau Linux local en tant qu'utilisateur - veuillez ne pas vous connecter en tant que root). Les fichiers du 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, vous devez donc avoir un compte FTP ou 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 n'importe quel site auquel vous avez un accès FTP ou WebDAV fonctionnera.
2 Installation de sitecopy
Sitecopy peut être installé sur le bureau local comme suit (nous avons besoin des privilèges root, nous utilisons donc sudo) :
sudo apt-get -y install sitecopy
Vous devriez maintenant jeter un œil à la page de manuel de sitecopy pour vous familiariser avec ses options :
man sitecopy
3 Configuration de sitecopy
Accédez à votre répertoire personnel sur le bureau local...
cd ~
... et créez le répertoire .sitecopy avec des autorisations de 700 (sitecopy utilise ce répertoire pour stocker les détails du fichier) :
mkdir -m 700 .sitecopy
Ensuite, créez le fichier de configuration de sitecopy .sitecopyrc :
touch .sitecopyrc
chmod 600 .sitecopyrc
Ouvrir le fichier...
nano .sitecopyrc
... et remplissez la configuration du site exemple.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 une pour WebDAV :
site exemple.com serveur exemple.com protocole webdav nom d'utilisateur defaulttill mot de passe howtoforge local /home/till/sites/example.com/ remote /var/www/example.com/web/ exclure *.bak exclure *~(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 ex. exemple.com ou monsite. Ce nom sera utilisé plus tard dans les commandes sitecopy. Les options de configuration suivantes appartenant à ce site doivent être en retrait !
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 local contient le chemin local de la copie du site Web, remote 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 facultatives, elles sont là juste pour montrer comment vous pouvez exclure des fichiers de la maintenance par sitecopy.
Vous pouvez en savoir plus sur la configuration de sitecopy sur sa page de manuel :
man sitecopy
4 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 que sitecopy pense 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.
[email protected] :~$ sitecopy --catchup example.com
sitecopy :rattrapage du site `example.com' (sur example.com dans ~/web/)
sitecopy :tous les les fichiers et les 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 du serveur distant (remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc) :
[email protected] :~$ sitecopy --fetch example.com
sitecopy :récupération du site `example.com' (sur example.com dans ~/web/)
Fichier :erreur/503 .html - taille 1906
Fichier :erreur/502.html - taille 1881
Fichier :erreur/500.html - taille 1851
Fichier :erreur/405.html - taille 1810
Fichier :erreur/404.html - taille 1806
Fichier :erreur/403.html - taille 1809
Fichier :erreur/401.html - taille 1806
Fichier :erreur/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 :erreur/
Répertoire :stats/
sitecopy :récupération terminée avec succès.Puis lancez
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/)
Erreur de création/ :terminé.
Statistiques de création/ :terminé.
Erreur de téléchargement/ 503.html :[.] terminé.
Erreur de téléchargement/502.html :[.] terminé.
Erreur de téléchargement/500.html :[.] terminé.
Erreur de téléchargement/405. html :[.] terminé.
Erreur de téléchargement/404.html :[.] terminé.
Erreur de téléchargement/403.html :[.] terminé.
Erreur de téléchargement/401.html :[.] terminé.
Erreur de téléchargement/400.html :[.] terminé.
Téléchargement de stats/.htaccess :[.] terminé.
Téléchargement de robots.txt :[.] terminé.
Téléchargement index.html :[.] terminé.
Téléchargement favicon.ico :[.] terminé.
Téléchargement .htaccess :[.] terminé.
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.compremier à initialiser le site. Remplacez example.com par le nom du site que vous utilisez dans le fichier .sitecopyrc.
[email protected] :~$ sitecopy --init example.com
sitecopy :initialisation du site `example.com' (sur example.com dans ~/web/)
sitecopy :tous les fichiers et les répertoires sont marqués comme NON mis à jour à distance.Exécutez ensuite :
sitecopy --update example.compour télécharger la copie locale sur le site distant :
[email protected] :~$ sitecopy --update example.com
sitecopy :mise à jour du site `example.com' (sur example.com dans ~/web/)
Création de statistiques/ :terminé .
Création de données/ :terminée.
Erreur de création/ :terminée.
Téléchargement de stats/.htaccess :[.] terminé.
Téléchargement de données/index.html :[.] terminé.
Erreur de téléchargement/403.html :[.] terminé.
Erreur de téléchargement/401.html :[.] terminé.
Erreur de téléchargement/404.html :[.] terminé.
Erreur de téléchargement/503.html :[.] terminé.
Erreur de téléchargement/400.html :[.] terminé.
Erreur de téléchargement/502.html :[.] terminé.
Erreur de téléchargement/405.html :[.] terminé.
Erreur de téléchargement/500.html :[.] terminé.
Téléchargement index.html :[.] terminé.
Téléchargement des robots .txt :[.] terminé.
Téléchargement de .htaccess :[.] terminé.
Téléchargement de favicon.ico :[.] terminé.
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 facultative, consiste à exécuter
sitecopy example.compour savoir quels fichiers ont changé localement (remplacez exemple.com par le nom du site que vous utilisez dans le fichier .sitecopyrc) :
[email protected] :~$ sitecopy example.com
sitecopy :Affichage des modifications apportées au 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 doit être mis à jour (1 élément à mettre à jour).Pour synchroniser votre site Web distant avec votre copie locale (c'est-à-dire télécharger les fichiers nouveaux et 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.com[email protected] :~$ sitecopy --update example.com
sitecopy :mise à jour du site `example.com' (sur example.com dans ~/web/)
Téléchargement d'info.php :[] terminé.
sitecopy :mise à jour terminée avec succès.C'est ça! Amusez-vous avec sitecopy !
6 liens
- copie du site :http://www.manyfish.co.uk/sitecopy/
- Ubuntu :http://www.ubuntu.com/