Mirror dei server Plesk con installazione automatica

Utilizzando un mirror locale dei server Plesk con installazione automatica puoi evitare di perdere molto tempo e traffico scaricando sempre gli stessi file, al momento di installare o aggiornare vari server Plesk. I mirror locali sono disponibili tramite HTTP e possono essere impostati come origine per il download dei pacchetti di Plesk durante l'installazione o l'aggiornamento.

Prerequisiti per un archivio mirror locale

  1. Nell'host virtuale utilizzato per il mirroring, tutti i gestori di script (php, pl, cgi, py, fcgi etc) devono essere disattivati.
  2. Nell'host virtuale o nella directory utilizzati per il mirroring l'opzione +FollowSymLinks deve essere impostata.
  3. A meno che non vengano specificate altre origini, quanto segue deve risultare accessibile dalla macchina in cui viene eseguito lo script e dalla macchina di destinazione:
    • rsync://rsync.installer.plesk.com/autoinstall per Plesk per Linux,
    • rsync://autoinstall-win.plesk.com/autoinstall per Plesk per Windows.
  4. Il PHP deve essere compilato con il supporto delle seguenti estensioni sulla macchina dove viene eseguito lo script (vedere http://www.php.net/manual/en/ssh2.installation.php):
    • ssh2_connect,
    • simplexml,
    • XML DOM.
  5. I mirror di Plesk per Windows e Plesk per Linux non possono trovarsi nelle stesse cartelle. I mirror devono essere creati in percorsi separati.

Configurazione di un archivio mirror locale

  1. Download e decompressione dello zip dello strumento di configurazione mirror Plesk

    # wget https://support.plesk.com/hc/en-us/article_attachments/115002857189/mirrorctl-3.0.1.zip

    # unzip mirrorctlv2.0.1.zip

    # cd mirrorctl

  2. Verifica della disponibilità di versioni del prodotto

    Utilizza il comando show-all-releases per visualizzare i prodotti disponibili e il comando os-list per verificare quali SO sono supportati da un prodotto specifico:

    # ./mirrorctl show-all-releases

    1-show_all_releases

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

    2-os-list

  3. Selezione delle versioni del prodotto per il mirroring

    Utilizza cfg --add e cfg --remove per modificare la lista di versioni del prodotto di cui eseguire il mirroring:

    # ./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. Salvataggio della configurazione dell'archivio mirror locale in un file

    Utilizza cfg --export per salvare la configurazione creata in un file:

    # ./mirrorctl cfg --export --path=./

    La configurazione verrà salvata in un file mirror.xml nel percorso specificato.

    <?xml version="1.0" encoding="UTF-8"?>

    <xml>

    <release name="PLESK_12_0_18" version="12.0.18">

    <os name="cos5_i386"/>

    </release>

    </xml>

    Per caricare una configurazione salvata in un file, utilizza cfg --import:

    # ./mirrorctl cfg --import --cfg-file=./mirror.xml

  5. Creazione dell'archivio mirror

    Innanzitutto, crea una directory per il mirror:

    # mkdir /var/www/html/mirror/

    # mkdir /var/www/html/mirror_windows/

    Quindi utilizza il comando update per sincronizzare il mirror con l'archivio ufficiale:

    # ./mirrorctl update --path=/var/www/html/mirror/

    # ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=./plesk_win_mirror

Nota: questo archivio è utilizzabile per installare esclusivamente le versioni del prodotto e i SO specificati nella configurazione del mirror. Tutte le altre versioni non saranno disponibili in questo archivio per l'utility autoinstaller.

Verifica la lista di versioni del prodotto disponibili nell'archivio creato:

# ./mirrorctl show-all-releases --src-host=/var/www/html/mirror/

# ./mirrorctl show-all-releases --win --src-host=/var/www/html/mirror_windows/

3-check

Ora l'archivio mirror locale può essere utilizzato nel processo di installazione e aggiornamento di Plesk.

Uso di un archivio mirror locale

Un mirror è utilizzabile in uno dei seguenti modi:

  • modificando la risoluzione del DNS e impostando l'host web mirror in modo che https://installer.plesk.com (Plesk per Linux) o http://autoinstall-win.plesk.com/ (Plesk per Windows) punti verso il mirror;
  • specificando l'URL del mirror nella variabile SOURCE del file /root/.autoinstallerrc nella macchina dove viene avviato l'autoinstaller;

    [root@container ~]# cat /root/.autoinstallerrc

    SOURCE=http://uri.of.local.mirror/here/

  • specificando l'URL del mirror nell'opzione --source al momento di avviare l'autoinstaller in modalità interattiva.

Manutenzione di archivi mirror locali remoti

Lo strumento di configurazione mirror Plesk è in grado di gestire archivi ubicati nello stesso file system o in server remoti. Per specificare i mirror remoti di origine e destinazione si utilizzano le opzioni --path e --src-host.

--path consente di specificare il mirror di destinazione remoto:

  1. Utilizzando un utente, una password e un host particolari:

    --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. Utilizzando l'autenticazione tramite chiavi SSH (sono necessarie sia la chiave pubblica che quella privata):

    --path=192.168.100.100:/var/www/html/

    Se la coppia RSA predefinita (id_rsa e id_rsa_pub) per l'utente corrente non esiste, viene utilizzata la coppia DSA predefinita (id_dsa e id_dsa.pub) dalla cartella $HOME/.ssh/.

    --path=user@mymirror.tld:344/var/www/html/

  3. Utilizzando chiavi SSH particolari come opzioni aggiuntive per l'utility mirrorctl:

    --path=root@mymirror.tld:344/var/www/html/ --private-key=~/.ssh/id_mirror --public-key=~/.ssh/id_mirror.pub

--src-host consente di specificare il mirror di origine remoto:

  1. Utilizzando rsync tramite il protocollo SSH:

    --src-host=test@192.168.100.100:/var/www/html/test-mirror/

    --src-host=mytestmirror.tld:/var/www/html/test-mirror/

    • Nel caso di cui sopra non è consentito specificare la password dell'utente o la porta SSH (22).
    • Se si ricorre all'opzione --src-host, l'utente che avvia lo strumento deve disporre dell'autorizzazione alla generazione di chiavi SSH per potersi connettere all'host specificato nell'opzione --src-host e nell'utente indicato mediante tale opzione.
    • Se si ricorre all'opzione --src-host insieme all'opzione --path, di nuovo l'utente specificato nell'opzione --path deve disporre dell'autorizzazione alla generazione di chiavi SSH per potersi connettere dall'host indicato nell'opzione --path all'host dell'opzione --src-host e dell'utente indicato mediante tale opzione.
  2. Uso del daemon rsync nell'host di origine:

    --src-host=rsync://mytestmirror.tld:873/testmirror

Esempio di configurazione rsync:

# head /etc/rsyncd.conf

[testmirror]

path = /var/www/html/test-mirror/

comment = Archivio di prova

# 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

}

