Developer Services Portal v. 4.17.05
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:
- Se la tua installazione utilizza Apache/MySQL o Apache/MariaDB da un sistema aggiornato alla versione 4.17.01, utilizza Eseguire l'upgrade del portale utilizzando un file .tar.
- Se la tua installazione utilizza Nginx/Postgres da una nuova installazione 4.17.01, utilizza Eseguire l'upgrade di un portale utilizzando gli RPM.
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 devono 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:
- /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 l'aggiornamento di una nuova installazione della versione 4.17.01 che utilizza Nginx/Postgres, la directory root è 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 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, eventuali modifiche apportate 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 è il file robots.txt; se questo file esiste nella directory root 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.
Esegui l'upgrade del portale utilizzando un file .tar
- Esegui il backup dell'istanza MySQL/MariaDB di Drupal.
Per saperne di più, visita la pagina http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/- Opzione 1: utilizza Drush
Il comando Drush sql-dump crea una copia del database. Dalla 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. - Opzione 2: utilizza MySQLdump
Utilizza il comando mysqldump per creare una copia del database:
mysqldump -u USERNAME -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, è necessario racchiuderla tra virgolette singole.
Hai impostato USERNAME e DATABASENAME quando hai installato il portale. Per impostazione predefinita, entrambi sono devportal.
- Opzione 1: utilizza Drush
- Crea un backup dell'intera directory principale web di Drupal. La posizione di installazione predefinita è /var/www/html, ma potresti averla modificata al momento dell'installazione.
- Scarica il file Developer Channel Services DeveloperServices_x.y.z.tar da ftp.apigee.com, dove x.y.z corrisponde al numero di versione del portale. Quando richiesto, inserisci le credenziali che hai ricevuto da Apigee.
Puoi scaricare un file dal link inviato da Apigee in un browser o copiandolo e aggiungendolo al seguente comando cURL:
> curl -kOL <paste link here>
Nota: se il tuo portale si trova su un server senza connessione a internet esterna, esegui questo passaggio su un server con accesso.
Vai all'assistenza di Apigee Edge e seleziona Accedi al portale di assistenza per richiedere il file .tar di upgrade dei servizi per i canali per sviluppatori. 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. -
Per un upgrade su un server con una connessione a internet:
- Estrai il file di upgrade del portale:
> tar -xvf <tar file>
Questo comando di estrazione crea una nuova directory denominata DeveloperServices-4.x.y.z. - Passa alla directory DeveloperServices-4.x.y.z.
- 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. - Esegui lo script networked-update.sh:
> ./networked-update.sh
A seconda delle autorizzazioni dei file, potresti dover utilizzare sudo per eseguire questo comando o eseguirlo come amministratore. - Per ricevere notifiche sugli aggiornamenti di Drupal, assicurati che il modulo Drupal Update manager sia abilitato. Dal menu di Drupal, seleziona Modules (Moduli) e scorri verso il basso fino al modulo Update manager (Gestore aggiornamenti). Se non è abilitata, abilitala.
Una volta attivata, 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 di controllo degli aggiornamenti.
- Estrai il file di upgrade del portale:
-
Per un upgrade su un server senza connessione a internet:
- Sul server in cui hai scaricato il file DeveloperServices_x.y.z.tar dei servizi per gli sviluppatori,
estrai il file di upgrade del portale:
> tar -xvf <tar file>
Questo comando crea una nuova directory denominata DeveloperServices-4.x.y.z. - Passa alla directory DeveloperServices-4.x.y.z.
- Esegui lo script non-networked-update.sh:
> ./non-networked-update.sh
A seconda delle autorizzazioni dei file, potresti dover utilizzare sudo per eseguire questo comando o eseguirlo come amministratore.
Questo comando scarica tutti i file di aggiornamento necessari e li pacchettizza in un unico file denominato devportal-update.tgz e scrive il file in una posizione di tua scelta. - Copia devportal-update.tgz sul server di destinazione, quello su cui è in esecuzione il portale.
Nota: Non copiare il file devportal-update.tgz nella directory principale del server di destinazione. - Estrai il file devportal-update.tgz nella directory corrente:
> tar -xzf /path/to/devportal-update.tgz - Passa alla directory developer-update.
- Esegui questo comando per installare l'aggiornamento:
> ./install-update.sh - Rispondi ai prompt.
- Sul server in cui hai scaricato il file DeveloperServices_x.y.z.tar dei servizi per gli sviluppatori,
estrai il file di upgrade del portale:
L'upgrade è stato completato.
Upgrade di un portale utilizzando gli RPM
Per aggiornare l'RPM del portale su un nodo, segui questa procedura:
- Passa alla directory Drupal, /opt/apigee/apigee-drupal per impostazione predefinita:
> cd /opt/apigee/apigee-drupal - 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 - 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). - Crea un backup dei file in /opt/apigee/data/apigee-drupal-devportal/private.
- Disattiva SELinux come descritto in Installa l'utilità apigee-setup di Edge.
-
Per un upgrade su un server con una connessione a internet:
- 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.sh - Installa l'utilità apigee-service di Edge 4.17.05 e le dipendenze:
> 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 verifica che sia installato Java 1.8. Puoi utilizzare l'opzione "C" per continuare senza installare Java.
- Scarica il file Edge 4.17.05 bootstrap_4.17.05.sh in
/tmp/bootstrap_4.17.05.sh:
-
Per un upgrade su un server senza connessione a internet:
- Crea un repository 4.17.05 locale come descritto in "Crea un repository Apigee locale" in Installa l'utilità apigee-setup di Edge.
Nota: se hai già un repository 4.17.01, puoi aggiungere il repository 4.17.05 come descritto in "Aggiorna un repository Apigee locale" in Installa l'utilità apigee-setup di Edge. -
Per installare apigee-service da un file .tar:
- Sul nodo con il repository locale, utilizza il comando seguente 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 package - Copia il file .tar nel nodo in cui vuoi aggiornare Edge. Ad esempio, copialo nella directory /tmp sul nuovo nodo.
- Sul nuovo nodo, estrai il file nella directory /tmp:
> tar -xzf apigee-4.17.05.tar.gz
Questo comando crea una nuova directory, denominata repos, nella directory contenente il file .tar. Ad esempio /tmp/repos. - Installa l'utilità Edge apigee-service 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.
- Sul nodo con il repository locale, utilizza il comando seguente per pacchettizzare il repository locale in un singolo file .tar denominato /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
-
Per installare apigee-service utilizzando il server web Nginx:
- Configura il server web Nginx come descritto in "Installa dal repository utilizzando il server web Nginx" in Installa l'utilità apigee-setup di Edge.
- Sul nodo remoto, scarica il file Edge bootstrap_4.17.05.sh in
/tmp/bootstrap_4.17.05.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
dove uName:pWord sono il nome utente e la password impostati sopra per il repository e remoteRepo è l'indirizzo IP o il nome DNS del nodo del repository. - Sul nodo remoto, installa l'utilità Edge apigee-service e le dipendenze:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
dove uName:pWord sono il nome utente e la password del repository.
- Crea un repository 4.17.05 locale come descritto in "Crea un repository Apigee locale" in Installa l'utilità apigee-setup di Edge.
- Utilizza apigee-service per aggiornare l'utilità apigee-setup:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup update - 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". - Avvia Postgres:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - 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".
Tieni presente che la directory root dopo l'aggiornamento è ora:
/opt/apigee/apigee-drupal/wwwroot
L'upgrade è stato completato.