TAR-basiertes Portal in ein RPM-basiertes Portal umwandeln

Edge for Private Cloud Version 4.18.01

Mit der Version 4.18.01 des Portals für Entwicklerdienste können Sie keine frühere TAR-basierte Version des Portals aktualisieren. Du kannst nur eine RPM-basierte Version des Portals direkt auf 4.18.01 aktualisieren.

Sie können jedoch eine tar-basierte Version des Portals in eine RPM-basierte Instanz des Portals 4.18.01 konvertieren. Im Rahmen dieses Prozesses migrieren Sie die MySQL/MariaDB des vorhandenen Portals zu einer Postgres-Datenbank. Nach der Umstellung bleibt Ihr Portal ein RPM-basiertes Portal.

Sie können viele frühere Versionen des tar-basierten Portals zu einem RPM-basierten Portal migrieren, einschließlich der Versionen 4.16.09 und 4.17.01 (nicht nur Version 4.17.05). Die einzigen Anforderungen sind, dass auf dem Portal Drupal 7 oder höher ausgeführt wird. Um Ihre Drupal-Version zu überprüfen, wählen Sie im Drupal-Menü Berichte > Statusberichte aus. Die Version von Drupal wird in der ersten Zeile der Ausgabe angezeigt.

Die übergeordneten Schritte, die Sie für die Migration von einem tar-basierten Portal zu einem RPM-basierten Portal verwenden, sind:

  • Installieren Sie die RPM-basierte Version 4.18.01 des Entwicklerdienstportals auf einem neuen Knoten.
  • Erstellen Sie eine neue Postgres-Datenbank im RPM-basierten Portal.
  • Migrieren Sie die Portaldatenbank aus dem tar-basierten Portal.
  • Kopieren Sie die gesamte Zubehördatei aus dem tar-basierten Portal in das RPM-basierte Portal.
  • Aktualisieren Sie die DNS-Einträge so, dass sie auf das neue RPM-basierte Portal verweisen.

    Beachten Sie, dass die RPM-basierte Version des Portals standardmäßig Port 8079 verwendet, während die tar-basierte Version Port 80 verwendet. Achten Sie darauf, in Ihrem DNS-Eintrag die richtige Portnummer zu verwenden. Informationen zur Verwendung eines anderen Ports finden Sie unter Vom Portal verwendeten HTTP-Port festlegen.

Neues Standardinstallationsverzeichnis nach der Konvertierung

Nach der Aktualisierung einer Installation, die jetzt Nginx/Postgres verwendet, wurde das Stammverzeichnis geändert von:

/opt/apigee/apigee-drupal

in

/opt/apigee/apigee-drupal/wwwroot

Verfahren für die Portalumwandlung

