Edge for Private Cloud v. 4.17.09
Mit der Version 4.17.09 des Developer Services-Portals können Sie eine frühere tar-basierte Version des Portals nicht aktualisieren. Sie können nur eine RPM-basierte Version des Portals direkt auf 4.17.09 aktualisieren.
Sie können jedoch eine tar-basierte Version des Portals in eine RPM-basierte Instanz des Portals (Version 4.17.09) konvertieren. Im Rahmen dieses Prozesses migrieren Sie die MySQL/MariaDB des vorhandenen Portals zu einer Postgres-Datenbank. Nach der Konvertierung 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 einzige Voraussetzung ist, dass auf dem Portal Drupal 7 oder höher ausgeführt wird. Wenn Sie Ihre Drupal-Version prüfen möchten, wählen Sie im Drupal-Menü Berichte > Statusberichte aus. Die Version von Drupal wird in der ersten Zeile der Ausgabe angezeigt.
Die allgemeinen Schritte für die Migration von einem tar-basierten Portal zu einem RPM-basierten Portal sind:
- Installieren Sie die RPM-basierte Version 4.17.09 des Entwicklerdienstportals auf einem neuen Knoten.
- Erstellen Sie eine neue Postgres-Datenbank im RPM-basierten Portal.
- Migrieren Sie die Portal-Datenbank aus dem tar-basierten Portal.
- Kopieren Sie alle Zubehördateien vom 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, die richtige Portnummer in Ihrem DNS-Eintrag zu verwenden. Informationen zur Verwendung eines anderen Ports finden Sie unter Vom Portal verwendeten HTTP-Port festlegen.
Neues Standardinstallationsverzeichnis nach der Konvertierung
Nach dem Aktualisieren einer Installation, die jetzt Nginx/Postgres verwendet, hat sich das Stammverzeichnis geändert von:
/opt/apigee/apigee-drupal
in
/opt/apigee/apigee-drupal/wwwroot
Verfahren für die Portal-Konvertierung
So konvertieren Sie das Portal in eine RPM-basierte Installation:
- Installieren Sie die RPM-basierte Version 4.17.09 des Developer Service-Portals auf einem anderen Knoten als Ihr tar-basiertes Portal.
-
Erstellen Sie im RPM-basierten Portal eine neue Postgres-Datenbank. Später migrieren Sie die Datenbank vom tar-basierten Portal zu dieser neuen Datenbank:
- 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. - Erstellen Sie eine neue PostgreSQL-Datenbank:
# CREATE DATABASE newportaldb; - Beenden Sie psql:
# \q
- Melden Sie sich bei psql an:
-
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';"
> 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';" -
Installieren und konfigurieren Sie auf dem tar-basierten Portal das Migrator-Drupal-Modul:
- 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
- Melden Sie sich als Administrator im Portal an.
- Wählen Sie im Drupal-Menü Module aus.
- Aktivieren Sie das Modul DBTNG Migrator.
- Speichern Sie die Konfiguration.
- Bearbeiten Sie im tar-basierten Portal die Datei /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“. Geben Sie der neuen Konfiguration den Namen custom:
.$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' => '', ) ) );
Dabei geben host und port die IP-Adresse und den Port des Postgres-Servers an. Postgres verwendet Port 5432 für Verbindungen. -
Installieren Sie auf dem tar-basierten Portal den Postgres-Treiber:
- Installieren Sie den Treiber mit Yum:
> yum install php-pdo_pgsql - Bearbeiten Sie /etc/php.ini, um die folgende Zeile an einer beliebigen Stelle in der Datei hinzuzufügen:
extension=pgsql.so - Starten Sie Apache neu:
> service httpd restart
- Installieren Sie den Treiber mit Yum:
-
Migrieren Sie im tar-basierten Portal die Portal-Datenbank zum RPM-basierten Portal:
- Melden Sie sich als Administrator im Portal an.
- Wählen Sie im Drupal-Menü Structure->Migrator aus.
- Wählen Sie die Ursprungsdatenbank im tar-basierten Portal, default, und die Zieldatenbank, custom, basierend auf der oben gezeigten Datei settings.php aus.
- Klicken Sie auf Migrieren. Die tar-basierte Datenbank wird zur RPM-basierten Datenbank migriert.
- Kopieren Sie das Verzeichnis sites vom tar-basierten Server auf den RPM-basierten Server.
Die in den folgenden Schritten gezeigten Pfade basieren auf Standardpfaden. Ändern Sie sie nach Bedarf für Ihre Installation.- Bündeln Sie im tar-basierten Portal das Verzeichnis /var/www/html/sites:
> cd /var/www/html/sites
> tar -cvzf /tmp/sites.tar.gz . - Kopieren Sie /tmp/sites.tar.gz auf dem RPM-basierten Server nach /opt/apigee/apigee-drupal/wwwroot/sites.
- Entpacken Sie das Verzeichnis „sites“, überschreiben Sie aber keine wichtigen Dateien.
- 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 - Sichern Sie das vorhandene Verzeichnis files:
> sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old - Sichern Sie das vorhandene Verzeichnis sites:
> tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites - Entpacken Sie das Verzeichnis sites vom tar-basierten Server:
> gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
> tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar - Achten Sie darauf, dass die kopierten Dateien die richtigen Eigentümer haben:
> chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/ - Stellen Sie die Datei settings.php wieder her:
> sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php - Verschieben Sie private Dateien an einen neuen Speicherort:
> 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
- Sichern Sie die Datei settings.php:
- Bündeln Sie im tar-basierten Portal das Verzeichnis /var/www/html/sites:
- Auf dem tar-basierten Portal, nur wenn Sie den Pfad zum Webstammverzeichnis auf dem tar-basierten Portal vom Standardpfad /var/www/html geändert haben: Führen Sie drush status aus und sehen Sie sich den Pfad files und den Pfad private files an:
> cd /var/www/html
> drush status
Wenn sich Dateien/private Dateien nicht im Verzeichnis sites befinden, kopieren Sie sie wie oben gezeigt auf den RPM-basierten Server. - Aktualisieren Sie im RPM-basierten Portal /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php, um die Attribute der Standarddatenbank festzulegen:
> vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
Legen Sie die Standarddatenbankbeschreibung in settings.php fest:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
Dabei gibt database die neue Datenbank an, die Sie erstellt haben, username und password sind wie für die benutzerdefinierte Datenbank im tar-basierten Portal definiert und prefix ist leer. -
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.
- Installieren Sie das Drupal-Modul missing_module, mit dem fehlende Module erkannt werden:
> cd /opt/apigee/apigee-drupal/wwwroot
> drush dl missing_module
> drush en missing_module - Melden Sie sich als Administrator im RPM-basierten Portal an.
- Wählen Sie im Drupal-Menü Berichte > Statusberichte aus und prüfen Sie, ob Module fehlen.
- 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> ... - Nachdem Sie alle Module aktiviert haben, müssen Sie dafür sorgen, dass die Dateien dem Apigee-Nutzer gehören:
> chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Weitere Informationen zu Dateiberechtigungen finden Sie unter https://www.drupal.org/node/244924.
- Installieren Sie das Drupal-Modul missing_module, mit dem fehlende Module erkannt werden:
-
Führen Sie im RPM-basierten Portal update.php in einem Browser aus, um Fehler zu fehlenden Modulen zu beheben:
- Melden Sie sich als Administrator im RPM-basierten Portal an.
- Rufen Sie 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. - Folgen Sie der Anleitung auf dem Bildschirm.
- Aktualisieren Sie die DNS-Einträge so, dass sie auf Ihr neues RPM-basiertes Portal verweisen.
Die RPM-basierte Version des Portals verwendet standardmäßig Port 8079, während die tar-basierte Version Port 80 verwendet. Achten Sie darauf, die richtige Portnummer in Ihrem DNS-Eintrag zu verwenden. Informationen zur Verwendung eines anderen Ports finden Sie unter Vom Portal verwendeten HTTP-Port festlegen.
Die Konvertierung ist abgeschlossen.