Dieses Verfahren beschreibt, wie Sie eine vorhandene lokale Installation eines Apigee Developer Services-Portals (oder einfach des Portals) aktualisieren.
Das richtige Aktualisierungsverfahren bestimmen
Das Verfahren, mit dem Sie das Portal aktualisieren, basiert auf Ihrer aktuellen Installation:
- Wenn für Ihre Installation Nginx/Postgres verwendet wird, lesen Sie den Abschnitt Portal mit RPMs aktualisieren unten.
- Wenn Sie in Ihrer Installation Apache/MySQL oder Apache/MariaDB verwenden, lesen Sie den Hilfeartikel Ein tar-basiertes Portal in ein RPM-basiertes Portal konvertieren.
Aktuellen Installationstyp ermitteln
Wenn Sie sich nicht sicher sind, welchen Installationstyp Sie haben, können Sie ihn mit dem folgenden Befehl ermitteln:
ls /opt
Wenn Sie Nginx/Postgres verwenden, sehen Sie die folgenden Verzeichnisse:
/opt/apigee
und/opt/nginx
.Wenn Sie Apache/MySQL oder Apache/MariaDB verwenden, sollten diese Verzeichnisse nicht vorhanden sein.
/opt/apigee/apigee-service/bin/apigee-all status
Wenn Sie Nginx/Postgres verwenden, wird die folgende Ausgabe angezeigt:
+ apigee-service apigee-drupal-devportal status OK: apigee-drupal-devportal is up and running + apigee-service apigee-lb status apigee-service: apigee-lb: OK + apigee-service apigee-postgresql status apigee-service: apigee-postgresql: OK
apachectl -S
Wenn Sie Apache/MySQL oder Apache/MariaDB verwenden, sollte dieser Befehl das Webstammverzeichnis des Portals in folgendem Format zurückgeben:
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
Standardinstallationsverzeichnis
Für das Upgrade wird davon ausgegangen, dass das Portal an folgender Stelle installiert wurde:
- 4.17.05 und höher:
/opt/apigee/apigee-drupal/wwwroot
- Vor 4.17.05:
/opt/apigee/apigee-drupal
(Nginx) oder/var/www/html
(Apache)
Wenn Sie das Portal nicht im Standardverzeichnis installiert haben, ändern Sie die Pfade in der Anleitung unten so, dass Ihr Installationsverzeichnis verwendet wird.
Unterstützte Upgrade-Versionen
Dieses Upgradeverfahren wird von den Portalversionen OPDK-17-01.x und höher unterstützt.
Öffnen Sie die folgende URL in einem Browser, um die Portalversion zu ermitteln:
http://yourportal.com/buildInfo
Vor dem Aktualisieren
Bei bestehenden Installationen werden Ihre Änderungen überschrieben, wenn Sie Code im Drupal-Kern oder in nicht benutzerdefinierten Modulen geändert haben. Dazu gehören unter anderem alle Änderungen, die Sie an .htaccess
vorgenommen haben.
Sie sollten davon ausgehen, dass alles außerhalb des Verzeichnisses /sites
zu Drupal gehört. Eine Ausnahme von dieser Regel ist robots.txt
. Wenn diese Datei im Web-Stammverzeichnis vorhanden ist, wird sie beibehalten.
Bevor Sie mit der Installation fortfahren, sollten Sie ein Back-up des gesamten Drupal-Web-Stammverzeichnisses erstellen. Nachdem Sie die unten beschriebenen Installationsschritte ausgeführt haben, können Sie Ihre Anpassungen aus der Sicherung wiederherstellen.
Portal mithilfe von RPMs aktualisieren
So aktualisieren Sie den RPM des Portals auf einem Knoten:
- Wechseln Sie zum Drupal-Verzeichnis, standardmäßig
/opt/apigee/apigee-drupal
:cd /opt/apigee/apigee-drupal
- Sichern Sie Ihre Drupal-Datenbankinstanz. Mit dem Befehl
pg_dump
wird eine Kopie der Datenbank erstellt:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
Wobei:
- devportal ist der Datenbankname, der in der Konfigurationsdatei für die Portalinstallation mit dem Attribut
PG_NAME
angegeben ist. - host_IP_address ist die IP-Adresse des Portalknotens.
- drupaladmin ist der Postgres-Nutzername, mit dem das Portal auf die Datenbank zugreift, wie in der Eigenschaft
DRUPAL_PG_USER
in der Konfigurationsdatei der Portalinstallation angegeben.
Sie werden nach dem Passwort für den Postgres-Nutzer gefragt, das in der Konfigurationsdatei für die Portalinstallation mit der Eigenschaft
DRUPAL_PG_PASS
definiert ist.Wenn Sie die Sicherung später wiederherstellen möchten, verwenden Sie den folgenden Befehl:
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal ist der Datenbankname, der in der Konfigurationsdatei für die Portalinstallation mit dem Attribut
- Erstellen Sie eine Sicherung Ihres gesamten Drupal-Webstammverzeichnisses. Der Standardinstallationsort ist
/opt/apigee/apigee-drupal
, Sie haben ihn aber möglicherweise geändert.Wenn Sie sich nicht sicher sind, wo sich dieses Verzeichnis befindet, verwenden Sie den Befehl
drush status
oder den Eintrag Konfiguration > Medien > Datei im Drupal-Menü, um den Speicherort des öffentlichen Dateisystems und den Pfad des privaten Dateisystems für den nächsten Schritt zu ermitteln. - Sichern Sie die Dateien in
/opt/apigee/data/apigee-drupal-devportal/private
. - Stellen Sie Drupal in den Wartungsmodus:
- Wählen Sie Configuration (Konfiguration) im Drupal-Menü aus.
- Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
- Klicken Sie das Kästchen Website in Wartungsmodus versetzen an.
- Geben Sie eine Nachricht ein, die Nutzern während der Wartung angezeigt wird.
- Wählen Sie Konfiguration speichern aus.
- Deaktivieren Sie SELinux wie unter Installieren Sie das Hilfsprogramm für das Edge-Apigee-Setup beschrieben.
- Wechseln Sie in das Verzeichnis
/opt
:cd /opt
- Upgrade auf einem Server mit Internetverbindung:
- Laden Sie die
bootstrap_4.19.06.sh
-Datei von Edge 4.19.06 auf/tmp/bootstrap_4.19.06.sh
herunter:curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
- Installieren Sie das Dienstprogramm
apigee-service
für Edge 4.19.06 und die Abhängigkeiten:sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord
Dabei sind uName und pWord der Nutzername und das Passwort, die Sie von Apigee erhalten haben. Wenn Sie pWord weglassen, werden Sie aufgefordert, sie einzugeben.
Standardmäßig wird beim Installationsvorgang geprüft, ob Java 1.8 installiert ist. Sie können die Option „C“ verwenden, um fortzufahren, ohne Java zu installieren.
- Laden Sie die
- Upgrade auf einem Server ohne Internetverbindung:
- Erstellen Sie ein lokales 4.19.06-Repository, wie unter Lokales Apigee-Repository erstellen beschrieben.
- So installieren Sie apigee-service aus einer .tar-Datei:
- Verwenden Sie auf dem Knoten mit dem lokalen Repository den folgenden Befehl, um das lokale Repository in eine einzelne TAR-Datei mit dem Namen
/opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz
zu verpacken:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- Kopieren Sie die .tar-Datei auf den Knoten, auf dem Sie Edge aktualisieren möchten. Kopieren Sie es beispielsweise in das Verzeichnis
/tmp
auf dem neuen Knoten. - Entpacken Sie die Datei auf dem neuen Knoten im Verzeichnis „/tmp“:
tar -xzf apigee-4.19.06.tar.gz
Mit diesem Befehl wird im Verzeichnis mit der .tar-Datei ein neues Verzeichnis mit dem Namen „repos“ erstellt. Beispiel: /tmp/repos.
- Installieren Sie das Edge-Dienstprogramm
apigee-service
und die Abhängigkeiten über/tmp/repos
:sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
Beachten Sie, dass Sie in diesem Befehl den Pfad zum Repository-Verzeichnis angeben.
- Verwenden Sie auf dem Knoten mit dem lokalen Repository den folgenden Befehl, um das lokale Repository in eine einzelne TAR-Datei mit dem Namen
- So installieren Sie apigee-service mit dem Nginx-Webserver:
- Konfigurieren Sie den Nginx-Webserver wie unter „Installation aus dem Repository mithilfe des Nginx-Webservers“ unter Installieren des Edge-Apigee-Setup-Dienstprogramms beschrieben.
- Laden Sie die Edge-
bootstrap_4.19.06.sh
-Datei auf dem Remote-Knoten auf/tmp/bootstrap_4.19.06.sh
herunter:/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
Dabei sind uName und pWord der Nutzername und das Passwort, die Sie oben für das Repository festgelegt haben, und remoteRepo die IP-Adresse oder der DNS-Name des Repository-Knotens.
- Installieren Sie auf dem Remote-Knoten das Edge-Hilfsprogramm
apigee-service
und die Abhängigkeiten:sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
Dabei sind uName und pWord der Nutzername und das Passwort für das Repository.
- Aktualisieren Sie das
apigee-setup
-Dienstprogramm mitapigee-service
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- Führen Sie das
update
-Dienstprogramm auf Ihrem Postgres-Knoten aus:/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
Dabei ist configFile die Konfigurationsdatei, mit der Sie die Postgres-Datenbank installiert haben. Die einzige Anforderung an die Konfigurationsdatei besteht darin, dass sie für den Nutzer „apigee“ zugänglich oder lesbar sein muss.
- Entfernen Sie die PHP-RPMs, aber nicht die RPM-Abhängigkeiten des Apigee Drupal-Entwicklerportals. Führen Sie dazu den folgenden Befehl aus:
rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')
Mit diesem Befehl wird Folgendes ausgeführt:
rpm -ev --nodeps
entfernt die RPMs, aber nicht ihre Abhängigkeiten.rpm -qa
erstellt die Liste der zu entfernenden RPMs.- Mit
grep php
wird nach allen PHP-RPMs gesucht. awk '{printf "%s ", $1}'
gibt die RPM-Namen aus.
- Führen Sie das Dienstprogramm
update
auf dem Knoten aus, um das Portal zu aktualisieren:/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
Dabei ist configFile die Konfigurationsdatei, mit der Sie das Portal installiert haben. Die einzige Anforderung an die Konfigurationsdatei besteht darin, dass sie für den Nutzer „apigee“ zugänglich oder lesbar sein muss.
- Führen Sie das
update.php
-Skript von Drupal aus. Öffnen Sie dazu die folgende URL in einem Browserfenster:http://portal_IP_DNS:8079/update.php
- Deaktivieren Sie den Wartungsmodus:
- Wählen Sie im Drupal-Menü Konfiguration aus.
- Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
- Heben Sie die Auswahl des Kästchens Website in den Wartungsmodus versetzen auf.
- Wählen Sie Konfiguration speichern aus.
Das Stammverzeichnis nach der Aktualisierung lautet:
/opt/apigee/apigee-drupal/wwwroot
Die Umstellung ist jetzt abgeschlossen. Wenn das Apigee-update
-Dienstprogramm Ihre Drupal-Version heruntergestuft hat, müssen Sie das Drupal-Upgrade-Dienstprogramm möglicherweise noch einmal ausführen. Weitere Informationen finden Sie unter Drupal-Upgrade noch einmal ausführen.
Drupal-Upgrade noch einmal ausführen
Wenn das Ausführen des Apigee-update
-Dienstprogramms zum Upgrade von Edge for Private Cloud zu einem Downgrade Ihrer Drupal-Version führt, installieren Sie das Drupal-Upgrade noch einmal. Das kann der Fall sein, wenn Sie zwischen den Private Cloud-Updates nur Drupal aktualisiert haben.
Beispiel:
- Sie haben Version 4.18.05 von Edge for Private Cloud verwendet, die Drupal 7.59 enthält.
- Sie haben aufgrund eines erforderlichen Sicherheitsupdates ein Upgrade auf Drupal 7.64 durchgeführt.
- Sie führen jetzt ein Upgrade auf die Private Cloud-Version 4.19.01 durch, die Drupal 7.61 enthält.
Wie dieser Fall zeigt, verweist die vom Apigee-Dienstprogramm update
verwendete Drupal-Version möglicherweise nicht auf das neueste Drupal-Upgrade. Daher müssen Sie jetzt Ihr Drupal-Upgrade noch einmal ausführen, um Ihre Drupal-Installation auf die neuere Version zurückzusetzen.