So konvertieren Sie das Portal in eine RPM-basierte Installation:

  1. Installieren Sie die RPM-basierte Version 4.18.01 des Entwicklerdienstportals auf einem anderen Knoten als dem tar-basierten Portal.
  2. Erstellen Sie im RPM-basierten Portal eine neue Postgres-Datenbank. Später migrieren Sie die Datenbank vom tar-basierten Portal zu dieser neuen Datenbank:
    1. Melden Sie sich bei psql an:
      >psql -h localhost -p 5432 -U apigee

      Geben Sie Ihr Postgres-Passwort ein, wie es durch das Attribut PG_PWD in der Portalkonfigurationsdatei definiert ist.
    2. Erstellen Sie eine neue Postgred-Datenbank:
      # CREATE DATABASE newportaldb;
    3. Beenden Sie psql:
      # \q
  3. Entfernen Sie im tar-basierten Portal alte Module, die nicht mehr verwendet werden:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
    apigee-rush-checklist AND-query --module ' DELETE_checklist = 'SQL' "DELETE_checklist name --db-prefix ";
    '

  4. Installieren und konfigurieren Sie das Migrator Drupal-Modul im tar-basierten Portal:

    1. cd /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
    5. Melden Sie sich als Administrator im Portal an.
    6. Wählen Sie im Drupal-Menü die Option Module (Module) aus.
    7. Aktivieren Sie das Modul DBTNG Migrator.
    8. Speichern Sie die Konfiguration.
  5. Bearbeiten Sie im tar-basierten Portal /var/www/html/sites/default/settings.php, um eine zweite Datenbankkonfiguration hinzuzufügen, die auf die neu erstellte Datenbank im RPM-basierten Portal verweist. Die aktuelle Datenbankkonfiguration heißt „default“. Benennen Sie die neue Konfiguration „Benutzerdefiniert“:
    $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' => '',
            )
          )
        );

    , wobei host und port die IP-Adresse und den Port des Postgres-Servers angeben. Postgres verwendet für Verbindungen Port 5432.
  6. Installieren Sie im tar-basierten Portal den Postgres-Treiber:
    1. Installieren Sie den Treiber mit Yum:
      > yum install php-pdo_pgsql
    2. Bearbeiten Sie /etc/php.ini, um die folgende Zeile an einer beliebigen Stelle in der Datei einzufügen:
      extension=pgsql.so
    3. Starten Sie Apache neu:
      > service httpd neustart
  7. Migrieren Sie im tar-basierten Portal die Portaldatenbank zum RPM-basierten Portal:
    1. Melden Sie sich als Administrator im Portal an.
    2. Wählen Sie im Drupal-Menü Structure->Migrator (Struktur->Migrator) aus.
    3. Wählen Sie anhand der oben gezeigten Datei settings.php Ihre Ursprungsdatenbank im tar-basierten Portal default und die Zieldatenbank custom aus.
    4. Klicken Sie auf Migrieren. Die TAR-basierte Datenbank wird zur RPM-basierten Datenbank migriert.
  8. Kopieren Sie das sites-Verzeichnis vom tar-basierten Server auf den RPM-basierten Server.
    Die in den folgenden Schritten angezeigten Pfade basieren auf Standardpfaden. Passen Sie diese bei Bedarf für Ihre Installation an.
    1. Bündeln Sie im tar-basierten Portal das Verzeichnis /var/www/html/sites:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. Kopieren Sie /tmp/sites.tar.gz auf dem RPM-basierten Server nach /opt/apigee/apigee-drupal/wwwroot/sites.
    3. Entfernen Sie das Websiteverzeichnis, aber überschreiben Sie keine wichtigen Dateien.
      1. Sichern Sie die Datei settings.php:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Vorhandenes files-Verzeichnis sichern:
        > sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Sichern Sie das vorhandene sites-Verzeichnis:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Entpacken und entpacken Sie das sites-Verzeichnis vom tar-basierten Server:
        > gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Achten Sie darauf, dass kopierte Dateien die erforderlichen Eigentumsrechte haben:
        > chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Datei settings.php wiederherstellen:
        > sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Private Dateien an den neuen Speicherort verschieben:
        > 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/apigee/apigee-drupal/wwwroot/sites/apigee/apigee/apigee-

  9. Im tar-basierten Portal nur, wenn Sie den Pfad zum Web-Stammverzeichnis im tar-basierten Portal vom Standardpfad von /var/www/html geändert haben: Führen Sie drush status aus und sehen Sie sich den files-Pfad und den privaten Dateien-Pfad an:
    > cd /var/www/html
    > drush status


    Wenn Sie sie nicht unter dem RPM-basierten RPM-Verzeichnis kopieren: sites.
  10. /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php




    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => 'localhost', 'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );
  11. Im RPM-basierten Portal enthält die RPM-basierte Version des Portals weniger Drupal-Module als die TAR-basierte Version. Nach der Migration zum RPM-basierten Portal müssen Sie nach fehlenden Modulen suchen und diese bei Bedarf installieren.
    1. Installieren Sie das Drupal missing_module, das zum Erkennen fehlender Module verwendet wird:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl missing_module
      > drush en missing_module
    2. Melden Sie sich als Administrator im RPM-basierten Portal an.
    3. Wählen Sie im Drupal-Menü Berichte > Statusberichte aus und suchen Sie nach fehlenden Modulen.
    4. Verwenden Sie diesen Bericht, um fehlende Module zu installieren, oder verwenden Sie die folgenden Befehle:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl <moduleA> <moduleB> ...
      > drush en <moduleA> <moduleB> ...
    5. Nachdem Sie alle Module aktiviert haben, prüfen Sie, ob die Dateien dem Apigee-Benutzer gehören:
      > chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Weitere Informationen zu Dateiberechtigungen finden Sie unter https://www.drupal.org/node/244924.
  12. Führen Sie im RPM-basierten Portal in einem Browser update.php aus, um Fehler aufgrund fehlender Module zu entfernen:
    1. Melden Sie sich als Administrator im RPM-basierten Portal an.
    2. Rufe im Browser die folgende URL auf:
      http://{portal_IP_or_DNS}:8079/update.php

      Dabei ist portal_IP_or_DNS die IP-Adresse oder der Domainname des RPM-basierten Portals.
    3. Folgen Sie der Anleitung auf dem Bildschirm.
  13. Aktualisieren Sie die DNS-Einträge so, dass sie auf Ihr neues RPM-basiertes Portal verweisen.

    Beachten Sie, dass die RPM-basierte Version des Portals standardmäßig Port 8079 verwendet, während die tar-basierte Version Port 80 verwendet. Achten Sie darauf, in Ihrem DNS-Eintrag die richtige Portnummer zu verwenden. Informationen zur Verwendung eines anderen Ports finden Sie unter Vom Portal verwendeten HTTP-Port festlegen.

Die Umwandlung ist abgeschlossen.