Mettre à niveau le portail des services pour les développeurs

Portail des services pour les développeurs v. 4.17.05

Cette procédure explique comment mettre à niveau une installation sur site existante d'Apigee Developer Channel Services.

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 :

Déterminer votre type d'installation actuel

Si vous n'êtes pas sûr de 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, sous la forme :

    *: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 des développeurs a été installé à l'emplacement suivant :

  • /opt/apigee/apigee-drupal (Nginx)
  • /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 de la procédure ci-dessous pour utiliser votre répertoire d'installation.

Si vous ne connaissez pas le répertoire d'installation, vous pouvez le déterminer comme décrit dans Commandes Drush couramment utilisées.

Nouveau répertoire d'installation par défaut après la mise à jour de Nginx/Postgres à partir d'une nouvelle installation 4.17.01

Après la mise à jour d'une nouvelle installation de la version 4.17.01 qui utilise Nginx/Postgres, le répertoire racine est passé de :

/opt/apigee/apigee-drupal

par :

/opt/apigee/apigee-drupal/wwwroot

Versions de mise à niveau compatibles

Cette procédure de mise à niveau est compatible avec les versions suivantes du portail :

  • 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

Pour déterminer la version de votre portail, ouvrez l'URL suivante dans un navigateur :

http://yourportal.com/buildInfo

Avant de mettre à jour

Pour les installations existantes, si vous avez modifié du code dans le cœur de Drupal ou dans des modules non personnalisés, vos modifications seront écrasées. Cela inclut, entre autres, les modifications que vous avez pu apporter à .htaccess. Vous devez partir du principe que tout ce qui se trouve en dehors du répertoire /sites appartient à Drupal. Le fichier robots.txt fait exception à cette règle. S'il existe à la racine du site Web, il sera conservé.

Avant de procéder à l'installation, sauvegardez l'intégralité du 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 le portail à l'aide d'un fichier .tar

  1. Sauvegardez votre instance Drupal MySQL/MariaDB.
    Pour en savoir plus, consultez http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/.
    1. Option 1 : Utiliser Drush

      La commande Drush sql-dump crée une copie de la base de données. À partir de votre répertoire Drupal, /var/www/html par défaut, exécutez la commande suivante :
      > drush sql-dump > /path/to/backup_dir/database-backup.sql

      Pour en savoir plus, utilisez la commande drush help sql-dump.
    2. Option 2 : Utiliser MySQLdump
      Utilisez la commande mysqldump pour créer une copie de la base de données :
      mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql

      Il ne doit pas y avoir d'espace entre l'option -p et le mot de passe. Le mot de passe doit être entouré de guillemets simples s'il contient des caractères spéciaux.

      Vous avez défini les valeurs USERNAME et DATABASENAME lors de l'installation du portail. Par défaut, les deux sont "devportal".
  2. Créez une sauvegarde de l'intégralité du répertoire racine Web Drupal. L'emplacement d'installation par défaut est /var/www/html, mais vous l'avez peut-être modifié au moment de l'installation.
  3. Téléchargez le fichier DeveloperServices_x.y.z.tar des services de canaux pour les développeurs depuis ftp.apigee.com, où x.y.z correspond au numéro de version du portail. Lorsque vous y êtes invité, saisissez les identifiants que vous avez reçus d'Apigee.

    Vous pouvez télécharger un fichier à partir du lien qui vous a été envoyé par Apigee dans un navigateur ou en le copiant, puis en l'ajoutant à la commande cURL suivante :
    > curl -kOL <paste link here>

    Remarque : Si votre portail se trouve sur un serveur sans connexion Internet externe, effectuez cette étape sur un serveur disposant d'un accès.

    Accédez à la page Assistance Apigee Edge et sélectionnez Se connecter au portail d'assistance pour demander le fichier .tar de mise à niveau des services Developer Channel. Si vous n'avez pas de compte sur le portail d'assistance, sélectionnez Se connecter au portail d'assistance, puis sur la page de connexion, sélectionnez Vous êtes pressé ? Envoyez une demande d'assistance ici.
  4. Pour une mise à niveau sur un serveur disposant d'une connexion Internet :
    1. Extrayez le fichier de mise à niveau du portail :
      > tar -xvf <tar file>

      Cette commande d'extraction crée un répertoire nommé DeveloperServices-4.x.y.z.
    2. Accédez au répertoire DeveloperServices-4.x.y.z.
    3. Téléchargez la dernière version de Drupal à l'aide de la commande suivante :
      > drush dl drupal

      Cette commande crée un répertoire nommé drupal-x.y, où x.y correspond à la version actuelle de Drupal.
    4. Exécutez le script networked-update.sh :
      > ./networked-update.sh

      Selon les autorisations de fichiers, vous devrez peut-être utiliser sudo pour exécuter cette commande ou l'exécuter en tant qu'administrateur.
    5. Pour recevoir des notifications de mises à jour Drupal, assurez-vous que le module du gestionnaire de mises à jour Drupal est activé. Dans le menu Drupal, sélectionnez Modules, puis faites défiler la page jusqu'au module Update manager (Gestionnaire de mises à jour). Si ce n'est pas le cas, activez-la.

      Une fois cette option activée, vous pouvez voir les mises à jour disponibles en utilisant l'élément de menu Rapports > Mises à jour disponibles.

      Utilisez l'option de menu Reports > Available Updates > Settings (Rapports > Mises à jour disponibles > Paramètres) pour configurer le module de sorte qu'il vous envoie un e-mail lorsque des mises à jour sont disponibles et pour définir la fréquence de recherche des mises à jour.
  5. Pour une mise à niveau sur un serveur sans connexion Internet :
    1. Sur le serveur sur lequel vous avez téléchargé le fichier DeveloperServices_x.y.z.tar des services de canal de développement, extrayez le fichier de mise à niveau du portail :
      > tar -xvf <tar file>

      Cette commande d'extraction crée un répertoire nommé DeveloperServices-4.x.y.z.
    2. Accédez au répertoire DeveloperServices-4.x.y.z.
    3. Exécutez le script non-networked-update.sh :
      > ./non-networked-update.sh

      Selon les autorisations de fichiers, vous devrez peut-être utiliser sudo pour exécuter cette commande ou l'exécuter en tant qu'administrateur.

      Cette commande télécharge tous les fichiers de mise à jour nécessaires et les empaquette dans un seul fichier nommé devportal-update.tgz, puis écrit le fichier à l'emplacement de votre choix.
    4. Copiez devportal-update.tgz sur le serveur cible, celui qui exécute le portail.
      Remarque : Ne copiez pas le fichier devportal-update.tgz à la racine Web du serveur cible.
    5. Décompressez le fichier devportal-update.tgz dans le répertoire actuel :
      > tar -xzf /path/to/devportal-update.tgz
    6. Accédez au répertoire developer-update.
    7. Exécutez la commande suivante pour installer la mise à jour :
      > ./install-update.sh
    8. Répondez aux questions.

