Esegui l'upgrade del portale

Edge per Private Cloud v4.18.05

Questa procedura descrive come eseguire l'upgrade di un'installazione on-premise esistente del portale Servizi per gli sviluppatori Apigee (o semplicemente, del portale).

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-lb status
    apigee-service: apigee-lb: OK
    + apigee-service apigee-postgresql status
    apigee-service: apigee-postgresql: OK
  • apachectl -S

    Se utilizzi Apache/MySQL o Apache/MariaDB, questo comando dovrebbe restituire la directory radice 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 sia stato installato in:

  • 4.17.05 e versioni successive: /opt/apigee/apigee-drupal/wwwroot
  • Prima del 17.04.05: /opt/apigee/apigee-drupal (Nginx) o /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.

Versioni di upgrade supportate

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

  • OPDK-17-01.x
  • OPDK-17-05.x
  • OPDK-17-09.x
  • OPDK-18-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, eventuali modifiche che potresti aver apportato a .htaccess. Tutti gli elementi al di fuori della directory /sites sono di proprietà di Drupal. Un'eccezione a questa regola è robots.txt; se questo 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 di un portale mediante gli RPM

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=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    dove:

    • devportal è il nome del database specificato dalla proprietà PG_NAME nel file di configurazione dell'installazione del portale.
    • host_IP_address è l'indirizzo IP del nodo del portale.
    • drupaladmin è 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 cambiato.

    Se non sai con certezza la posizione di questa directory, usa 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. Imposta Drupal in modalità di manutenzione:
    1. Seleziona Configuration (Configurazione) nel menu Drupal.
    2. Nella pagina Configurazione, seleziona Modalità di manutenzione in Sviluppo.
    3. Seleziona la casella Metti il sito in modalità di manutenzione.
    4. Inserisci un messaggio che gli utenti vedranno durante la manutenzione.
    5. Seleziona Salva configurazione.
  6. Disabilita SELinux come descritto in Installare l'utilità Edge apigee-setup.
  7. Passa alla directory /opt:
    cd /opt
  8. Per un upgrade su un server con connessione a internet:
    1. Scarica il file bootstrap_4.18.05.sh di Edge 4.18.05 su /tmp/bootstrap_4.18.05.sh:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
    2. Installa l'utilità e le dipendenze apigee-service Edge 4.18.05:
      sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord

      Dove uName e 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 verifica che Java 1.8 sia installato. Puoi utilizzare l'opzione "C" per continuare senza installare Java.

  9. Per un upgrade su un server senza connessione a internet:
    1. Crea un repository 4.18.05 locale come descritto in Creare un repository Apigee locale.
    2. Per installare apigee-service da un file .tar:
      1. Sul nodo con il repository locale, utilizza il comando seguente per pacchettizzare il repository locale in un unico file .tar denominato /opt/apigee/data/apigee-mirror/apigee-4.18.05.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Copia il file .tar nel nodo in cui vuoi aggiornare Edge. Ad esempio, copialo nella directory /tmp del nuovo nodo.
      3. Sul nuovo nodo, annulla iltar del file nella directory /tmp:
        tar -xzf apigee-4.18.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à e le dipendenze Edge apigee-service da /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.18.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Tieni presente che in questo comando includi il percorso della directory repository.

    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.18.05.sh in /tmp/bootstrap_4.18.05.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.05.sh
          -o /tmp/bootstrap_4.18.05.sh

        Dove uName e pWord sono il nome utente e la password che hai impostato in alto per il repository e remoteRepo è l'indirizzo IP o il nome DNS del nodo repository.

      3. Sul nodo remoto, installa l'utilità e le dipendenze Edge apigee-service:
        sudo bash /tmp/bootstrap_4.18.05.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        Dove uName e pWord sono il nome utente e la password del repository.

  10. Utilizza apigee-service per aggiornare l'utilità apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Esegui l'utilità di aggiornamento sul nodo Postgre:
    /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".

  12. Aggiorna il database Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
  13. 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".

  14. Esegui lo script update.php di Drupal aprendo il seguente URL in una finestra del browser:
    http://portal_IP_DNS:8079/update.php
  15. Disabilita Drupal in modalità di manutenzione:
    1. Seleziona Configuration (Configurazione) nel menu Drupal.
    2. Nella pagina Configurazione, seleziona Modalità di manutenzione in Sviluppo.
    3. Deseleziona la casella Metti il sito in modalità di manutenzione.
    4. Seleziona Salva configurazione.

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

/opt/apigee/apigee-drupal/wwwroot

L'upgrade è stato completato.