Edge for Private Cloud v4.18.01
La version 4.18.01 du portail des services pour les développeurs ne vous permet pas de mettre à jour une version précédente du portail basée sur tar. Seule une version du portail basée sur RPM peut être mise à jour directement vers la version 4.18.01.
Toutefois, vous pouvez convertir une version du portail basée sur tar en une instance du portail basée sur RPM 4.18.01. Dans le cadre de ce processus, vous migrez la base de données MySQL/MariaDB du portail existant vers une base de données Postgres. Une fois converti, votre portail reste un portail basé sur RPM.
Vous pouvez migrer de nombreuses versions précédentes du portail basé sur tar vers un portail basé sur RPM, y compris les versions 4.16.09 et 4.17.01, et pas seulement la version 4.17.05. La seule condition est que le portail exécute Drupal 7 ou une version ultérieure. Pour vérifier votre version de Drupal, sélectionnez Reports > Status Reports (Rapports > Rapports d'état) dans le menu Drupal. La version de Drupal apparaît sur la première ligne du résultat.
Voici les principales étapes à suivre pour migrer d'un portail basé sur tar vers un portail basé sur RPM :
- Installez la version 4.18.01 basée sur RPM du portail des services des développeurs sur un nouveau nœud.
- Créez une base de données Postgres sur le portail basé sur RPM.
- Migrez la base de données du portail à partir du portail basé sur tar.
- Copiez tous les fichiers d'accessoires du portail basé sur tar vers le portail basé sur RPM.
- Mettez à jour les entrées DNS pour qu'elles pointent vers le nouveau portail basé sur RPM.
Notez que la version du portail basée sur RPM utilise le port 8079 par défaut, tandis que la version basée sur tar utilise le port 80. Veillez à utiliser le bon numéro de port dans votre entrée DNS. Pour en savoir plus sur l'utilisation d'un autre port, consultez Définir le port HTTP utilisé par le portail.
Nouveau répertoire d'installation par défaut après la conversion
Après la mise à jour d'une installation qui utilise désormais Nginx/Postgres, le répertoire racine est passé de :
/opt/apigee/apigee-drupal
par :
/opt/apigee/apigee-drupal/wwwroot
Procédure de conversion du portail
Pour convertir le portail en installation basée sur RPM :
- Installez la version 4.18.01 basée sur RPM du portail Developer Services sur un nœud différent de celui de votre portail basé sur tar.
-
Sur le portail basé sur RPM, créez une base de données Postgres. Plus tard, vous migrerez la base de données du portail basé sur tar vers cette nouvelle base de données :
- Connectez-vous à psql :
>psql -h localhost -p 5432 -U apigee
Saisissez votre mot de passe Postgres tel que défini par la propriété PG_PWD dans le fichier de configuration du portail. - Créez une base de données Postgres :
# CREATE DATABASE newportaldb; - Quittez psql :
# \q
- Connectez-vous à psql :
-
Sur le portail basé sur tar, supprimez les anciens modules qui ne sont plus utilisés :
> cd /var/www/html
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
> drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';" -
Sur le portail basé sur tar, installez et configurez le module Migrator Drupal :
- cd /tmp
- wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
- gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
- tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- Connectez-vous au portail en tant qu'administrateur.
- Sélectionnez Modules dans le menu Drupal.
- Activez le module DBTNG Migrator.
- Enregistrez la configuration.
- Sur le portail basé sur tar, modifiez /var/www/html/sites/default/settings.php pour ajouter une deuxième configuration de base de données pointant vers la base de données nouvellement créée sur le portail basé sur RPM. La configuration de base de données actuelle est nommée "default". Nommez votre nouvelle configuration personnalisée :
.$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'devportal', 'username' => 'devportal', 'password' => 'devportal', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'custom' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => '192.168.168.100', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
où host et port spécifient l'adresse IP et le port du serveur Postgres. Postgres utilise le port 5432 pour les connexions. -
Sur le portail basé sur tar, installez le pilote Postgres :
- Utilisez Yum pour installer le pilote :
> yum install php-pdo_pgsql - Modifiez /etc/php.ini pour ajouter la ligne suivante n'importe où dans le fichier :
extension=pgsql.so - Redémarrez Apache :
> service httpd restart
- Utilisez Yum pour installer le pilote :
-
Sur le portail basé sur tar, migrez la base de données du portail vers le portail basé sur RPM :
- Connectez-vous au portail en tant qu'administrateur.
- Sélectionnez Structure > Migrator dans le menu Drupal.
- Choisissez votre base de données d'origine sur le portail basé sur tar, default, et la base de données de destination, custom, en fonction du fichier settings.php présenté ci-dessus.
- Cliquez sur Transférer. La base de données basée sur tar est migrée vers la base de données basée sur RPM.
- Copiez le répertoire sites du serveur basé sur tar vers le serveur basé sur RPM.
Les chemins d'accès indiqués dans les étapes suivantes sont basés sur les chemins d'accès par défaut. Modifiez-les si nécessaire pour votre installation.- Sur le portail basé sur tar, regroupez le répertoire /var/www/html/sites :
> cd /var/www/html/sites
> tar -cvzf /tmp/sites.tar.gz . - Copiez /tmp/sites.tar.gz dans /opt/apigee/apigee-drupal/wwwroot/sites sur le serveur RPM.
- Décompressez le répertoire des sites, mais n'écrasez pas les fichiers importants.
- Sauvegardez le fichier settings.php :
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php - Sauvegardez le répertoire files existant :
> sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old - Sauvegardez le répertoire sites existant :
> tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites - Décompressez le répertoire sites du serveur tar :
> gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
> tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar - Assurez-vous que les fichiers copiés disposent de la propriété appropriée :
> chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/ - Restaurez le fichier settings.php :
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php - Déplacez les fichiers privés vers un nouvel emplacement :
> cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
> rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
> chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- Sauvegardez le fichier settings.php :
- Sur le portail basé sur tar, regroupez le répertoire /var/www/html/sites :
- Sur le portail basé sur tar, uniquement si vous avez modifié le chemin d'accès au répertoire racine Web sur le portail basé sur tar à partir du chemin d'accès par défaut /var/www/html : exécutez drush status et examinez le chemin d'accès aux fichiers et le chemin d'accès aux fichiers privés :
> cd /var/www/html
> drush status
Si les fichiers/fichiers privés ne se trouvent pas dans le répertoire sites, copiez-les sur le serveur basé sur RPM, comme indiqué ci-dessus. - Sur le portail basé sur RPM, mettez à jour /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php pour définir les propriétés de la base de données par défaut :
> vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
Définissez la description de la base de données par défaut dans settings.php :
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
où database spécifie la nouvelle base de données que vous avez créée, username et password sont tels que définis pour la base de données personnalisée sur le portail basé sur tar, et prefix est vide. -
Sur le portail basé sur RPM, la version du portail basée sur RPM contient moins de modules Drupal que la version basée sur tar. Après avoir migré vers le portail basé sur RPM, vous devez vérifier s'il manque des modules et les installer si nécessaire.
- Installez le module Drupal missing_module utilisé pour détecter les modules manquants :
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl missing_module
> drush en missing_module - Connectez-vous au portail basé sur RPM en tant qu'administrateur.
- Sélectionnez Reports > Status reports (Rapports > Rapports d'état) dans le menu Drupal, puis vérifiez s'il manque des modules.
- Utilisez ce rapport pour installer les modules manquants ou utilisez les commandes suivantes :
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl <moduleA> <moduleB> ...
> drush en <moduleA> <moduleB> ... - Après avoir activé tous les modules, assurez-vous que les fichiers appartiennent à l'utilisateur apigee :
> chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Pour en savoir plus sur les autorisations de fichiers, consultez la page https://www.drupal.org/node/244924.
- Installez le module Drupal missing_module utilisé pour détecter les modules manquants :
-
Sur le portail basé sur RPM, exécutez update.php dans un navigateur pour supprimer les erreurs liées aux modules manquants :
- Connectez-vous au portail basé sur RPM en tant qu'administrateur.
- Dans le navigateur, accédez à l'URL suivante :
http://{portal_IP_or_DNS}:8079/update.php
où portal_IP_or_DNS est l'adresse IP ou le nom de domaine du portail basé sur RPM. - Suivez les instructions à l'écran.
- Mettez à jour les entrées DNS pour qu'elles pointent vers votre nouveau portail basé sur RPM.
Notez que la version du portail basée sur RPM utilise le port 8079 par défaut, tandis que la version basée sur tar utilise le port 80. Veillez à utiliser le bon numéro de port dans votre entrée DNS. Pour en savoir plus sur l'utilisation d'un autre port, consultez Définir le port HTTP utilisé par le portail.
La conversion est terminée.