Questa procedura descrive come eseguire l'upgrade di un'installazione on-premise del portale Apigee Developer Services (o semplicemente il portale) esistente.
Determina la procedura di aggiornamento corretta
La procedura utilizzata per aggiornare il portale si basa sulla tua installazione attuale:
- Se la tua installazione utilizza Nginx/Postgres, consulta la sezione Upgrade di un portale utilizzando RPM di seguito.
- Se la tua installazione utilizza Apache/MySQL o Apache/MariaDB, consulta Convertire un portale basato su tar in un portale basato su RPM.
Determina il tipo di installazione attuale
Se hai dubbi sul 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 principale del portale web, nel seguente 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 sia stato installato all'indirizzo:
- 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 tua directory di installazione.
Versioni di upgrade supportate
Questa procedura di upgrade è supportata sulle versioni del portale OPDK-17-01.x e successive.
Per determinare la versione del tuo portale, apri il seguente URL in un browser:
http://yourportal.com/buildInfo
Prima dell'aggiornamento
Per le installazioni esistenti, se hai modificato del codice nel nucleo 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 è robots.txt
; se questo file esiste nella directory radice web, verrà conservato automaticamente.
Prima di procedere con l'installazione, esegui il backup dell'intera directory principale del web Drupal. Dopo aver eseguito i passaggi di installazione descritti di seguito, puoi ripristinare le personalizzazioni dal backup.
Eseguire l'upgrade di un portale usando gli RPM
Per aggiornare l'RPM del portale su un nodo:
- Passa alla directory Drupal,
/opt/apigee/apigee-drupal
per impostazione predefinita:cd /opt/apigee/apigee-drupal
- Esegui il backup dell'istanza di 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 viene chiesta la password dell'utente Postgres come definito dalla proprietà
DRUPAL_PG_PASS
nel file di configurazione dell'installazione del portale.Se in un secondo momento vuoi eseguire il ripristino dal backup, utilizza il seguente comando:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal è il nome del database specificato dalla proprietà
- 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 hai la certezza della posizione di 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 del percorso del file system privato (per il passaggio successivo). - Esegui un backup dei file in
/opt/apigee/data/apigee-drupal-devportal/private
. - Imposta Drupal in modalità di manutenzione:
- Seleziona Configurazione nel menu Drupal.
- Nella pagina Configurazione, seleziona Modalità di manutenzione in Sviluppo.
- Seleziona la casella Metti il sito in modalità di manutenzione.
- Inserisci un messaggio che gli utenti vedranno durante la manutenzione.
- Seleziona Salva configurazione.
- Disattiva SELinux come descritto in Installa l'utilità apigee-setup di Edge.
- Passa alla directory
/opt
:cd /opt
- Per eseguire l'upgrade su un server con una connessione a internet:
- Scarica il file
bootstrap_4.19.06.sh
di Edge 4.19.06 in/tmp/bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- Installa l'utilità
apigee-service
Edge 4.19.06 e le dipendenze:sudo bash /tmp/bootstrap_4.19.06.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 sia installato Java 1.8. Puoi utilizzare l'opzione "C" per continuare senza installare Java.
- Scarica il file
- Per eseguire l'upgrade su un server senza connessione a internet:
- Crea un repository 4.19.06 locale come descritto in Creare un repository Apigee locale.
- Per installare apigee-service da un file .tar:
- Sul nodo con il repository locale, utilizza il seguente comando per impacchettare il repository locale in un singolo file .tar denominato
/opt/apigee/data/apigee-mirror/apigee-4.19.06.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
del nuovo nodo. - Sul nuovo nodo, estrae il file nella directory /tmp:
tar -xzf apigee-4.19.06.tar.gz
Questo comando crea una nuova directory denominata repos nella directory contenente il file .tar. ad esempio /tmp/repos.
- Installa l'utilità
apigee-service
di Edge e le dipendenze da/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Tieni presente che in questo comando devi includere il percorso della directory dei repository.
- Sul nodo con il repository locale, utilizza il seguente comando per impacchettare il repository locale in un singolo file .tar denominato
- 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 Installare l'utilità apigee-setup.
- Sul nodo remoto, scarica il file
bootstrap_4.19.06.sh
di Edge in/tmp/bootstrap_4.19.06.sh
:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
Dove uName e pWord sono il nome utente e la password che hai impostato in precedenza per il repository e remoteRepo è l'indirizzo IP o il nome DNS del nodo del repository.
- Sul nodo remoto, installa l'utilità e le dipendenze Edge
apigee-service
:sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
Dove uName e pWord sono il nome utente e la password del repository.
- Utilizza
apigee-service
per aggiornare l'utilitàapigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Esegui l'utilità
update
sul tuo nodo 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".
- Rimuovi gli RPM PHP, ma non le dipendenze RPM di Apigee Drupal Devportal, eseguendo questo comando:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
Questo comando esegue le seguenti operazioni:
rpm -ev --nodeps
rimuove gli RPM, ma non le relative dipendenze.rpm -qa
crea l'elenco di RPM da rimuovere.grep php
cerca tutti gli RPM PHP.awk '{printf "%s ", $1}'
stampa i nomi RPM.
- Esegui l'utilità
update
sul nodo per aggiornare il portale:/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
dove configFile è il file di configurazione utilizzato per installare il portale. L'unico requisito per il file di configurazione è che deve essere accessibile o leggibile dall'utente "apigee".
- Esegui lo script
update.php
di Drupal aprendo il seguente URL in una finestra del browser:http://portal_IP_DNS:8079/update.php
- Disattiva la modalità di manutenzione:
- Seleziona Configurazione nel menu Drupal.
- Nella pagina Configurazione, seleziona Modalità di manutenzione in Sviluppo.
- Deseleziona la casella Metti il sito in modalità di manutenzione.
- Seleziona Salva configurazione.
Tieni presente che la home directory dopo l'aggiornamento è:
/opt/apigee/apigee-drupal/wwwroot
L'upgrade è stato completato. Se l'utilità Apigee update
ha eseguito il downgrade della versione di Drupal, potrebbe essere necessario eseguire di nuovo l'utilità di upgrade di Drupal. Per maggiori informazioni, consulta
Eseguire di nuovo l'upgrade di Drupal.
Esegui di nuovo l'upgrade di Drupal
Se l'esecuzione dell'utilità Apigee update
per l'upgrade di Edge for Private Cloud comporta effettivamente un downgrade della versione di Drupal, reinstalla l'upgrade di Drupal. Questo potrebbe accadere se hai eseguito l'upgrade solo di Drupal tra un aggiornamento di Private Cloud e l'altro.
Ad esempio:
- Stavi eseguendo la versione 4.18.05 di Edge per il cloud privato, che includeva Drupal 7.59.
- Hai eseguito l'upgrade a Drupal 7.64 a causa di un aggiornamento della sicurezza richiesto.
- Ora stai eseguendo l'upgrade a Private Cloud 4.19.01, che include Drupal 7.61.
Come illustra questo caso, la versione di Drupal utilizzata dall'utilità Apigee update
potrebbe non fare riferimento all'upgrade di Drupal più recente. Di conseguenza, ora devi eseguire di nuovo l'upgrade di Drupal per ripristinare la versione successiva dell'installazione di Drupal.