Mit der Version 4.18.05 des Apigee Developer Services-Portals (oder einfach des Portals) können Sie keine vorherige Version des TAR-basierte Version des Portals. Sie können nur eine RPM-basierte Version des Portals direkt auf 4.18.05 aktualisieren.
Sie können jedoch eine tar-basierte Version des Portals in eine RPM-basierte Instanz des Portals mit der Version 4.18.05 konvertieren. Dabei migrieren Sie die MySQL-/MariaDB-Datenbank des vorhandenen Portals zu einer PostgreSQL-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 erscheint in der ersten Zeile. der Ausgabe.
Die übergeordneten Schritte, mit denen Sie von einem TAR-basierten Portal zu einem RPM-basierten Portal migrieren sind:
- Installieren Sie die RPM-basierte Version 4.18.05 des Portals 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 alle Zubehördateien 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 verwendet Port 80. Achten Sie darauf, dass Sie in Ihrem DNS-Eintrag die richtige Portnummer verwenden. Informationen zur Verwendung eines anderen Ports finden Sie unter HTTP-Port festlegen, der vom Portal verwendet wird.
Neues Standardinstallationsverzeichnis nach dem Conversion
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 Portal-Konvertierung
So konvertieren Sie das Portal in eine RPM-basierte Installation:
- Installieren Sie die RPM-basierte Version 4.18.05 des Portals auf einem anderen Knoten als Ihrem TAR-basierten Knoten. des Google-Portals.
- Erstellen Sie im RPM-basierten Portal eine neue Postgres-Datenbank. Später migrieren Sie die Datenbank aus dem tar-basierten Portal in diese neue Datenbank:
- Melden Sie sich in psql an:
psql -h localhost -p 5432 -U apigee
Geben Sie Ihr Postgres-Passwort gemäß der Eigenschaft PG_PWD in der Portalkonfiguration ein -Datei.
- Neue Postgres-Datenbank erstellen:
CREATE DATABASE newportaldb;
- Beenden Sie psql:
\q
- Melden Sie sich in 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 das Migrator Drupal-Modul im tar-basierten Portal:
-
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
/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“. Neue Konfiguration benennen „custom“, wie im folgenden Beispiel gezeigt:$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
undport
die IP-Adresse und den Port des Postgres-Servers an. Postgres verwendet Port 5432 für Verbindungen. -
Installieren Sie im tar-basierten Portal den Postgres-Treiber:
- Verwenden Sie Yum, um den Treiber zu installieren:
yum install php-pdo_pgsql
- Bearbeiten Sie
/etc/php.ini
und fügen Sie die folgende Zeile an einer beliebigen Stelle in die Datei ein:extension=pgsql.so
- Starten Sie Apache neu:
service httpd restart
- Verwenden Sie Yum, um den Treiber zu installieren:
- Migrieren Sie die Portaldatenbank im TAR-basierten Portal zum RPM-basierten Portal.
Portal:
- Melden Sie sich im Portal als Administrator an.
- Wählen Sie im Drupal-Menü Struktur -> Migrator aus.
- Wählen Sie Ihre Ursprungsdatenbank im TAR-basierten Portal
default
und die Zieldatenbank,custom
, basierend auf der angezeigtensettings.php
-Datei oben. - Klicken Sie auf Migrieren. Die tar-basierte Datenbank wird in die RPM-basierte 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. Passen Sie sie nach Bedarf an Ihre Installation an.- 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 den RPM-basierten Server. - Entfernen Sie das Sites-Verzeichnis aus dem Bündel, ü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 und enttarnen Sie es:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- Prüfen Sie, ob die kopierten Dateien die richtige Eigentümerschaft 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
- So 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
- Bündeln Sie im TAR-basierten Portal das Verzeichnis
- Im tar-basierten Portal nur, wenn Sie den Pfad zum Web-Stammverzeichnis im tar-basierten Portal vom Standardpfad /var/www/html geändert haben: Führen Sie
drush status
aus und sehen Sie sich den Pfadfiles
und den Pfadprivate files
an:cd /var/www/html
drush status
Wenn sich Dateien und private Dateien nicht im Verzeichnis
sites
befinden, kopieren Sie sie in das RPM-basierten Server wie oben gezeigt. - Aktualisieren Sie im RPM-basierten Portal
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
, um die Eigenschaften 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 neu erstellte Datenbank an,username
undpassword
sind für die benutzerdefinierte Datenbank definiert im tar-basierten Portal undprefix
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 gegebenenfalls installieren.
- Installieren Sie die Drupal-
missing_module
, mit der fehlende Module erkannt wurden: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, 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.
- Installieren Sie die Drupal-
- 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.
Hinweis: Für die RPM-basierte Version des Portals wird standardmäßig Port 8079 verwendet, während für die tar-basierte Version Port 80 verwendet wird. Achten Sie darauf, dass Sie in Ihrem DNS-Eintrag die richtige Portnummer verwenden. Weitere Informationen finden Sie unter Legen Sie den vom Portal verwendeten HTTP-Port fest, um Informationen zu erhalten. wenn Sie einen anderen Port verwenden.
Die Konvertierung ist abgeschlossen.