Uaktualnij portal

Z tej procedury dowiesz się, jak uaktualnić istniejące instalacje lokalne portalu usług dla deweloperów Apigee (czyli portalu).

Określ właściwą procedurę aktualizacji

Procedura aktualizacji portalu zależy od bieżącej instalacji:

Określ bieżący typ instalacji

Jeśli nie masz pewności, jaki jest Twój obecny typ instalacji, użyj tego polecenia, aby go określić:

  • ls /opt

    Jeśli używasz Nginx/Postgres, zobaczysz te katalogi: /opt/apigee i /opt/nginx.

    Jeśli używasz Apache/MySQL lub Apache/MariaDB, te katalogi nie powinny istnieć.

  • /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli używasz Nginx/Postgres, zobaczysz te dane wyjściowe:

    + 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

    Jeśli używasz Apache/MySQL lub Apache/MariaDB, to polecenie powinno zwrócić katalog główny witryny w formacie:

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

Domyślny katalog instalacji

Proces uaktualniania zakłada, że portal został zainstalowany w tych wersjach:

  • 4.17.05 i nowsze: /opt/apigee/apigee-drupal/wwwroot
  • Wersja starsza niż 4.17.05: /opt/apigee/apigee-drupal (Nginx) lub /var/www/html (Apache).

Jeśli portal nie został zainstalowany w katalogu domyślnym, zmień ścieżki w procedurze opisanej poniżej, aby użyć katalogu instalacyjnego.

Obsługiwane wersje uaktualnienia

Ta procedura uaktualniania jest obsługiwana w wersjach portalu OPDK-17-01.x i nowszych.

Aby określić wersję portalu, otwórz w przeglądarce ten adres URL:

http://yourportal.com/buildInfo

Przed aktualizacją

Jeśli w istniejących instalacjach zmodyfikowano kod w rdzeniu Drupala lub w modułach nieniestandardowych, wprowadzone zmiany zostaną zastąpione. Obejmuje to m.in. wszelkie zmiany wprowadzone przez Ciebie w .htaccess. Należy założyć, że wszystko poza katalogiem /sites należy do Drupala. Wyjątkiem od tej reguły jest plik robots.txt; jeśli istnieje on w katalogu głównym witryny, zostanie zachowany.

Przed rozpoczęciem instalacji utwórz kopię zapasową całego katalogu głównego witryny Drupal. Po wykonaniu kroków instalacji opisanych poniżej możesz przywrócić dostosowania z kopii zapasowej.

Uaktualnianie portalu za pomocą punktów RPM

