Upgrade del portale Servizi per gli sviluppatori

Developer Services Portal v. 4.17.09

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

Determinazione della procedura di aggiornamento corretta

La procedura da utilizzare per aggiornare il portale si basa sull'installazione corrente:

Determina il tipo di installazione attuale

Se non hai la certezza del tipo di installazione corrente, 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 root web del portale, nel formato:

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

Directory di installazione predefinita

La procedura di upgrade presuppone che il portale per sviluppatori sia stato installato in:

  • 4.17.05 e versioni successive: /opt/apigee/apigee-drupal/wwwroot
  • Prima della versione 4.17.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

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

http://your_portal.com/buildInfo

Prima di eseguire l'aggiornamento

Per le installazioni esistenti, se hai modificato il codice nel core di Drupal o in moduli non personalizzati, le modifiche verranno sovrascritte. Sono incluse, tra le altre cose, le modifiche che potresti aver apportato a .htaccess. Devi presumere che tutto ciò che si trova al di fuori della directory /sites sia di proprietà di Drupal. Un'eccezione a questa regola è robots.txt; se questo file esiste nella directory principale del web, verrà conservato.

Prima di procedere con l'installazione, esegui il backup dell'intera directory principale web di Drupal. Dopo aver eseguito i passaggi di installazione descritti di seguito, puoi ripristinare le personalizzazioni dal backup.

Upgrade di un portale utilizzando gli RPM

Per aggiornare l'RPM del portale su un nodo, segui questa procedura:

  1. Passa alla directory di Drupal. Ad esempio, /opt/apigee/apigee-drupal/wwwroot.

    cd /opt/apigee/apigee-drupal/wwwroot

    Consulta Directory di installazione predefinita per la directory predefinita della versione del prodotto.

  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à chiesta la password dell'utente Postgres 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. Crea un backup dell'intera directory principale web di Drupal. La posizione di installazione predefinita è /opt/apigee/apigee-drupal, ma potresti averla modificata.
    Se non sai con certezza dove si trova questa directory, utilizza il comando drush status o la voce Configurazione > Media > File nel menu di Drupal per determinare la posizione del file system pubblico e il percorso del file system privato (per il passaggio successivo).
  4. Esegui il backup dei file in /opt/apigee/data/apigee-drupal-devportal/private.
  5. Imposta Drupal in modalità di manutenzione:
    1. Seleziona Configuration (Configurazione) nel menu di Drupal.
    2. Nella pagina Configuration (Configurazione), seleziona Maintenance mode (Modalità di manutenzione) in Development (Sviluppo).
    3. Seleziona la casella Put site into maintenance mode (Attiva la modalità di manutenzione del sito).
    4. Inserisci un messaggio che gli utenti visualizzeranno durante la manutenzione.
    5. Seleziona Salva configurazione.
  6. Disattiva SELinux come descritto in Installa l'utilità apigee-setup di Edge.
  7. Passa alla directory /opt:
    cd /opt
  8. Per un upgrade su un server con una connessione a internet:
    1. Scarica il file Edge 4.17.09 bootstrap_4.17.09.sh in /tmp/bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. Installa l'utilità Edge 4.17.09 apigee-service e le dipendenze:
      sudo bash /tmp/bootstrap_4.17.09.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 verifica che sia installato Java 1.8. 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.17.09 locale come descritto in "Crea un repository Apigee locale" in Installa l'utilità apigee-setup di Edge.
    2. Per installare apigee-service da un file .tar:
      1. Sul nodo con il repository locale, utilizza il seguente comando per creare il pacchetto del repository locale in un singolo file .tar denominato /opt/apigee/data/apigee-mirror/apigee-4.17.09.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 sul nuovo nodo.
      3. Sul nuovo nodo, decomprimi il file nella directory /tmp:
        tar -xzf apigee-4.17.09.tar.gz

        Questo comando crea una nuova directory, denominata repos, nella directory contenente il file .tar. Ad esempio /tmp/repos.

      4. Installa l'utilità Edge apigee-service e le dipendenze da /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.17.09.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

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

    3. Per installare apigee-service utilizzando il server web Nginx:
      1. Configura il server web Nginx come descritto in "Installa 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.09.sh in /tmp/bootstrap_4.17.09.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh
          -o /tmp/bootstrap_4.17.09.sh

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

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

        dove uName: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 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 per il file di configurazione è che deve essere accessibile o leggibile dall'utente "apigee".

  12. Avvia Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  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 per il file di configurazione è che deve essere accessibile o leggibile dall'utente "apigee".

  14. Esegui lo script update.php di Drupal aprendo il seguente URL in una finestra del browser:
    http://portalIP_DNS:8079/update.php
  15. Disattiva Drupal in modalità di manutenzione:
    1. Seleziona Configuration (Configurazione) nel menu di Drupal.
    2. Nella pagina Configuration (Configurazione), seleziona Maintenance mode (Modalità di manutenzione) in Development (Sviluppo).
    3. Deseleziona la casella Put site into maintenance mode (Attiva la modalità di manutenzione del sito).
    4. Seleziona Salva configurazione.

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

/opt/apigee/apigee-drupal/wwwroot

L'upgrade è stato completato.