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:
- Jeśli Twoja instalacja korzysta z Nginx/Postgres, wykonaj aktualizację portalu za pomocą RPM.
- Jeśli Twoja instalacja korzysta z Apache/MySQL lub Apache/MariaDB, zapoznaj się z informacjami o konwertowaniu portalu tar na portal oparty na RPM.
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:
- Zmień domyślnie katalog Drupala na
/opt/apigee/apigee-drupal
:cd /opt/apigee/apigee-drupal
- 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
- devportal to nazwa bazy danych określona przez właściwość
- 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). - Utwórz kopię zapasową plików w
/opt/apigee/data/apigee-drupal-devportal/private
. - Ustaw Drupal w trybie konserwacji:
- W menu Drupal wybierz Konfiguracja.
- Na stronie Konfiguracja w sekcji Programowanie wybierz Tryb konserwacji.
- Zaznacz pole Wprowadź witrynę w tryb konserwacji.
- Wpisz komunikat, który użytkownicy widzą podczas konserwacji.
- Kliknij Zapisz konfigurację.
- Wyłącz SELinux zgodnie z instrukcjami podanymi w artykule Instalowanie narzędzia apigee-setup w Edge.
- Przejdź do katalogu
/opt
:cd /opt
- Aby uaktualnić serwer z połączeniem internetowym:
- 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
- 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”.
- Pobierz plik
- Aby uaktualnić serwer bez połączenia z internetem:
- Utwórz lokalne repozytorium 4.19.06 zgodnie z instrukcjami w artykule Tworzenie lokalnego repozytorium Apigee.
- Aby zainstalować apige-service z pliku tar:
- 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
- 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. - 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.
- 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.
- Na węźle z lokalnym repozytorium użyj tego polecenia, aby spakować lokalne repozytorium do pojedynczego pliku tar o nazwie
- Aby zainstalować usługę apigee za pomocą serwera WWW Nginx:
- 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).
- 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.
- 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 uName i pWord to nazwa użytkownika i hasło do repozytorium.
- Aby zaktualizować narzędzie
apigee-setup
, użyj aplikacjiapigee-service
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- 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ć.
- 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.
- 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”.
- Uruchom skrypt
update.php
w Drupalu, otwierając ten adres URL w oknie przeglądarki:http://portal_IP_DNS:8079/update.php
- Wyłączanie trybu konserwacji:
- W menu Drupal wybierz Konfiguracja.
- Na stronie Konfiguracja w sekcji Rozwój wybierz Tryb konserwacji.
- Odznacz pole Wprowadź witrynę w tryb konserwacji.
- 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:
- Używasz wersji 4.18.05 Edge for Private Cloud, która zawiera Drupal 7.59.
- Drupal został uaktualniony do wersji 7.64 ze względu na wymaganą aktualizację zabezpieczeń.
- 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.