Convertir un portail TAR en portail RPM

Edge pour Private Cloud v4.18.01

La version 4.18.01 du portail de services pour les développeurs ne vous permet pas de mettre à jour une version une version du portail basée sur tar. Vous ne pouvez mettre à jour directement qu'une version du portail basée sur le RPM au 4.18.01.

Cependant, vous pouvez convertir une version tar du portail en instance RPM 4.18.01 le portail. Dans le cadre de ce processus, vous migrez la base de données MySQL/MariaDB du portail existant à la base de données Postgres. Une fois la conversion effectuée, votre portail restera basé sur le RPM.

Vous pouvez migrer de nombreuses versions précédentes du portail tar vers un portail RPM, y compris les versions 4.16.09 et 4.17.01, et pas seulement la version 4.17.05. La seule condition requise est que le portail exécute Drupal 7 ou une version ultérieure. Pour vérifier votre version de Drupal, sélectionnez Rapports > Rapports d'état dans le menu Drupal. La version de Drupal apparaît sur la première ligne de la sortie.

Les grandes étapes à suivre pour migrer d'un portail tar à un portail RPM sont:

  • Installez la version 4.18.01 basée sur RPM du portail de services pour les développeurs sur un un nouveau nœud.
  • Créez une nouvelle 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 tar vers le fichier RPM. portail.
  • Mettez à jour les entrées DNS pour qu'elles pointent vers le nouveau portail basé sur RPM.

    Notez que la version RPM du portail utilise le port 8079 par défaut, tandis que la version basée sur tar utilise le port 80. Assurez-vous d'utiliser le bon numéro de port dans votre entrée DNS. Pour en savoir plus, consultez Définir le port HTTP utilisé par le portail. sur l'utilisation d'un autre port.

Nouveau répertoire d'installation par défaut après conversion

