Portal aktualisieren

Edge for Private Cloud v4.19.01

In diesem Verfahren wird beschrieben, wie Sie eine vorhandene lokale Installation des Apigee Developer Services-Portals (oder einfach des Portals) aktualisieren.

Das richtige Updateverfahren bestimmen

Das Verfahren zum Aktualisieren des Portals hängt von Ihrer aktuellen Installation ab:

Aktuellen Installationstyp ermitteln

Wenn Sie sich nicht sicher sind, welchen Installationstyp Sie derzeit verwenden, können Sie ihn mit dem folgenden Befehl ermitteln:

  • ls /opt

    Wenn Sie Nginx/Postgres verwenden, werden die folgenden Verzeichnisse angezeigt: /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 im folgenden Format zurückgeben:

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

Standardinstallationsverzeichnis

Beim Upgrade wird davon ausgegangen, dass das Portal unter folgendem Pfad 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, um Ihr Installationsverzeichnis zu verwenden.

Unterstützte Upgrade-Versionen

Dieses Upgradeverfahren wird für die folgenden Versionen des Portals 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 Update

Wenn Sie bei vorhandenen Installationen Code im Drupal-Kern oder in nicht benutzerdefinierten Modulen geändert haben, werden Ihre Änderungen überschrieben. Dazu gehören unter anderem alle Änderungen, die Sie möglicherweise 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 Webstammverzeichnis vorhanden ist, wird sie beibehalten.

Erstellen Sie vor der Installation eine Sicherung des gesamten Drupal-Webstammverzeichnisses. 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 das Portal-RPM auf einem Knoten:

  1. Wechseln Sie in das 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 durch das Attribut PG_NAME in der Konfigurationsdatei für die Portalinstallation angegeben ist.
    • host_IP_address ist die IP-Adresse des Portal-Knotens.
    • drupaladmin ist der Postgres-Nutzername, der vom Portal für den Zugriff auf die Datenbank verwendet wird, wie im Attribut DRUPAL_PG_USER in der Konfigurationsdatei für die Portalinstallation angegeben.

    Sie werden aufgefordert, das Passwort für den Postgres-Nutzer einzugeben, das durch das Attribut DRUPAL_PG_PASS in der Konfigurationsdatei für die Portalinstallation definiert ist.

    Wenn Sie später eine Wiederherstellung aus der Sicherung durchführen möchten, verwenden Sie den folgenden Befehl:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Erstellen Sie eine Sicherung des gesamten Drupal-Webstammverzeichnisses. Der Standardinstallationsort ist /opt/apigee/apigee-drupal, aber Sie haben ihn 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.

  4. Erstellen Sie eine Sicherung der Dateien in /opt/apigee/data/apigee-drupal-devportal/private.
  5. Versetzen Sie Drupal in den Wartungsmodus:
    1. Wählen Sie im Drupal-Menü Configuration (Konfiguration) aus.
    2. Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
    3. Klicken Sie das Kästchen Website in den 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 Edge-Dienstprogramm „apigee-setup“ installieren beschrieben.
  7. Wechseln Sie in das Verzeichnis /opt:
    cd /opt
  8. Für ein Upgrade auf einem Server mit Internetverbindung:
    1. Laden Sie die Edge 4.19.01-Datei bootstrap_4.19.01.sh in /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 Edge 4.19.01-Dienstprogramm apigee-service 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, es einzugeben.

      Das Installationsprogramm prüft standardmäßig, ob Java 1.8 installiert ist. Sie können die Option „C“ verwenden, um ohne Installation von Java fortzufahren.

  9. Für ein 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 mit dem Namen /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 auf den Knoten, auf dem Sie Edge aktualisieren möchten. Kopieren Sie sie beispielsweise in das Verzeichnis /tmp auf dem neuen Knoten.
      3. Entpacken Sie die Datei auf dem neuen Knoten in das Verzeichnis „/tmp“:
        tar -xzf apigee-4.19.01.tar.gz

        Mit diesem Befehl wird im Verzeichnis, das die TAR-Datei enthält, ein neues Verzeichnis mit dem Namen „repos“ erstellt. Beispiel: /tmp/repos.

      4. Installieren Sie das Edge-Dienstprogramm apigee-service und die Abhängigkeiten von /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 Edge-Dienstprogramm „apigee-setup“ installieren im Abschnitt „Aus dem Repository mit dem Nginx-Webserver installieren“ beschrieben.
      2. Laden Sie auf dem Remote-Knoten die Edge-Datei bootstrap_4.19.01.sh in /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-Dienstprogramm 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. Verwenden Sie apigee-service, um das Dienstprogramm apigee-setup zu aktualisieren:
    /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, die Sie für die Installation der Postgres-Datenbank verwendet haben. Die einzige Anforderung an die Konfigurationsdatei ist, dass sie für den Nutzer „apigee“ 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, die Sie für die Installation des Portals verwendet haben. Die einzige Anforderung an die Konfigurationsdatei ist, dass sie für den Nutzer „apigee“ zugänglich oder lesbar sein muss.

  13. Führen Sie das Drupal-Skript update.php aus, indem Sie die folgende URL in einem Browserfenster öffnen:
    http://portal_IP_DNS:8079/update.php
  14. Wartungsmodus deaktivieren:
    1. Wählen Sie im Drupal-Menü Configuration (Konfiguration) aus.
    2. Wählen Sie auf der Seite Konfiguration unter Entwicklung die Option Wartungsmodus aus.
    3. Entfernen Sie das Häkchen bei Put site into maintenance mode (Website in den Wartungsmodus versetzen).
    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 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 for Private Cloud tatsächlich zu einem Downgrade Ihrer Drupal-Version führt, installieren Sie das Drupal-Upgrade neu. Dies kann der Fall sein, wenn Sie zwischen Private Cloud-Updates nur Drupal aktualisiert haben.

Beispiel:

  1. Sie haben die Version 4.18.05 von Edge for Private Cloud ausgeführt, die Drupal 7.59 enthielt.
  2. Sie haben Drupal aufgrund eines erforderlichen Sicherheitsupdates auf 7.64 aktualisiert.
  3. Sie führen jetzt ein Upgrade der Private Cloud auf 4.19.01 durch, einschließlich Drupal 7.61.

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