La mise à niveau est terminée.

Mettre à niveau un portail à l'aide de RPM

Pour mettre à jour le RPM du portail sur un nœud, procédez comme suit :

  1. Accédez au répertoire Drupal, /opt/apigee/apigee-drupal par défaut :
    > cd /opt/apigee/apigee-drupal
  2. 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=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp

    où :
    • dbname spécifie le nom de la base de données tel qu'il est spécifié par la propriété PG_NAME dans le fichier de configuration de l'installation du portail.
    • host spécifie l'adresse IP du nœud du portail.
    • username spécifie 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 de l'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 de l'installation du portail.

    Si vous devez ultérieurement effectuer une restauration à partir de la sauvegarde, utilisez la commande suivante :
    pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
  3. Créez une sauvegarde de l'intégralité du 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 ne connaissez pas l'emplacement de ce répertoire, utilisez la commande drush status ou l'entrée Configuration > Media > File (Configuration > Médias > Fichier) du menu Drupal pour déterminer l'emplacement du système de fichiers public et le chemin d'accès au système de fichiers privé (pour l'étape suivante).
  4. Sauvegardez les fichiers dans /opt/apigee/data/apigee-drupal-devportal/private.
  5. Désactivez SELinux comme décrit dans Installer l'utilitaire apigee-setup d'Edge.
  6. Pour une mise à niveau sur un serveur disposant d'une connexion Internet :
    1. Téléchargez le fichier bootstrap_4.17.05.sh d'Edge 4.17.05 dans /tmp/bootstrap_4.17.05.sh :
      > curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
    2. Installez l'utilitaire apigee-service et les dépendances d'Edge 4.17.05 :
      > sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord

      où uName: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.
  7. Pour une mise à niveau sur un serveur sans connexion Internet :
    1. Créez un dépôt 4.17.05 local comme décrit dans la section "Créer un dépôt Apigee local" de la page Installer l'utilitaire apigee-setup d'Edge.
      Remarque : Si vous disposez déjà d'un dépôt 4.17.01, vous pouvez y ajouter le dépôt 4.17.05, comme décrit dans la section "Mettre à jour un dépôt Apigee local" de la page Installer l'utilitaire apigee-setup d'Edge.
    2. Pour installer apigee-service à partir d'un fichier .tar :
      1. Sur le nœud contenant 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.17.05.tar.gz :
        > /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Copiez le fichier .tar sur le nœud sur lequel vous souhaitez mettre à jour Edge. Par exemple, copiez-le dans le répertoire /tmp du nouveau nœud.
      3. Sur le nouveau nœud, décompressez le fichier dans le répertoire /tmp :
        > tar -xzf apigee-4.17.05.tar.gz

        Cette commande crée un répertoire nommé "repos" dans le répertoire contenant le fichier .tar. Par exemple, /tmp/repos.
      4. Installez l'utilitaire apigee-service d'Edge et les dépendances à partir de /tmp/repos :
        > sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Notez que vous incluez le chemin d'accès au répertoire des dépôts dans cette commande.
    3. Pour installer apigee-service à l'aide du serveur Web Nginx :
      1. Configurez le serveur Web Nginx comme décrit dans la section "Installer à partir du dépôt à l'aide du serveur Web Nginx" de la page Installer l'utilitaire apigee-setup d'Edge.
      2. Sur le nœud distant, téléchargez le fichier Edge bootstrap_4.17.05.sh vers /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

        où uName: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.
      3. Sur le nœud distant, installez l'utilitaire Edge apigee-service et les dépendances :
        > sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        où uName:pWord sont le nom d'utilisateur et le mot de passe du dépôt.
  8. Utilisez apigee-service pour mettre à jour l'utilitaire apigee-setup :
    > /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  9. Exécutez l'utilitaire de mise à jour sur votre nœud pour mettre à jour la base de données 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".

  10. Démarrez Postgres :> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  11. Exécutez l'utilitaire de mise à jour sur votre nœud pour mettre à jour le portail :
    > /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    où configFile est le 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".

Notez que le répertoire racine après la mise à jour est désormais :

/opt/apigee/apigee-drupal/wwwroot

La mise à niveau est terminée.