Aby zaktualizować RPM portalu w węźle:

  1. Zmień domyślnie katalog Drupala na /opt/apigee/apigee-drupal:
    cd /opt/apigee/apigee-drupal
  2. Utwórz kopię zapasową instancji bazy danych Drupal. Polecenie pg_dump tworzy kopię bazy danych:
    pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    Gdzie:

    • devportal to nazwa bazy danych określona przez właściwość PG_NAME w pliku konfiguracji instalacji portalu.
    • host_IP_address to adres IP węzła portalu.
    • drupaladmin to nazwa użytkownika PostgreSQL używana przez portal do uzyskiwania dostępu do bazy danych zgodnie z właściwością DRUPAL_PG_USER w pliku konfiguracji instalacji portalu.

    Pojawi się prośba o podanie hasła użytkownika Postgres zgodnie z definicją właściwości DRUPAL_PG_PASS w pliku konfiguracji instalacji portalu.

    Jeśli później chcesz przywrócić dane z kopii zapasowej, użyj tego polecenia:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Utwórz kopię zapasową całego internetowego katalogu głównego Drupala. Domyślna lokalizacja instalacji to /opt/apigee/apigee-drupal, ale możesz ją zmienić.

    Jeśli nie masz pewności, gdzie znajduje się ten katalog, użyj polecenia drush status lub pozycji Konfiguracja > Media > Plik w menu Drupala, aby określić lokalizację ścieżki publicznego i prywatnego systemu plików (na potrzeby następnego kroku).

  4. Utwórz kopię zapasową plików w /opt/apigee/data/apigee-drupal-devportal/private.
  5. Ustaw Drupal w trybie konserwacji:
    1. W menu Drupal wybierz Konfiguracja.
    2. Na stronie Konfiguracja w sekcji Programowanie wybierz Tryb konserwacji.
    3. Zaznacz pole Wprowadź witrynę w tryb konserwacji.
    4. Wpisz komunikat, który użytkownicy widzą podczas konserwacji.
    5. Kliknij Zapisz konfigurację.
  6. Wyłącz SELinux zgodnie z instrukcjami podanymi w artykule Instalowanie narzędzia apigee-setup w Edge.
  7. Przejdź do katalogu /opt:
    cd /opt
  8. Aby uaktualnić serwer z połączeniem internetowym:
    1. Pobierz plik bootstrap_4.19.06.sh z Edge 4.19.06 do folderu /tmp/bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
    2. Zainstaluj narzędzie Edge 4.19.06 apigee-service i zależne od niego komponenty:
      sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord

      Gdzie uName i pWord to nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz pWord, pojawi się prośba o jego podanie.

      Domyślnie instalator sprawdza, czy masz zainstalowaną wersję Java 1.8. Aby kontynuować bez instalowania Java, możesz użyć opcji „C”.

  9. Aby uaktualnić serwer bez połączenia z internetem:
    1. Utwórz lokalne repozytorium 4.19.06 zgodnie z instrukcjami w artykule Tworzenie lokalnego repozytorium Apigee.
    2. Aby zainstalować apige-service z pliku tar:
      1. Na węźle z lokalnym repozytorium użyj tego polecenia, aby spakować lokalne repozytorium do pojedynczego pliku tar o nazwie /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. Skopiuj plik tar do węzła, w którym chcesz zaktualizować Edge. Możesz na przykład skopiować plik do katalogu /tmp w nowym węźle.
      3. Na nowym węźle rozpakuj plik do katalogu /tmp:
        tar -xzf apigee-4.19.06.tar.gz

        To polecenie tworzy nowy katalog o nazwie repos w katalogu zawierającym plik .tar. Na przykład /tmp/repos.

      4. Zainstaluj narzędzie Edge apigee-service i zależności z witryny /tmp/repos:
        sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Zwróć uwagę, że w tym poleceniu musisz podać ścieżkę do katalogu repozytorium.

    3. Aby zainstalować usługę apigee za pomocą serwera WWW Nginx:
      1. Skonfiguruj serwer WWW Nginx zgodnie z opisem w sekcji „Install from the repo using the Nginx webserver” (Instalowanie z repozytorium za pomocą serwera WWW Nginx) w artykule Install the Edge apigee-setup utility (Instalowanie narzędzia apigee-setup na Edge).
      2. Na węźle zdalnym pobierz plik Edge bootstrap_4.19.06.sh do folderu /tmp/bootstrap_4.19.06.sh:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh
          -o /tmp/bootstrap_4.19.06.sh

        Gdzie uName i pWord to nazwa użytkownika i hasło ustawione powyżej dla repozytorium, a remoteRepo to adres IP lub nazwa DNS węzła repozytorium.

      3. Na węźle zdalnym zainstaluj narzędzie Edge apigee-service i zależności:
        sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        Gdzie uNamepWord to nazwa użytkownika i hasło do repozytorium.

  10. Aby zaktualizować narzędzie apigee-setup, użyj aplikacji apigee-service:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Uruchom narzędzie update na węźle Postgres:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    Gdzie configFile to plik konfiguracji użyty do zainstalowania bazy danych Postgres. Plik konfiguracji musi być dostępny tylko dla użytkownika „apigee”, aby mógł go odczytać.

  12. Usuń pakiety RPM PHP, ale nie zależności pakietów RPM Apigee Drupal Devportal, wykonując to polecenie:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    To polecenie wykonuje te operacje:

    • rpm -ev --nodeps usuwa pakiety RPM, ale nie ich zależności.
    • rpm -qa tworzy listę RPM do usunięcia.
    • grep php wyszukuje wszystkie PHP RPM.
    • awk '{printf "%s ", $1}' wypisuje nazwy RPM.
  13. Aby zaktualizować portal, uruchom na węźle narzędzie update:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    Gdzie configFile to plik konfiguracji użyty do zainstalowania portalu. Jedynym wymaganiem dotyczącym pliku konfiguracji jest to, że musi on być dostępny lub czytelny dla użytkownika „apigee”.

  14. Uruchom skrypt update.php w Drupalu, otwierając ten adres URL w oknie przeglądarki:
    http://portal_IP_DNS:8079/update.php
  15. Wyłączanie trybu konserwacji:
    1. W menu Drupal wybierz Konfiguracja.
    2. Na stronie Konfiguracja w sekcji Rozwój wybierz Tryb konserwacji.
    3. Odznacz pole Wprowadź witrynę w tryb konserwacji.
    4. Kliknij Zapisz konfigurację.

Pamiętaj, że po aktualizacji katalog główny to:

/opt/apigee/apigee-drupal/wwwroot

Uaktualnienie zostało zakończone. Jeśli narzędzie Apigee update spowodowało obniżenie wersji Drupala, konieczne może być ponowne uruchomienie narzędzia do uaktualniania Drupala. Więcej informacji znajdziesz w artykule Ponowne uruchomienie procesu uaktualniania Drupala.

Ponownie uruchom aktualizację Drupala

Jeśli uruchomienie narzędzia Apigee update w celu uaktualnienia Edge for Private Cloud spowoduje obniżenie wersji Drupala, ponownie zainstaluj uaktualnienie Drupala. Może się tak zdarzyć, jeśli w międzyczasie zaktualizowano tylko Drupala.

Na przykład:

  1. Używasz wersji 4.18.05 Edge for Private Cloud, która zawiera Drupal 7.59.
  2. Drupal został uaktualniony do wersji 7.64 ze względu na wymaganą aktualizację zabezpieczeń.
  3. Aktualizujesz chmurę prywatną do wersji 4.19.01, która zawiera Drupala 7.61.

W tym przypadku wersja Drupal używana przez narzędzie Apigee update może nie odwoływać się do najnowszej aktualizacji Drupala. Dlatego musisz ponownie uruchomić uaktualnienie Drupal, aby przywrócić instalację Drupal do nowszej wersji.