Cette procédure explique comment mettre à niveau une installation sur site existante du portail Apigee Developer Services (ou simplement le portail).
Déterminer la procédure de mise à jour appropriée
La procédure à suivre pour mettre à jour le portail dépend de votre installation actuelle:
- Si votre installation utilise Nginx/Postgres, utilisez la section Mettre à niveau un portail à l'aide de RPM ci-dessous.
- Si votre installation utilise Apache/MySQL ou Apache/MariaDB, consultez la page Convertir un portail tar en portail RPM.
Déterminer votre type d'installation actuel
Si vous ne savez pas quel est votre type d'installation actuel, utilisez la commande suivante pour le déterminer:
ls /opt
Si vous utilisez Nginx/Postgres, les répertoires suivants s'affichent :
/opt/apigee
et/opt/nginx
.Si vous utilisez Apache/MySQL ou Apache/MariaDB, ces répertoires ne doivent pas être présents.
/opt/apigee/apigee-service/bin/apigee-all status
Si vous utilisez Nginx/Postgres, le résultat suivant s'affiche:
+ 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
Si vous utilisez Apache/MySQL ou Apache/MariaDB, cette commande doit renvoyer le répertoire racine Web du portail, au format suivant:
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
Répertoire d'installation par défaut
Le processus de mise à niveau suppose que le portail a été installé à l'adresse suivante:
- 4.17.05 et versions ultérieures:
/opt/apigee/apigee-drupal/wwwroot
- Avant la version 4.17.05:
/opt/apigee/apigee-drupal
(Nginx) ou/var/www/html
(Apache)
Si vous n'avez pas installé le portail dans le répertoire par défaut, modifiez les chemins d'accès dans la procédure ci-dessous pour utiliser votre répertoire d'installation.
Versions de mise à niveau compatibles
Cette procédure de mise à niveau est compatible avec les versions du portail OPDK-17-01.x et ultérieures.
Pour déterminer la version de votre portail, ouvrez l'URL suivante dans un navigateur:
http://yourportal.com/buildInfo
Avant la mise à jour
Pour les installations existantes, si vous avez modifié du code dans le noyau Drupal ou dans des modules non personnalisés, vos modifications seront écrasées. Cela inclut, entre autres, toutes les modifications que vous avez apportées à .htaccess
.
Vous devez supposer que tout élément en dehors du répertoire /sites
appartient à Drupal. robots.txt
est une exception à cette règle. Si ce fichier existe dans la racine du site Web, il sera conservé.
Avant de procéder à l'installation, effectuez une sauvegarde de l'intégralité de votre répertoire racine Web Drupal. Après avoir suivi la procédure d'installation décrite ci-dessous, vous pouvez restaurer vos personnalisations à partir de la sauvegarde.
Mettre à niveau un portail à l'aide de RPM
Pour mettre à jour le RPM du portail sur un nœud:
- Accédez au répertoire Drupal,
/opt/apigee/apigee-drupal
par défaut :cd /opt/apigee/apigee-drupal
- Sauvegardez votre instance de base de données Drupal. La commande
pg_dump
crée une copie de la base de données :pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
Où :
- devportal est le nom de la base de données tel que spécifié par la propriété
PG_NAME
dans le fichier de configuration d'installation du portail. - host_IP_address est l'adresse IP du nœud du portail.
- drupaladmin est le nom d'utilisateur Postgres utilisé par le portail pour accéder à la base de données, comme spécifié par la propriété
DRUPAL_PG_USER
dans le fichier de configuration d'installation du portail.
Vous êtes invité à saisir le mot de passe de l'utilisateur Postgres tel que défini par la propriété
DRUPAL_PG_PASS
dans le fichier de configuration d'installation du portail.Si vous souhaitez restaurer à partir de la sauvegarde ultérieurement, utilisez la commande suivante:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal est le nom de la base de données tel que spécifié par la propriété
- Créez une sauvegarde de l'intégralité de votre répertoire racine Web Drupal. L'emplacement d'installation par défaut est
/opt/apigee/apigee-drupal
, mais vous l'avez peut-être modifié.Si vous n'êtes pas sûr de l'emplacement de ce répertoire, utilisez la commande
drush status
ou l'entrée Configuration > Media > File (Configuration > Media > Fichier) dans le menu Drupal pour déterminer l'emplacement du système de fichiers public et du système de fichiers privé (pour l'étape suivante). - Créez une sauvegarde des fichiers dans
/opt/apigee/data/apigee-drupal-devportal/private
. - Définissez Drupal en mode maintenance :
- Sélectionnez Configuration dans le menu Drupal.
- Sur la page Configuration, sélectionnez Mode de maintenance sous Développement.
- Cochez la case Mettre le site en mode maintenance.
- Saisissez le message que les utilisateurs verront pendant la maintenance.
- Sélectionnez Enregistrer la configuration.
- Désactivez SELinux comme décrit dans la section Installer l'utilitaire apigee-setup Edge.
- Accédez au répertoire
/opt
:cd /opt
- Pour une mise à niveau sur un serveur connecté à Internet:
- Téléchargez le fichier
bootstrap_4.19.06.sh
d'Edge 4.19.06 dans/tmp/bootstrap_4.19.06.sh
:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- Installez l'utilitaire
apigee-service
et les dépendances d'Edge 4.19.06 :sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
Où uName et pWord sont le nom d'utilisateur et le mot de passe que vous avez reçus d'Apigee. Si vous omettez pWord, vous serez invité à le saisir.
Par défaut, le programme d'installation vérifie que Java 1.8 est installé. Vous pouvez utiliser l'option C pour continuer sans installer Java.
- Téléchargez le fichier
- Pour effectuer une mise à niveau sur un serveur sans connexion Internet:
- Créez un dépôt local 4.19.06 comme décrit dans la section Créer un dépôt Apigee local.
- Pour installer apigee-service à partir d'un fichier .tar :
- Sur le nœud avec le dépôt local, utilisez la commande suivante pour empaqueter le dépôt local dans un seul fichier .tar nommé
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Copiez le fichier .tar sur le nœud où vous souhaitez mettre à jour Edge. Par exemple, copiez-le dans le répertoire
/tmp
du nouveau nœud. - Sur le nouveau nœud, décompressez le fichier dans le répertoire /tmp :
tar -xzf apigee-4.19.06.tar.gz
Cette commande crée un répertoire nommé "repos" dans le répertoire contenant le fichier .tar. Par exemple, /tmp/repos.
- Installez l'utilitaire
apigee-service
Edge et les dépendances à partir de/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Notez que vous devez inclure le chemin d'accès au répertoire des dépôts dans cette commande.
- Sur le nœud avec le dépôt local, utilisez la commande suivante pour empaqueter le dépôt local dans un seul fichier .tar nommé
- Pour installer apigee-service à l'aide du serveur Web Nginx:
- Configurez le serveur Web Nginx comme décrit dans la section "Installer à partir du dépôt à l'aide du serveur Web Nginx" de Installer l'utilitaire apigee-setup Edge.
- Sur le nœud distant, téléchargez le fichier
bootstrap_4.19.06.sh
Edge dans/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
Où uName et pWord sont le nom d'utilisateur et le mot de passe que vous avez définis ci-dessus pour le dépôt, et remoteRepo est l'adresse IP ou le nom DNS du nœud du dépôt.
- Sur le nœud distant, installez l'utilitaire
apigee-service
Edge et les dépendances :sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
Où uName et pWord correspondent au nom d'utilisateur et au mot de passe du dépôt.
- Utilisez
apigee-service
pour mettre à jour l'utilitaireapigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Exécutez l'utilitaire
update
sur votre nœud Postgres :/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
où configFile est le fichier de configuration que vous avez utilisé pour installer la base de données Postgres. La seule exigence concernant le fichier de configuration est qu'il doit être accessible ou lisible par l'utilisateur "apigee".
- Supprimez les RPM PHP, mais pas les dépendances RPM du portail de développement Apigee Drupal en exécutant la commande suivante :
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
Cette commande effectue les opérations suivantes :
rpm -ev --nodeps
supprime les RPM, mais pas leurs dépendances.rpm -qa
crée la liste des RPM à supprimer.grep php
recherche tous les RPM PHP.awk '{printf "%s ", $1}'
affiche les noms des RPM.
- Exécutez l'utilitaire
update
sur votre nœud pour mettre à jour le portail :/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
Où configFile correspond au fichier de configuration que vous avez utilisé pour installer le portail. La seule exigence concernant le fichier de configuration est qu'il doit être accessible ou lisible par l'utilisateur "apigee".
- Exécutez le script
update.php
de Drupal en ouvrant l'URL suivante dans une fenêtre de navigateur :http://portal_IP_DNS:8079/update.php
- Désactivez le mode de maintenance :
- Sélectionnez Configuration dans le menu Drupal.
- Sur la page Configuration, sélectionnez Mode de maintenance sous Développement.
- Désélectionnez la case Mettre le site en mode de maintenance.
- Sélectionnez Enregistrer la configuration.
Notez que le répertoire racine après la mise à jour est le suivant:
/opt/apigee/apigee-drupal/wwwroot
La migration est maintenant terminée. Si l'utilitaire update
d'Apigee a rétrogradé votre version de Drupal, vous devrez peut-être réexécuter l'utilitaire de mise à niveau de Drupal. Pour en savoir plus, consultez la section Réexécuter la mise à niveau de Drupal.
Réexécuter la mise à niveau Drupal
Si l'exécution de l'utilitaire Apigee update
pour mettre à niveau Edge pour Private Cloud entraîne en fait une rétrogradation de votre version Drupal, réinstallez la mise à niveau Drupal. Cela peut être le cas si vous n'avez mis à niveau que Drupal entre les mises à jour de Private Cloud.
Exemple :
- Vous exécutiez la version 4.18.05 d'Edge pour Private Cloud, qui incluait Drupal 7.59.
- Vous avez mis à niveau Drupal vers la version 7.64 en raison d'une mise à jour de sécurité requise.
- Vous passez maintenant à la version 4.19.01 de Private Cloud, qui inclut Drupal 7.61.
Comme l'illustre ce cas, la version Drupal utilisée par l'utilitaire update
Apigee peut ne pas faire référence à la dernière mise à niveau Drupal. Vous devez donc relancer la mise à niveau de Drupal pour revenir à la version ultérieure.