Upgrade del portale Servizi per gli sviluppatori

Portale di Servizi per gli sviluppatori v. 4.17.05

Questa procedura descrive come eseguire l'upgrade di un'installazione on-premise di Apigee Developer Channel Services.

Individuazione della procedura di aggiornamento corretta

La procedura che utilizzi per aggiornare il portale si basa sull'installazione corrente:

Determinazione del tipo di installazione attuale in corso...

Se hai dubbi sul tipo di installazione attuale, utilizza il seguente comando per determinarlo:

  • ls /opt
    Se utilizzi Nginx/Postgres, vedrai le seguenti directory: /opt/apigee e /opt/nginx.

    Se utilizzi Apache/MySQL o Apache/MariaDB, queste directory non dovrebbero essere presenti.
  • /opt/apigee/apigee-service/bin/apigee-all status
    Se utilizzi Nginx/Postgres, vedrai il seguente output:

    + apigee-service apigee-drupal-devportal status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-lbapigee-apigee-sqlservice


  • apachectl -S
    Se utilizzi Apache/MySQL o Apache/MariaDB, questo comando dovrebbe restituire la root directory web del portale nel formato:

    *:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

Directory di installazione predefinita

Il processo di upgrade presuppone che il Portale per gli sviluppatori sia stato installato in:

  • /opt/apigee/apigee-drupal (Nginx)
  • /var/www/html (Apache)

Se non hai installato il portale nella directory predefinita, modifica i percorsi nella procedura riportata di seguito per utilizzare la directory di installazione.

Se non conosci la directory di installazione, puoi determinarla come descritto in Comandi Drush di uso comune.

Nuova directory di installazione predefinita dopo l'aggiornamento di Nginx/Postgres da una nuova installazione 4.17.01

Dopo aver aggiornato una nuova installazione 4.17.01 che utilizza Nginx/Postgres, la directory radice è cambiata da:

/opt/apigee/apigee-drupal

a:

/opt/apigee/apigee-drupal/wwwroot

Versioni di upgrade supportate

Questa procedura di upgrade è supportata per le seguenti versioni del portale:

  • pantheon-14.02.x
  • pantheon-14.03.x
  • pantheon-14.04.x
  • pantheon-14.07.x
  • pantheon-15-01.x
  • OPDK-15-04.x
  • OPDK-15-07.x
  • OPDK-16-01.x
  • OPDK-16-05.x
  • OPDK-16-09.x
  • OPDK-17-01.x

Per determinare la versione del portale, apri il seguente URL in un browser:

http://yourportal.com/buildInfo

Prima dell'aggiornamento

Per le installazioni esistenti, se hai modificato un codice nel core Drupal o in moduli non personalizzati, le modifiche verranno sovrascritte. Sono incluse, tra le altre cose, le eventuali modifiche apportate a .file. Devi presumere che qualsiasi elemento al di fuori della directory /sites sia di proprietà di Drupal. Un'eccezione a questa regola è il file robots.txt; se il file esiste nella directory principale web, verrà conservato.

Prima di procedere con l'installazione, esegui un backup dell'intera directory root web di Drupal. Dopo aver eseguito la procedura di installazione descritta di seguito, puoi ripristinare le personalizzazioni dal backup.

