Portal aktualisieren

Edge for Private Cloud v4.19.01

In diesem Verfahren wird beschrieben, wie Sie ein vorhandenes On-Premise-Apigee Developer Services-Portal (oder einfach das Portal) aktualisieren.

Richtiges Updateverfahren ermitteln

Die Aktualisierung des Portals hängt von Ihrer aktuellen Installation ab:

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 Web-Stammverzeichnis des Portals in der folgenden Form zurückgeben:

    *:80
    192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

Standardinstallationsverzeichnis

Beim Upgradeprozess wird davon ausgegangen, dass das Portal hier 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 im folgenden Verfahren so, dass Ihr Installationsverzeichnis verwendet wird.

Unterstützte Upgrade-Versionen

Dieses Upgrade-Verfahren wird für die folgenden Portalversionen unterstützt:

  • OPDK-17-01.x
  • OPDK-17-05.x
  • OPDK-17-09.x
  • OPDK-18-01.x
  • OPDK-18-05.x

Ö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 Webstamm vorhanden ist, wird sie für Sie aufbewahrt.

Erstellen Sie vor der Installation eine Sicherung Ihres gesamten Drupal-Webstammverzeichnisses. Nachdem Sie die unten beschriebenen Installationsschritte ausgeführt haben, können Sie Ihre Anpassungen aus der Sicherung wiederherstellen.

Portal mit RPMs upgraden

So aktualisieren Sie den RPM des Portals auf einem Knoten:

  1. Wechseln Sie zum Drupal-Verzeichnis, standardmäßig /opt/apigee/apigee-drupal:
    cd /opt/apigee/apigee-drupal
  2. 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 zur Eingabe des Postgres-Nutzerpassworts aufgefordert, wie im Attribut DRUPAL_PG_PASS in der Konfigurationsdatei für die Portalinstallation festgelegt.

    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
  3. 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 den Speicherort dieses Verzeichnisses nicht kennen, verwenden Sie den Befehl drush status oder den Eintrag Configuration > Media > File im Drupal-Menü, um den Speicherort des öffentlichen Dateisystems und des privaten Dateisystempfads zu ermitteln (für den nächsten Schritt).

  4. Erstellen Sie eine Sicherungskopie der Dateien in /opt/apigee/data/apigee-drupal-devportal/private.
  5. Setzen Sie Drupal in den Wartungsmodus:
    1. Wählen Sie im Drupal-Menü Konfiguration aus.
    2. Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
    3. Klicken Sie das Kästchen Website in Wartungsmodus versetzen an.
    4. Geben Sie eine Nachricht ein, die Nutzern während der Wartung angezeigt wird.
    5. Wählen Sie Konfiguration speichern aus.
  6. Deaktivieren Sie SELinux wie unter Installieren Sie das Hilfsprogramm für das Edge-Apigee-Setup beschrieben.
  7. Wechseln Sie in das Verzeichnis /opt:
    cd /opt
  8. Upgrade auf einem Server mit Internetverbindung:
    1. Laden Sie die Edge 4.19.01-Datei bootstrap_4.19.01.sh nach /tmp/bootstrap_4.19.01.sh herunter:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
    2. Installieren Sie das Dienstprogramm apigee-service für Edge 4.19.01 und die Abhängigkeiten:
      sudo bash /tmp/bootstrap_4.19.01.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.

  9. Upgrade auf einem Server ohne Internetverbindung:
    1. Erstellen Sie ein lokales 4.19.01-Repository, wie unter Lokales Apigee-Repository erstellen beschrieben.
    2. So installieren Sie apigee-service aus einer .tar-Datei:
      1. Verwenden Sie auf dem Knoten mit dem lokalen Repository den folgenden Befehl, um das lokale Repository in einer einzelnen TAR-Datei namens /opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz zu verpacken:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Kopieren Sie die TAR-Datei in den Knoten, auf dem Sie Edge aktualisieren möchten. Kopieren Sie ihn beispielsweise in das Verzeichnis /tmp auf dem neuen Knoten.
      3. Entpacken Sie auf dem neuen Knoten die Datei in das Verzeichnis „/tmp“:
        tar -xzf apigee-4.19.01.tar.gz

        Mit diesem Befehl wird im Verzeichnis mit der .tar-Datei ein neues Verzeichnis mit dem Namen „repos“ erstellt. Beispiel: /tmp/repos.

      4. Installieren Sie das Edge-Dienstprogramm apigee-service und die Abhängigkeiten aus /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Beachten Sie, dass Sie in diesem Befehl den Pfad zum Verzeichnis „repos“ angeben.

    3. So installieren Sie apigee-service mit dem Nginx-Webserver:
      1. Konfigurieren Sie den Nginx-Webserver wie unter Installieren Sie das Hilfsprogramm für das Edge-Apigee-Setup unter „Über den Nginx-Webserver aus dem Repository installieren“ beschrieben.
      2. Laden Sie die Edge-bootstrap_4.19.01.sh-Datei auf dem Remote-Knoten auf /tmp/bootstrap_4.19.01.sh herunter:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh
          -o /tmp/bootstrap_4.19.01.sh

        Dabei sind uName und pWord der Nutzername und das Passwort, die Sie oben für das Repository festgelegt haben, und remoteRepo ist die IP-Adresse oder der DNS-Name des Repository-Knotens.

      3. Installieren Sie auf dem Remote-Knoten das Edge-Hilfsprogramm apigee-service und die Abhängigkeiten:
        sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        Dabei sind uName und pWord der Nutzername und das Passwort für das Repository.

  10. Aktualisieren Sie das apigee-setup-Dienstprogramm mit apigee-service:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. 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 die Konfigurationsdatei für den „apigee“-Nutzer zugänglich oder lesbar sein muss.

  12. Führen Sie das Update-Dienstprogramm auf Ihrem 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.

  13. 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
  14. So deaktivieren Sie den Wartungsmodus:
    1. Wählen Sie Configuration (Konfiguration) im Drupal-Menü aus.
    2. Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
    3. Heben Sie die Auswahl des Kästchens Website in den Wartungsmodus versetzen auf.
    4. Wählen Sie Konfiguration speichern aus.

Das Stammverzeichnis nach der Aktualisierung lautet:

/opt/apigee/apigee-drupal/wwwroot

Das Upgrade ist jetzt abgeschlossen. Wenn das Apigee-Update-Dienstprogramm Ihre Drupal-Version auf eine niedrigere Version herabgestuft 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 für Private Cloud tatsächlich zu einem Downgrade Ihrer Drupal-Version führt, installieren Sie das Drupal-Upgrade neu. Das kann der Fall sein, wenn Sie zwischen den Private Cloud-Updates nur Drupal aktualisiert haben.

Beispiel:

  1. Sie haben Version 4.18.05 von Edge for Private Cloud verwendet, die Drupal 7.59 enthält.
  2. Sie haben aufgrund eines erforderlichen Sicherheitsupdates ein Upgrade auf Drupal 7.64 durchgeführt.
  3. Sie führen jetzt ein Upgrade von Private Cloud auf 4.19.01 durch, das Drupal 7.61 enthält.

Wie dieser Fall zeigt, bezieht sich die vom Apigee-Update-Dienstprogramm verwendete Drupal-Version möglicherweise nicht auf das neueste Drupal-Upgrade. Daher müssen Sie das Drupal-Upgrade noch einmal ausführen, um Ihre Drupal-Installation auf die neuere Version zurückzusetzen.