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

  1. Für den virtuellen Host, der für den Mirror verwendet wird, sollten alle Skripthandler (php, pl, cgi, py, fcgi usw.) deaktiviert werden.
  2. Für den entsprechenden virtuellen Host oder das Verzeichnis sollte die Option +FollowSymLinks festgelegt werden.
  3. 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
  4. 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
  5. 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

  1. 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
    
  2. Suchen Sie nach verfügbaren Produktversionen.

    Mit dem Befehl show-all-releases können Sie alle verfügbaren Produkte aufrufen. Geben Sie den Befehl os-list ein, um die von einem bestimmten Produkt unterstützten Betriebssysteme anzuzeigen:

    # ./mirrorctl show-all-releases
    

    image 76560

    # ./mirrorctl os-list --release=PLESK_12_0_18
    

    image 76562

  3. Wählen Sie die Produktversionen ein, die gespiegelt werden sollen.

    Geben Sie cfg --add und cfg --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
    
  4. 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
    
  5. 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/

image 76566

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) oder http://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:

  1. 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/
    
  2. 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/
    
  3. 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:

  1. 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.
  2. 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

  1. 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
    
  2. 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

  1. 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
    
  2. 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
    
  3. 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

  1. 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
    
  2. 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)

  1. 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
    
  2. Testen Sie die neue Version.

  3. 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

  1. 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
    
  2. 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/
    
  3. 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
    
  4. Ü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
    
  5. 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.