Upgrade del portale utilizzando un file .tar

  1. Esegui il backup della tua istanza Drupal MySQL/MariaDB.
    Per ulteriori informazioni, visita http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
    1. Opzione 1: utilizza Drush

      Il comando Drush sql-dump crea una copia del database. Dalla tua directory Drupal, /var/www/html per impostazione predefinita, esegui il comando:
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      Utilizza drush help sql-dump per ulteriori informazioni.
    2. Opzione 2: utilizza MySQLdump
      Utilizza il comando mysqldump per creare una copia del database:
      mysqldump -u NOMEUTENTE -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      Non deve esserci spazio tra l'opzione -p e la password Se la password contiene caratteri speciali, sono necessarie virgolette singole.

      Hai impostato USERNAME e DATABASENAME quando hai installato il portale. Per impostazione predefinita, entrambi sono devportal.
  2. Esegui un backup dell'intera directory root web di Drupal. Il percorso di installazione predefinito è /var/www/html, ma potresti averlo modificato al momento dell'installazione.
  3. Scarica il file DeveloperServices_x.y.z.tar di Developer Channel Services da ftp.apigee.com, dove x.y.z corrisponde al numero di versione del portale. Quando richiesto, inserisci le credenziali ricevute da Apigee.

    Puoi scaricare un file dal link che ti è stato inviato da Apigee in un browser oppure copiandolo e aggiungendolo al seguente comando cURL:
    > curl -kOL <paste link here>

    Nota: se il portale si trova su un server senza connessione a internet esterna, esegui questo passaggio su un server con accesso.

    Vai ad Assistenza Apigee Edge e seleziona Accedi al portale di assistenza per richiedere il file .tar di upgrade di Developer Channel Services. Se non hai un account sul portale di assistenza, seleziona Accedi al portale di assistenza, quindi nella pagina di accesso seleziona Hai fretta? Crea un ticket di assistenza qui.
  4. Per un upgrade su un server con connessione a internet:
    1. Estrai il file di upgrade del portale:
      > tar -xvf <tar file>

      Questo comando crea una nuova directory denominata DeveloperServices-4.x.y.z.
    2. Passa alla directory DeveloperServices-4.x.y.z.
    3. Scarica l'ultima versione di Drupal utilizzando il seguente comando:
      > drush dl drupal

      Questo comando crea una directory denominata drupal-x.y, dove x.y corrisponde alla versione corrente di Drupal.
    4. Esegui lo script networked-update.sh:
      > ./networked-update.sh

      A seconda delle autorizzazioni del file, potresti dover utilizzare sudo per eseguire questo comando oppure eseguirlo come amministratore.
    5. Per ricevere notifiche sugli aggiornamenti di Drupal, assicurati che il modulo di gestione degli aggiornamenti di Drupal sia abilitato. Dal menu Drupal, seleziona Moduli e scorri verso il basso fino al modulo Gestione aggiornamenti. Se non è attivato, abilitalo.

      Una volta attivata la funzionalità, puoi visualizzare gli aggiornamenti disponibili utilizzando la voce di menu Report > Aggiornamenti disponibili.

      Utilizza la voce di menu Report > Aggiornamenti disponibili > Impostazioni per configurare il modulo in modo che ti invii un'email quando sono disponibili aggiornamenti e per impostare la frequenza del controllo degli aggiornamenti.
  5. Per un upgrade su un server senza connessione a internet:
    1. Sul server in cui hai scaricato il file DeveloperServices_x.y.z.tar di Developer Channel Services, estrai il file di upgrade del portale:
      > tar -xvf <tar file>

      L'estrazione di questo comando crea una nuova directory denominata DeveloperServices-4.x.y.z.
    2. Passa alla directory DeveloperServices-4.x.y.z.
    3. Esegui lo script non-networked-update.sh:
      > ./non-networked-update.sh

      A seconda delle autorizzazioni del file, potresti dover utilizzare sudo per eseguire questo comando oppure eseguirlo in qualità di amministratore.

      Questo comando scarica tutti i file di aggiornamento necessari e li pacchetti in un unico file denominato devportal-update.tgz, che scrive in una posizione a tua scelta.
    4. Copia devportal-update.tgz sul server di destinazione, ovvero quello che esegue il portale.
      Nota: non copiare devportal-update.tgz nella directory radice web del server di destinazione.
    5. Annulla il file devportal-update.tgz nella directory corrente:
      > tar -xzf /path/to/devportal-update.tgz
    6. Passa alla directory developer-update.
    7. Esegui questo comando per installare l'aggiornamento:
      > ./install-update.sh
    8. Rispondi alle richieste.

L'upgrade è stato completato.

Upgrade di un portale mediante gli RPM

