Upgrade für das Portal für Entwicklerdienste ausführen

Entwicklerdienste-Portal, Version 4.17.09

In diesem Verfahren wird beschrieben, wie Sie eine vorhandene On-Premise-Installation von Apigee Developer Channel Services 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

Für das Upgrade wird davon ausgegangen, dass das Developer 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 so, dass Ihr Installationsverzeichnis verwendet wird.

Unterstützte Upgrade-Versionen

Dieses Upgradeverfahren wird für die folgenden Versionen des Portals unterstützt:

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

Öffnen Sie die folgende URL in einem Browser, um die Portalversion zu ermitteln:

http://your_portal.com/buildInfo

Vor dem Aktualisieren

Wenn Sie bei vorhandenen Installationen Code in Drupal Core oder in nicht benutzerdefinierten Modulen geändert haben, werden Ihre Änderungen überschrieben. Dazu gehören unter anderem alle Änderungen, die Sie an .htaccess vorgenommen haben. Sie sollten davon ausgehen, dass alles außerhalb des Verzeichnisses /sites Eigentum von Drupal ist. 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 mithilfe von RPMs aktualisieren

So aktualisieren Sie die RPM des Portals auf einem Knoten:

  1. Wechseln Sie zum Drupal-Verzeichnis. Beispiel: /opt/apigee/apigee-drupal/wwwroot.

    cd /opt/apigee/apigee-drupal/wwwroot

    Das Standardverzeichnis Ihrer Produktversion finden Sie unter Standardinstallationsverzeichnis.

  2. Sichern Sie Ihre Drupal-Datenbankinstanz. Mit dem Befehl pg_dump wird eine Kopie der Datenbank erstellt:
    pg_dump --dbname=devportal --host=192.168.56.101
      --username=drupaladmin --password --format=c > /tmp/portal.dmp

    Dabei gilt:

    • dbname gibt den Datenbanknamen an, der in der Konfigurationsdatei für die Portalinstallation mit dem Attribut PG_NAME angegeben ist.
    • host gibt die IP-Adresse des Portalknotens an.
    • username gibt den Postgres-Nutzernamen an, der vom Portal zum Zugriff auf die Datenbank verwendet wird, wie in der Eigenschaft DRUPAL_PG_USER in der Konfigurationsdatei für die Portalinstallation angegeben.
    • Sie werden nach dem Passwort für den Postgres-Nutzer gefragt, das in der Konfigurationsdatei der Portalinstallation mit der Eigenschaft DRUPAL_PG_PASS definiert ist.

    Wenn Sie später Daten aus der Sicherung wiederherstellen müssen, 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-Stammverzeichnisses. Der Standardinstallationsort ist /opt/apigee/apigee-drupal, den Sie aber möglicherweise geändert haben.
    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 Sicherungskopie der Dateien in /opt/apigee/data/apigee-drupal-devportal/private.
  5. Drupal in den Wartungsmodus versetzen:
    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 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-Apigee-Setup-Dienstprogramm installieren beschrieben.
  7. Wechseln Sie in das Verzeichnis /opt:
    cd /opt
  8. Upgrade auf einem Server mit Internetverbindung:
    1. Laden Sie die Datei bootstrap_4.17.09.sh von Edge 4.17.09 herunter und speichern Sie sie unter /tmp/bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
    2. Installieren Sie das Dienstprogramm apigee-service für Edge 4.17.09 und die Abhängigkeiten:
      sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName
        apigeepassword=pWord

      Dabei sind uName:pWord der Nutzername und das Passwort, die Sie von Apigee erhalten haben. Wenn Sie pWord weglassen, werden Sie aufgefordert, sie einzugeben.

      Das Installationsprogramm überprüft standardmäßig, 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.17.09-Repository, wie unter „Create a local Apigee repository“ (Ein lokales Apigee-Repository erstellen) im Artikel Install the Edge apigee-setup utility (Das Edge-Apigee-Setup-Hilfsprogramm installieren) beschrieben.
    2. So installieren Sie apigee-service aus einer .tar-Datei:
      1. Verpacken Sie das lokale Repository auf dem Knoten mit dem lokalen Repository mit dem folgenden Befehl in einer einzelnen TAR-Datei mit dem Namen /opt/apigee/data/apigee-mirror/apigee-4.17.09.tar.gz:
        /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 sie beispielsweise in das Verzeichnis /tmp auf dem neuen Knoten.
      3. Entpacken Sie die Datei auf dem neuen Knoten im Verzeichnis „/tmp“:
        tar -xzf apigee-4.17.09.tar.gz

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

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

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

    3. So installieren Sie den Apigee-Dienst 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 auf dem Remote-Knoten die Edge-Datei bootstrap_4.17.09.sh nach /tmp/bootstrap_4.17.09.sh herunter:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.09.sh
          -o /tmp/bootstrap_4.17.09.sh

        Dabei sind uName: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.

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

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

  10. Verwenden Sie apigee-service, um das apigee-setup-Dienstprogramm zu aktualisieren:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Führen Sie das Update-Dienstprogramm auf Ihrem Knoten aus, um die Postgres-Datenbank zu aktualisieren:
    /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.

  12. Starten Sie Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start
  13. Führen Sie das Dienstprogramm für Updates 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 die Konfigurationsdatei für den „apigee“-Nutzer zugänglich oder lesbar sein muss.

  14. Führen Sie das update.php-Script von Drupal aus, indem Sie die folgende URL in einem Browserfenster öffnen:
    http://portalIP_DNS:8079/update.php
  15. Deaktivieren Sie den Wartungsmodus für Drupal:
    1. Wählen Sie im Drupal-Menü Konfiguration 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.