Spiegeln von Plesk Servern zur automatischen Installation
Mit einem lokalen Mirror eines Plesk Servers zur automatischen Installation können Sie Zeit und Traffic einsparen, indem Sie die gleichen Dateien nicht für jede einzelne Installation oder für jedes Upgrade von Plesk Servern herunterladen müssen. Lokale Mirrors sind über HTTP verfügbar und können bei der Installation oder dem Upgrade als Quellen für den Download von Plesk Paketen angegeben werden.
Voraussetzungen für ein lokales Mirror-Repository
- Für den virtuellen Host, der für den Mirror verwendet wird, sollten alle Skripthandler (php, pl, cgi, py, fcgi usw.) deaktiviert werden.
- Für den entsprechenden virtuellen Host oder das Verzeichnis sollte die Option
+FollowSymLinks
festgelegt werden. - Das folgende Verzeichnis muss vom Computer, auf dem das Skript ausgeführt wird, und vom Zielcomputer aus zugreifbar sein. Dies gilt nicht, wenn andere Quellen angegeben wurden:
-
rsync://rsync.autoinstall.plesk.com/autoinstall
für Plesk für Linux, -
rsync://autoinstall-win.plesk.com/autoinstall
für Plesk für Windows
-
- PHP muss mit der Unterstützung der Erweiterungen unten auf dem Computer kompiliert werden, auf dem das Skript ausgeführt wird (siehe http://www.php.net/manual/en/ssh2.installation.php):
- ssh2_connect
- simplexml
- XML DOM
- Mirror für Plesk für Windows und Plesk für Linux können sich nicht im gleichen Ordner befinden. Sie müssen unterschiedliche Pfade aufweisen.
Konfigurieren eines lokalen Mirror-Repositorys
-
Laden Sie das Tool von Plesk zum Einrichten von Mirrors herunter und entzippen Sie es.
# wget https://support.plesk.com/hc/en-us/article_attachments/12388062580887/mirrorctl-3.1.4.zip # unzip mirrorctlv2.0.1.zip # cd mirrorctl
-
Suchen Sie nach verfügbaren Produktversionen.
Mit dem Befehl
show-all-releases
können Sie alle verfügbaren Produkte aufrufen. Geben Sie den Befehlos-list
ein, um die von einem bestimmten Produkt unterstützten Betriebssysteme anzuzeigen:# ./mirrorctl show-all-releases
# ./mirrorctl os-list --release=PLESK_12_0_18
-
Wählen Sie die Produktversionen ein, die gespiegelt werden sollen.
Geben Sie
cfg --add
undcfg --remove
ein, um die Liste der Produktversionen zu bearbeiten, die gespiegelt werden sollen:# ./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
-
Speichern Sie die Konfiguration des lokalen Mirror-Repositorys in eine Datei.
Geben Sie
cfg --export
ein, um die erstellte Konfiguration in eine Datei zu speichern:# ./mirrorctl cfg --export --path=./
Die Konfiguration wird am angegebenen Speicherort in die Datei
mirror.xml
gespeichert.<?xml version="1.0" encoding="UTF-8"?> <xml> <release name="PLESK_12_0_18" version="12.0.18"> <os name="cos5_i386"/> </release> </xml>
Mit dem Befehl
cfg --import
können Sie die gespeicherte Konfiguration aus einer Datei laden:# ./mirrorctl cfg --import --cfg-file=./mirror.xml
-
Erstellen eines Mirror-Repositorys
Erstellen Sie zuerst ein Verzeichnis für den Mirror:
# mkdir /var/www/html/mirror/ # mkdir /var/www/html/mirror_windows/
Verwenden Sie dann den Befehl
update
, um den Mirror mit dem offiziellen Repository zu synchronisieren:# ./mirrorctl update --path=/var/www/html/mirror/ # ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=./plesk_win_mirror
Bemerkung: Dieses Repository kann nur für die Installation von Produktversionen und Betriebssystemen verwendet werden, die in der Mirror-Konfiguration angegeben wurden. Alle anderen Versionen sind in diesem Repository nicht für das Hilfsprogramm autoinstaller
verfügbar.
Überprüfen Sie die Liste der Produktversionen, die im erstellten Repository verfügbar sind:
# ./mirrorctl show-all-releases --src-host=/var/www/html/mirror/
# ./mirrorctl show-all-releases --win --src-host=/var/www/html/mirror_windows/
Das lokale Mirror-Repository kann nun für die Installation und das Upgrade von Plesk verwendet werden.
Verwenden eines lokalen Mirror-Repositorys
Ein Mirror kann wie hier beschrieben verwendet werden:
-
Ändern Sie die DNS-Auflösung und richten Sie den Mirror-Webhost so ein, dass
https://autoinstall.plesk.com
(Plesk für Linux) oderhttp://autoinstall-win.plesk.com/
(Plesk für Windows) auf den Mirror verweisen. -
Geben Sie die URL zum Mirror in der Variable
SOURCE
der Datei/root/.autoinstallerrc
auf dem Computer ein, auf dem die automatische Installation gestartet wird.[root@container ~]# cat /root/.autoinstallerrc SOURCE=http://uri.of.local.mirror/here/
-
Geben Sie die Mirror-URL in der Option
--source
ein, wenn Sie die automatische Installation im interaktiven Modus starten.
Verwalten von Remote-Mirror-Repositories
Mit dem Tool von Plesk zum Einrichten von Mirrors können Sie Repositories verwalten, die im gleichen Dateisystem oder auf Remoteservern vorhanden sind. Um eine Remotequelle und Remote-Ziel-Mirror anzugeben, verwenden Sie die Optionen --path
und --src-host
.
Mit --path
können Sie den Remote-Ziel-Mirror angeben:
-
Verwenden Sie einen bestimmten Benutzer, ein Passwort und einen Host:
--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/
-
Verwenden Sie die Autorisierung über SSH-Schlüssel (sowohl private als auch öffentliche Schlüssel sind erforderlich):
--path=192.168.100.100:/var/www/html/
Wenn das Standard-RSA-Paar (id_rsa & id_rsa_pub) für den aktuellen Benutzer nicht vorhanden ist, wird das Standard-DSA-Paar (id_dsa & id_dsa.pub) aus dem Ordner
$HOME/.ssh/
verwendet.--path=user@mymirror.tld:344/var/www/html/
-
Verwenden Sie bestimmte SSH-Schlüssel als zusätzliche Optionen im Hilfsprogramm mirrorctl:
--path=root@mymirror.tld:344/var/www/html/ --private-key=~/.ssh/id_mirror --public-key=~/.ssh/id_mirror.pub
Mit --src-host
können Sie den Remote-Quell-Mirror angeben:
-
Verwenden Sie rsync über das SSH-Protokoll:
--src-host=test@192.168.100.100:/var/www/html/test-mirror/ --src-host=mytestmirror.tld:/var/www/html/test-mirror/
- In dem Fall oben dürfen Sie kein Benutzerpasswort und keinen SSH-Port (22) angeben.
- Wenn die Option
--src-host
verwendet wird, muss für den Benutzer, der das Tool startet, die Autorisierung über SSH-Schlüssel eingerichtet sein, damit eine Verbindung zu dem unter--src-host
angegebenen Host und als der in der Option angegebene Benutzer hergestellt werden kann. - Wenn die Option
--src-host
zusammen mit--path
verwendet wird, muss für den unter--path
angegebenen Benutzer die Autorisierung über SSH-Schlüssel eingerichtet sein, damit eine Verbindung zwischen dem unter--path
angegebenen Host und dem unter--src-host
angegebenen Host und als unter--src-host
angegebener Benutzer hergestellt werden kann.
-
Verwenden Sie den rsync-Daemon auf dem Quellhost:
--src-host=rsync://mytestmirror.tld:873/testmirror
Beispiel der rsync-Konfiguration:
# 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
}
Beispiel 1: Regelmäßige Updates für das lokale Mirror-Repository einrichten
Ziel: Sicherstellen, dass der Mirror mit den ausgewählten Produktversionen auf dem neusten Stand ist
-
Erstellen Sie die Mirror-Konfiguration, indem Sie die benötigten Produktversionen und Betriebssysteme hinzufügen:
# /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
-
Konfigurieren Sie crontab, damit der Mirror automatisch aktualisiert wird:
$ 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
Beispiel 2: Neues Betriebssystem hinzufügen
Ziel: Ein anderes Betriebssystem für eine bestimmte Produktversion zum Mirror hinzufügen
-
Importieren Sie die aktuelle Konfiguration des Repositorys, das Sie zuvor erstellt haben, mithilfe des Hilfsprogramms mirrorctl:
# ./mirrorctl cfg --import --path=/var/www/html/mirror/ --cfg-file=myconfig
-
Fügen Sie das neue Betriebssystem für eine Produktversion hinzu:
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=deb6.0_i386 --cfg-file=myconfig
-
Synchronisieren Sie den Mirror:
# ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=myconfig
Beispiel 3: Bestimmtes Betriebssystem für bestimmte Version herunterladen
Ziel: Bestimmtes Betriebssystem für eine bestimmte Produktversion vom offiziellen Repository in den Mirror herunterladen, ohne andere gespiegelte Versionen oder Betriebssysteme herunterzuladen
-
Generieren Sie eine Konfigurationsdatei, die nur die Betriebssysteme und Produktversionen enthält, die Sie herunterladen möchten:
# ./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
-
Laden Sie die angegebenen Betriebssysteme in ein vorhandenes Repository mithilfe von Push herunter:
# ./mirrorctl push --path=/var/www/html/mirror/ --cfg-file==./temp-config
Beispiel 4: Mirror für das Testen neuer Produktversionen erstellen
Ziel: Test-Mirror für eine neue Produktversion erstellen, die Version testen und nur die getestete Version in das Haupt-Repository hochladen (ohne die aktuellsten offiziellen Updates, die noch nicht getestet wurden)
-
Erstellen Sie einen Test-Mirror für alle Betriebssysteme der neuen Produktversion:
# ./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
-
Testen Sie die neue Version.
-
Laden Sie die ganze Produktversion in das Haupt-Repository hoch:
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=./test-config
Warnung: Wenn Sie die Option --src-host
nicht verwenden, wird die neue Produktversion vom offiziellen Repository hochgeladen. Diese Version entspricht möglicherweise nicht der Version, die Sie getestet haben.
Beispiel 5: Mirror für das Testen neuer Produktversionen für neue Betriebssysteme erstellen
Ziel: Test-Mirror mit einer Liste bestimmter Betriebssysteme für bereits gespiegelte Produktversionen mit den aktuellsten Updates erstellen, diese Betriebssysteme testen und nur einige der getesteten Betriebssysteme in das Haupt-Repository hochladen
-
Erstellen Sie einen Test-Mirror, in dem mehrere Betriebssysteme für die ausgewählte Produktversion verfügbar sind:
# ./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
-
Rufen Sie die Liste der verfügbaren Produktversionen und Betriebssysteme vom oben erstellten Test-Mirror ab:
# ./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/
-
Generieren Sie eine neue Konfigurationsdatei, die nur die Versionen und Betriebssysteme des Test-Mirrors enthält, die Sie zum Haupt-Mirror hinzufügen möchten:
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
Überprüfen Sie die erstellte Konfigurationsdatei auf die Verfügbarkeit der Versionen und Betriebssysteme im Test-Repository:
# ./mirrorctl cfg --check --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
Laden Sie die ausgewählten Versionen und Betriebssysteme vom Test-Mirror in das Haupt-Repository hoch:
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=push.xml
Warnung: Wenn Sie die Option --src-host
nicht verwenden, wird die neue Produktversion vom offiziellen Repository hochgeladen. Diese Version entspricht möglicherweise nicht der Version, die Sie getestet haben.
Warnung: Wenn die Option --cfg-file
nicht angegeben wurde, wird die Standardkonfigurationsdatei BUILD/config.xml
(entsprechend dem Verzeichnis, in dem sich das Tool befindet) verwendet. Das heißt, nur die Versionen und Betriebssysteme aus dieser Konfigurationsdatei werden in das Haupt-Repository hochgeladen.
Warnung: Wenn die Option --cfg-file
nicht korrekt angegeben wird, wird die Konfigurationsdatei verwendet, die für den Push-Befehl festgelegt wurde.