Créer des miroirs de serveurs Plesk avec installation automatique
La présence d’un miroir local à jour des serveurs Plesk Autoinstall Servers (Plesk avec installation automatique) vous fait économiser temps et bande passante puisque vous n’avez pas à télécharger plusieurs fois les mêmes fichiers ou mettre à jour plusieurs serveurs Plesk. Les miroirs locaux sont disponibles via HTTP et peuvent être indiqués comme sources de téléchargement de packs Plesk pendant l’installation ou la mise à niveau.
Prérequis d’un répertoire de miroirs locaux
- Tous les gestionnaires de script (php, pl, cgi, py, fcgi, etc.) doivent être désactivés pour l’hôte virtuel utilisé pour les miroirs.
- L’hôte virtuel ou le répertoire utilisé pour les miroirs doit avoir l’option
+FollowSymLinks
activée. - À moins que d’autres sources ne soient définies, les adresses suivantes doivent être accessibles depuis la machine où le script s’exécute et à partir de la machine de destination :
-
rsync://rsync.autoinstall.plesk.com/autoinstall
pour Plesk pour Linux, -
rsync://autoinstall-win.plesk.com/autoinstall
pour Plesk pour Windows.
-
- PHP doit être compilé avec prise en charge des extensions suivantes sur la machine où le script s’exécute (consultez la page http://www.php.net/manual/en/ssh2.installation.php) :
- ssh2_connect,
- simplexml,
- XML DOM.
- Les miroirs Plesk pour Windows et Plesk pour Linux ne peuvent se trouver dans les mêmes dossiers. Les miroirs doivent être créés avec des chemins distincts.
Configuration d’un répertoire de miroirs locaux
-
Téléchargement et décompression de l’Outil de configuration du miroir de Plesk
# wget https://support.plesk.com/hc/en-us/article_attachments/12388062580887/mirrorctl-3.1.4.zip # unzip mirrorctlv2.0.1.zip # cd mirrorctl
-
Vérification des versions produit disponibles
Utilisez la commande
show-all-releases
pour voir les produits disponibles et la commandeos-list
pour voir les OS pris en charge par chaque produit :# ./mirrorctl show-all-releases
# ./mirrorctl os-list --release=PLESK_12_0_18
-
Sélection des versions des produits pour lesquelles créer un miroir
Utilisez les commandes
cfg --add
etcfg --remove
pour modifier la liste des versions des produits pour lesquelles créer un miroir :# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 # ./mirrorctl cfg --add --win --release=PANEL_12_0_18_WIN --cfg-file=./plesk_win_mirror
-
Enregistrement de la configuration du répertoire de miroirs locaux dans un fichier
Utilisez la commande
cfg --export
pour enregistrer la configuration créée dans un fichier :# ./mirrorctl cfg --export --path=./
La configuration est enregistrée dans un fichier
mirror.xml
à l’emplacement indiqué.<?xml version="1.0" encoding="UTF-8"?> <xml> <release name="PLESK_12_0_18" version="12.0.18"> <os name="cos5_i386"/> </release> </xml>
Pour charger une configuration enregistrée dans un fichier, utilisez la commande
cfg --import
:# ./mirrorctl cfg --import --cfg-file=./mirror.xml
-
Création du répertoire de miroirs
Commencez par créer un répertoire pour le miroir :
# mkdir /var/www/html/mirror/ # mkdir /var/www/html/mirror_windows/
Utilisez ensuite la commande
update
pour synchroniser le miroir avec le répertoire officiel :# ./mirrorctl update --path=/var/www/html/mirror/ # ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=./plesk_win_mirror
Note: ce répertoire ne peut être utilisé que pour installer les versions des produits et les OS indiqués dans la configuration des miroirs. Toutes les autres versions ne seront pas disponibles dans ce répertoire pour l’utilitaire autoinstaller
.
Vérifiez la liste des versions des produits disponibles dans le répertoire créé :
# ./mirrorctl show-all-releases --src-host=/var/www/html/mirror/
# ./mirrorctl show-all-releases --win --src-host=/var/www/html/mirror_windows/
Le répertoire de miroirs locaux peut alors être utilisé pour le processus d’installation et de mise à niveau de Plesk.
Avec un répertoire de miroirs locaux
Vous pouvez utiliser un miroir comme suit :
-
En modifiant la résolution DNS et en configurant l’hôte Web du miroir de manière à ce que
https://autoinstall.plesk.com
(Plesk pour Linux) ouhttp://autoinstall-win.plesk.com/
(Plesk pour Windows) pointe vers le miroir. -
En indiquant l’URL du miroir dans la variable
SOURCE
du fichier/root/.autoinstallerrc
sur la machine où est lancé l’utilitaire autoinstaller.[root@container ~]# cat /root/.autoinstallerrc SOURCE=http://uri.of.local.mirror/here/
-
En indiquant l’URL du miroir dans l’option
--source
lorsque l’utilitaire autoinstaller est lancé en mode interactif.
Maintien à jour de répertoires de miroirs locaux distants
L’Outil de configuration du miroir de Plesk peut gérer plusieurs répertoires se trouvant sur le même système de fichiers ou sur des serveurs distants. Pour indiquer des miroirs avec des sources distantes et des destinations distantes, utilisez les options --path
et --src-host
.
Utilisez --path
pour indiquer le miroir de destination distant :
-
Avec un utilisateur, un mot de passe et un hôte particuliers :
--path=user:UserSecurePassword@mymirror.tld:344/var/www/html/ --path=user:UserSecurePassword@192.168.100.100:22/var/www/html/ --path=root:RootSecurePassword@localhost:/var/www/html/
-
Avec une autorisation de clés SSH (les clés privées et publiques sont requises) :
--path=192.168.100.100:/var/www/html/
Si la paire RSA par défaut (id_rsa et id_rsa_pub) de l’utilisateur actuel n’existe pas, la paire DSA par défaut (id_dsa et id_dsa.pub) du dossier
$HOME/.ssh/
est utilisée.--path=user@mymirror.tld:344/var/www/html/
-
Avec des clés SSH particulières comme options supplémentaires pour l’utilitaire mirrorctl :
--path=root@mymirror.tld:344/var/www/html/ --private-key=~/.ssh/id_mirror --public-key=~/.ssh/id_mirror.pub
Utilisez l’option --src-host
pour indiquer le miroir source distant :
-
Avec rsync via le protocole SSH :
--src-host=test@192.168.100.100:/var/www/html/test-mirror/ --src-host=mytestmirror.tld:/var/www/html/test-mirror/
- Dans le cas ci-dessus, il est interdit d’indiquer le mot de passe utilisateur ou le port SSH (22).
- Dans ce cas, l’option
--src-host
est utilisée. L’utilisateur lançant l’outil doit avoir les autorisations sur les clés SSH pour pouvoir se connecter à l’hôte indiqué sous l’option--src-host
et sous le nom d’utilisateur indiqué via l’option. - Si l’option
--src-host
est utilisée avec l’option--path
, l’utilisateur indiqué dans l’option--path
doit avoir les autorisations sur les clés SSH pour pouvoir se connecter depuis l’hôte indiqué dans l’option--path
à l’hôte indiqué dans l’option--src-host
et sous le nom d’utilisateur indiqué via l’option--src-host
.
-
Avec le démon rsync sur l’hôte source :
--src-host=rsync://mytestmirror.tld:873/testmirror
Exemple de configuration rsync :
# head /etc/rsyncd.conf
[testmirror]
path = /var/www/html/test-mirror/
comment = Test repository
# cat /etc/xinetd.d/rsync
service rsync
{
# disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
Exemple 1 : Configuration des mises à jour périodiques du répertoire de miroirs locaux
Objectif : garantir que mon miroir, avec les versions des produits sélectionnées, est à jour.
-
Créez la configuration du miroir en ajoutant les versions des produits et les systèmes d’exploitation voulus :
# /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_12_0_18 --os=rhel5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_11_5_30 --os=cos5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --win --release=PANEL_12_0_18_WIN --cfg-file=/var/www/html/mirror/windows_myconfig.xml
-
Configurez l’outil crontab pour la mise à jour automatique du miroir :
$ crontab -l # m h dom mon dow command 59 23 * * * cd /home/user/mirrorctl/ && ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=/var/www/html/mirror/myconfig.xml > ./mirror-cron.log 2>&1 59 22 * * * cd /home/user/mirrorctl/ && ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=/var/www/html/mirror/windows_myconfig.xml > ./mirror-cron-win.log 2>&1
Exemple 2 : Ajout de nouveaux systèmes d’exploitation
Objectif : ajouter à mon miroir un autre système d’exploitation pour une version de produit spécifique.
-
Importez la configuration actuelle du répertoire que vous avez créé avec l’utilitaire mirrorctl :
# ./mirrorctl cfg --import --path=/var/www/html/mirror/ --cfg-file=myconfig
-
Ajoutez le nouvel OS pour la version produit :
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=deb6.0_i386 --cfg-file=myconfig
-
Synchronisez le miroir :
# ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=myconfig
Exemple 3 : Téléchargement d’un OS/d’une version spécifique
Objectif : télécharger sur mon miroir un OS particulier pour une version produit spécifique, à partir du répertoire officiel, sans télécharger un miroir de version/d’OS.
-
Générez un fichier de configuration ne contenant que l’OS/les versions des produits voulus :
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=./temp-config # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_x86_64 --cfg-file=./temp-config
-
Téléchargez les OS indiqués dans un répertoire existant avec la commande push :
# ./mirrorctl push --path=/var/www/html/mirror/ --cfg-file==./temp-config
Exemple 4 : Création d’un miroir pour tester de nouvelles versions de produits
Objectif : créer un miroir pour tester une nouvelle version produit, tester cette version et n’envoyer que la version testée (sans les dernières mises à jour qui n’ont pas été testées) au répertoire principal.
-
Créez un miroir de test pour tous les OS de la nouvelle version produit :
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=all --cfg-file=./test-config # ./mirrorctl update --path=/var/www/html/test-mirror/ --cfg-file=./test-config
-
Testez la nouvelle version :
-
Envoyez la version produit complète au répertoire principal :
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=./test-config
Avertissement: si l’option --src-host
n’est pas utilisée, la nouvelle version produit est envoyée depuis le répertoire officiel et peut différer de celle que vous avez testée.
Exemple 5 : Création d’un miroir de révisions de produits pour de nouveaux OS
Objectif : créer un miroir de test avec une liste définie d’OS pour les versions de produits disposant déjà de miroir avec les dernières mises à jour, tester ces OS et envoyer certains des OS testés au répertoire principal.
-
Créez un miroir test disposant de plusieurs OS pour la version de produit sélectionnée.
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=./test-config # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_x86_64--cfg-file=./test-config # ./mirrorctl update --path=/var/www/html/test-mirror/ --cfg-file=./test-config
-
Obtenez la liste des révisions de produits et OS disponibles à partir du miroir de test créé plus haut :
# ./mirrorctl show-all-releases --src-host=/var/www/html/test-mirror/ # ./mirrorctl os-list --release=PLESK_12_0_18 --src-host=/var/www/html/test-mirror/
-
Générez un nouveau fichier de configuration ne contenant que ces révisions et les OS du miroir de test que vous souhaitez ajouter au miroir principal :
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
Vérifiez le fichier de configuration pour vous assurer de la disponibilité des révisions/OS dans le répertoire de test :
# ./mirrorctl cfg --check --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
Depuis le miroir de test, envoyez les révisions et les OS sélectionnés au répertoire principal :
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=push.xml
Avertissement: si l’option --src-host
n’est pas utilisée, la nouvelle version produit est envoyée depuis le répertoire officiel et peut différer de celle que vous avez testée.
Avertissement: si l’option --cfg-file
n’est pas indiquée, le fichier de configuration par défaut BUILD/config.xml
(relatif au répertoire contenant l’outil) est utilisé. C’est-à-dire que les versions/OS de ce fichier de configuration seront envoyées au répertoire principal.
Avertissement: si l’option --cfg-file
est définie de manière incorrecte, le fichier de configuration indiqué pour la commande push est utilisé.