Utilizza la seguente procedura per aggiornare l'RPM del portale su un nodo:

  1. Passa alla directory Drupal, /opt/apigee/apigee-drupal per impostazione predefinita:
    > cd /opt/apigee/apigee-drupal
  2. Esegui il backup dell'istanza del database Drupal. Il comando pg_dump crea una copia del database:

    pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp
      dove:
    • dbname specifica il nome del database come specificato dalla proprietà PG_NAME nel file di configurazione dell'installazione del portale.
    • host specifica l'indirizzo IP del nodo del portale.
    • username specifica il nome utente Postgres utilizzato dal portale per accedere al database, come specificato dalla proprietà DRUPAL_PG_USER nel file di configurazione dell'installazione del portale.
    • Ti verrà richiesta la password utente Postgres come definita dalla proprietà DRUPAL_PG_PASS nel file di configurazione dell'installazione del portale.

    Se in un secondo momento devi eseguire il ripristino dal backup, utilizza il comando:
    pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
  3. Esegui un backup dell'intera directory root web di Drupal. Il percorso di installazione predefinito è /opt/apigee/apigee-drupal, ma potresti averlo modificato.

    Se non sai con certezza la posizione di questa directory, utilizza il comando drush status o la voce Configurazione > Media > File nel menu Drupal per determinare la posizione del file system pubblico e del percorso del file system privato (per il passaggio successivo).
  4. Esegui un backup dei file in /opt/apigee/data/apigee-drupal-devportal/private.
  5. Disabilita SELinux come descritto in Installare l'utilità Edge apigee-setup.
  6. Per un upgrade su un server con connessione a internet:
    1. Scarica il file Edge 4.17.05 bootstrap_4.17.05.sh in /tmp/bootstrap_4.17.05.sh:
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.
    2. Installa l'utilità e le dipendenze apigee-service Edge 4.17.05:
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      dove uName:pWord sono il nome utente e la password che hai ricevuto da Apigee. Se ometti pWord, ti verrà chiesto di inserirlo.

      Per impostazione predefinita, il programma di installazione controlla se Java 1.8 è installato. Puoi utilizzare l'opzione "C" per continuare senza installare Java.
  7. Per un upgrade su un server senza connessione a internet:
    1. Crea un repository 4.17.05 locale come descritto in "Crea un repository Apigee locale" in Installa l'utilità Edge apigee-setup.
      Nota: se hai già un repository 4.17.01 esistente, puoi aggiungere il repository 4.17.05 come descritto in "Aggiornare un repository Apigee locale" all'indirizzo Installa l'utilità Edge apigee-setup.
    2. Per installare apigee-service da un file .tar:
      1. Sul nodo con il repository locale, utilizza il seguente comando per pacchettizzare il repository locale in un singolo file .tar denominato /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror pacchetto
      2. Copia il file .tar nel nodo in cui vuoi aggiornare Edge. Ad esempio, copialo nella directory /tmp sul nuovo nodo.
      3. Sul nuovo nodo, annulla iltar del file nella directory /tmp:
        > tar -xzf apigee-4.17.05.tar.gz

        Questo comando crea una nuova directory, denominata repository, nella directory contenente il file .tar. Ad esempio /tmp/repos.
      4. Installa l'utilità apigee-service Edge e le dipendenze da /tmp/repos:
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Tieni presente che in questo comando includi il percorso della directory repos.
    3. Per installare apigee-service utilizzando il server web Nginx:
      1. Configura il server web Nginx come descritto in "Installazione dal repository utilizzando il server web Nginx" in Installa l'utilità apigee-setup di Edge.
      2. Sul nodo remoto, scarica il file Edge bootstrap_4.17.05.sh in bootstrap_4.17.05.sh:
        > /usr/bin/curl http://utrapName:pWord@remoteRepo:3939/bootstrap0_4.1 il nome utente
        o .

      3. Sul nodo remoto, installa l'utilità e le dipendenze di Edge apigee-service:
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigee=pWordpassword apigee=ititp

  8. Utilizza apigee-service per aggiornare l'utilità apigee-setup:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup aggiornamento
  9. Esegui l'utilità di aggiornamento sul nodo per aggiornare il database Postgres:
    > /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    dove configFile è il file di configurazione che hai utilizzato per installare il database Postgres. L'unico requisito del file di configurazione è che il file di configurazione sia accessibile o leggibile dall'utente "apigee".
  10. Avvia Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. Esegui l'utilità di aggiornamento sul nodo per aggiornare il portale:
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    dove configFile è il file di configurazione che hai utilizzato per installare il portale. L'unico requisito del file di configurazione è che il file di configurazione sia accessibile o leggibile dall'utente "apigee".

Tieni presente che la directory radice dopo l'aggiornamento è ora:

/opt/apigee/apigee-drupal/wwwroot

L'upgrade è stato completato.