Après la mise à jour d'une installation qui utilise désormais Nginx/Postgres, le répertoire racine a changé 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:

  1. Installer la version 4.18.01 basée sur RPM du portail de services pour les développeurs sur un autre nœud depuis votre portail tar.
  2. Sur le portail basé sur RPM, créez une base de données Postgres. Par la suite, vous migrerez la base de données depuis le portail tar vers cette nouvelle base de données: <ph type="x-smartling-placeholder">
      </ph>
    1. 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 la configuration du portail. .
    2. Créez une base de données Postgred:
      # CRÉER UNE BASE DE DONNÉES newportaldb;
    3. Quittez psql:
      # \q
  3. Sur le portail tar, supprimez les anciens modules qui ne sont plus utilisés:
    &gt; cd /var/www/html
    &gt; drush sql-query --db-prefix "SUPPRIMER de {système} où nom = "compte_apigee" ET type = 'module';"
    &gt; drush sql-query --db-prefix "SUPPRIMER de {system} où nom = "apigee_checklist" AND type = 'module';"
    &gt; drush sql-query --db-prefix "SUPPRIMER de {système} où nom = "apigee_sso_ui" ET type = 'module';"

  4. Sur le portail tar, installez et configurez l'outil Migrator Drupal. module:

    1. cd /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. code postal /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/d noteg_migrator-7.x-1.4.tar --répertoire /var/www/html/sites/all/modules
    5. Connectez-vous au portail en tant qu'administrateur.
    6. Sélectionnez Modules dans le menu Drupal.
    7. Activez le module Outil de migration DBTNG.
    8. Enregistrez la configuration.
  5. Sur le portail tar, remplacez /var/www/html/sites/default/settings.php par Ajoutez une deuxième configuration de base de données pointant vers la nouvelle base de données sur la base de données portail. La configuration actuelle de la base de données est nommée par défaut. Attribuer un nom à la nouvelle configuration personnalisé:
    $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' => '',
            )
          )
        );

    host et port spécifient l'adresse IP et le port Serveur Postgres Postgres utilise le port 5432 pour les connexions.
  6. Sur le portail tar, installez le pilote Postgres: <ph type="x-smartling-placeholder">
      </ph>
    1. Utilisez Yum pour installer le pilote:
      &gt; yum install php-pdo_pgsql
    2. Remplacez /etc/php.ini par Ajoutez la ligne suivante n'importe où dans le fichier:
      extension=pgsql.so
    3. Redémarrez Apache:
      &gt; service httpd redémarrer
  7. Sur le portail basé sur tar : migrez la base de données du portail vers la base de données RPM. portail: <ph type="x-smartling-placeholder">
      </ph>
    1. Connectez-vous au portail en tant qu'administrateur.
    2. Sélectionnez Structure > Migrator dans le menu Drupal.
    3. Choisissez la base de données d'origine sur le portail tar, default, et la base de données de destination. personnalisé, basé sur Fichier settings.php affiché ci-dessus.
    4. Cliquez sur Transférer. La base de données tar est migrée vers la base de données RPM base de données.
  8. Copiez le répertoire sites. du serveur basé sur tar au serveur basé sur RPM.
    Les chemins indiqués dans les étapes suivantes sont basés sur les chemins par défaut. Modifiez-les si nécessaire pour votre installation.
    1. Sur le portail tar, regroupez le répertoire /var/www/html/sites:
      &gt; cd /var/www/html/sites
      &gt; tar -cvzf /tmp/sites.tar.gz .
    2. Copiez /tmp/sites.tar.gz à /opt/apigee/apigee-drupal/wwwroot/sites sur le serveur basé sur RPM.
    3. Dégrouper les répertoires de sites, mais ne pas écraser les fichiers importants.
      1. Sauvegardez le fichier settings.php:
        &gt; sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Sauvegardez le répertoire files existant:
        &gt; sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Sauvegardez le répertoire sites existant:
        &gt; tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Décompressez et décompressez le répertoire sites à partir du fichier tar. serveur:
        &gt; gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        &gt; tar : -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Assurez-vous que la propriété des fichiers copiés est correcte:
        &gt; chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Restaurez le fichier settings.php:
        &gt; sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Déplacer les fichiers privés vers le nouvel emplacement:
        &gt; cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private

        &gt; rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private

        &gt; chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
  9. Sur le portail basé sur tar, uniquement si vous avez modifié le chemin d'accès à la racine Web sur le portail tar à partir du chemin par défaut /var/www/html: exécutez drush status et examinez les chemins d'accès files et private files:
    &gt; cd /var/www/html
    &gt; état d'utilisation


    Si les fichiers/fichiers privés ne se trouvent pas dans le répertoire sites, copiez-les dans le répertoire comme indiqué ci-dessus.
  10. 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:
    &gt; vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    Définissez la description par défaut de la base de données dans le fichier settings.php:
    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => 'localhost', 'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );

    database spécifie la base de données que vous venez de créer. Les champs username et password sont les mêmes que ceux définis pour la base de données personnalisée. sur le portail basé sur tar, et le champ prefix est vide.
  11. Sur le portail basé sur le RPM, la version du portail basée sur le RPM contient moins de modules Drupal que la version basée sur tar. Après la migration vers le portail basé sur RPM, doit vérifier s'il manque des modules et les installer si nécessaire.
    1. Installer le missing_module Drupal utilisé pour détecter les éléments manquants modules:
      &gt; cd /opt/apigee/apigee-drupal/wwwroot
      &gt; drush dl missing_module
      &gt; drush en missing_module
    2. Connectez-vous au portail basé sur RPM en tant qu'administrateur.
    3. Sélectionnez Rapports > des rapports d'état dans le menu Drupal et recherchez les modules manquants.
    4. Utilisez ce rapport pour installer les modules manquants ou utilisez les commandes suivantes:
      &gt; cd /opt/apigee/apigee-drupal/wwwroot
      &gt; drush dl <moduleA> &lt;moduleB&gt; ...
      &gt; drush en <moduleA> &lt;moduleB&gt; ...
    5. Après avoir activé tous les modules, assurez-vous que les fichiers appartiennent à Apigee. utilisateur:
      &gt; chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Pour en savoir plus sur les autorisations de fichiers, consultez https://www.drupal.org/node/244924.
  12. Sur le portail basé sur RPM, exécutez update.php dans un navigateur pour supprimer les erreurs éventuelles sur modules manquants: <ph type="x-smartling-placeholder">
      </ph>
    1. Connectez-vous au portail basé sur RPM en tant qu'administrateur.
    2. Dans le navigateur, accédez à l'URL suivante:
      http://{portal_IP_or_DNS}:8079/update.php

      portal_IP_or_DNS correspond à l'adresse IP ou au nom de domaine Portail basé sur le RPM.
    3. Suivez les instructions à l'écran.
  13. Mettez à jour les entrées DNS pour qu'elles pointent vers votre nouveau portail basé sur RPM.

    Notez que la version RPM du portail utilise le port 8079 par défaut, tandis que la version basée sur tar utilise le port 80. Assurez-vous d'utiliser le bon numéro de port dans votre entrée DNS. Consultez la section Définir le port HTTP utilisé par le portail pour en savoir plus sur à l'aide d'un autre port.

La conversion est terminée.