Esempio 1: impostazione di aggiornamenti periodici per l'archivio mirror locale

Obiettivo: assicurarsi che il mirror con versioni del prodotto selezionate rimanga aggiornato.

  1. Crea la configurazione del mirror aggiungendo le versioni del prodotto e i sistemi operativi necessari:

    # /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. Configura crontab in modo che aggiorni il mirror automaticamente:

    $ 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

Esempio 2: aggiunta di nuovi sistemi operativi

Obiettivo: aggiungere al mirror un altro sistema operativo per una versione del prodotto specifica.

  1. Importa la configurazione corrente dell'archivio che hai creato in precedenza mediante l'utility mirrorctl:

    # ./mirrorctl cfg --import --path=/var/www/html/mirror/ --cfg-file=myconfig

  2. Aggiungi il nuovo SO per una versione del prodotto:

    # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=deb6.0_i386 --cfg-file=myconfig

  3. Sincronizza il mirror:

    # ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=myconfig

Esempio 3: download di un SO/versione particolare

Obiettivo: scaricare nel mirror dall'archivio ufficiale un SO particolare per una determinata versione del prodotto, senza scaricare altre versioni/SO mirror.

  1. Genera un file di configurazione contenente soltanto i SO/le versioni del prodotto da scaricare:

    # ./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. Scarica i SO specificati in un archivio esistente utilizzando il comando push:

    # ./mirrorctl push --path=/var/www/html/mirror/ --cfg-file==./temp-config

Esempio 5: creazione di un mirror per il test di nuove versioni del prodotto

Obiettivo: creare un mirror di prova per una nuova versione del prodotto, testare tale versione e caricare nell'archivio principale soltanto la versione testata (senza gli aggiornamenti ufficiali più recenti, non ancora verificati).

  1. Crea un mirror di prova per tutti i SO della nuova versione del prodotto:

    # ./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. Prova la nuova versione;
  3. Carica l'intera versione del prodotto nell'archivio principale:

    # ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=./test-config

Avvertenza: se non si utilizza l'opzione --src-host, la nuova versione del prodotto viene caricata dall'archivio ufficiale e potrebbe essere diversa da quella testata.

Esempio 6: creazione di un mirror per il test di release del prodotto per nuovi SO

Obiettivo: creare un mirror di prova con una lista di SO particolari per versioni del prodotto già sottoposte a mirroring con gli aggiornamenti più recenti, testare tali SO e infine caricarne alcuni nell'archivio principale.

  1. Crea un mirror di prova dove saranno disponibili vari SO per la selezione della versione del prodotto:

    # ./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. Ottieni la lista di release del prodotto disponibili e dei relativi SO dal mirror di prova creato sopra:

    # ./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. Genera un nuovo file di configurazione contenente solo le release e i SO provenienti dal mirror di prova, che desideri aggiungere al mirror principale:

    # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml

  4. Verifica il file di configurazione creato rispetto alla disponibilità delle release/dei SO nell'archivio di prova:

    # ./mirrorctl cfg --check --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml

  5. Carica release e SO selezionati dal mirror di prova all'archivio principale:

    # ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=push.xml

Avvertenza: se non si utilizza l'opzione --src-host, la nuova versione del prodotto viene caricata dall'archivio ufficiale e potrebbe essere diversa da quella testata.

Avvertenza: se non si specifica l'opzione --cfg-file, viene utilizzato il file di configurazione predefinito BUILD/config.xml (relativo alla directory in cui si trova lo strumento). In altri termini, solo le versioni/i SO del file di configurazione vengono caricati nell'archivio principale.

Avvertenza: se l'opzione --cfg-fileviene specificata scorrettamente, si utilizza il file di configurazione indicato per il comando push.

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.