Wersja 4.18.05 portalu usług dla deweloperów Apigee (lub po prostu portalu) nie umożliwia aktualizowania poprzedniej wersji w wersji tar. Możesz bezpośrednio aktualizować tylko wersję portalu opartą na RPM do 4.18.05.
Możesz jednak przekonwertować wersję portalu opartą na pliku tar na instancję portalu 4.18.05 opartą na pliku RPM. W ramach tego procesu musisz przenieść bazę danych MySQL/MariaDB z dotychczasowego portalu do bazy danych Postgres. Po przekonwertowaniu portal pozostaje portalem opartym na RPM.
Wiele wcześniejszych wersji portalu opartego na pliku tar można przenieść do portalu opartego na pliku RPM, w tym wersje 4.16.09 i 4.17.01, a nie tylko wersję 4.17.05. Jedyne wymagania to portal używa Drupala 7 lub nowszego. Aby sprawdzić wersję Drupala, w menu Drupala kliknij Raporty > Raporty stanu. Wersja Drupala jest widoczna w pierwszym wierszu danych wyjściowych.
Ogólne kroki migracji z portalu opartego na tar do portalu opartego na RPM to:
- Zainstaluj wersję 4.18.05 portalu opartą na RPM nowy węzeł.
- Utwórz nową bazę danych Postgres w portalu opartym na RPM.
- Przenieś bazę danych portalu z portalu w wersji tar.
- Skopiuj wszystkie pliki akcesoriów z portalu opartego na tar do portalu opartego na RPM.
- Zaktualizuj wpisy DNS, tak aby wskazywały nowy portal oparty na RPM.
Pamiętaj, że wersja portalu oparta na RPM domyślnie używa portu 8079, a wersja oparta na pliku tar – portu 80. Upewnij się, że używasz prawidłowego numeru portu we wpisie DNS. Informacje o używaniu innego portu znajdziesz w sekcji Konfigurowanie portu HTTP używanego przez portal.
Nowy domyślny katalog instalacji po konwersji
Po zaktualizowaniu instalacji, która teraz używa NGINX/Postgres, katalog główny zmienił się z:
/opt/apigee/apigee-drupal
do:
/opt/apigee/apigee-drupal/wwwroot
Procedura konwersji w portalu
Aby przekonwertować portal na instalację opartą na RPM:
- Zainstaluj wersję 4.18.05 portalu opartą na RPM w innym węźle niż Twój pakiet tar z portalu.
- W portalu opartym na RPM utwórz nową bazę danych Postgres. Następnie przenosisz bazę danych z portalu opartego na pliku tar do tej nowej bazy danych:
- Zaloguj się w psql:
psql -h localhost -p 5432 -U apigee
Wpisz hasło Postgres zdefiniowane przez właściwość PG_PWD w konfiguracji portalu .
- Utwórz nową bazę danych Postgres:
CREATE DATABASE newportaldb;
- Wyjdź z psql:
\q
- Zaloguj się w psql:
-
W portalu w wersji tar usuń stare moduły, które nie są już używane:
cd /var/www/html
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_account' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_checklist' AND type = 'module';"
drush sql-query --db-prefix "DELETE from {system} where name = 'apigee_sso_ui' AND type = 'module';"
- W portalu Tar zainstaluj i skonfiguruj moduł Migrator Drupal:
-
cd /tmp
-
wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
-
gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
-
tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- Zaloguj się w portalu jako administrator.
- W menu Drupal wybierz Modules (Moduły).
- Włącz moduł DBTNG Migrator (Migrator)
- Zapisz konfigurację.
-
- W portalu w wersji tar edytuj
/var/www/html/sites/default/settings.php
należy dodać drugą konfigurację bazy danych wskazującą nowo utworzoną bazę danych w modelu RPM z portalu. Bieżąca konfiguracja bazy danych nosi nazwę „domyślna”. Nazwij nową konfigurację „custom” (niestandardowy), jak widać w tym przykładzie:$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'devportal', 'username' => 'devportal', 'password' => 'devportal', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'custom' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => '192.168.168.100', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
Gdzie
host
iport
określają adres IP i port protokołu Serwer Postgres. Postgres używa portu 5432 do nawiązywania połączeń. -
W portalu opartym na pliku tar zainstaluj sterownik Postgres:
- Użyj pakietu Yum, aby zainstalować sterownik:
yum install php-pdo_pgsql
- W dowolnym miejscu w pliku
/etc/php.ini
dodaj ten wiersz:extension=pgsql.so
- Uruchom ponownie Apache:
service httpd restart
- Użyj pakietu Yum, aby zainstalować sterownik:
- W portalu opartym na pliku tar przenieś bazę danych portalu do portalu opartego na pliku RPM:
- Zaloguj się w portalu jako administrator.
- W menu Drupala wybierz Struktura -> Migrator.
- Wybierz bazę danych origin w portalu opartym na języku tar (
default
) i w docelowa baza danych,custom
, na podstawie wyświetlonego plikusettings.php
powyżej. - Kliknij Przenieś. Baza danych w formacie tar jest poddawana migracji do modelu opartego na RPM w bazie danych.
- Skopiuj katalog
sites
z serwera opartego na tar na serwer oparty na RPM. ścieżki wyświetlane w kolejnych krokach bazują na ścieżkach domyślnych. W razie potrzeby zmień je w instalacji.- W portalu opartym na oprogramowaniu tar dodaj pakiety z katalogu
/var/www/html/sites
:cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz .
- Skopiuj
/tmp/sites.tar.gz
do/opt/apigee/apigee-drupal/wwwroot/sites
na serwerze opartym na RPM. - Odłącz katalog witryn, ale nie zastępuj ważnych plików.
- Utwórz kopię zapasową pliku
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
- Utwórz kopię zapasową dotychczasowego katalogu
files
:sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
- Utwórz kopię zapasową dotychczasowego katalogu
sites
:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- Rozpakuj i rozpakuj katalog
sites
z serwera opartego na oprogramowaniu tar:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- Sprawdź, czy skopiowane pliki mają prawidłową własność:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
- Przywróć plik
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- Przenoszenie prywatnych plików do nowej lokalizacji:
cp -r /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private/* /opt/apigee/data/apigee-drupal-devportal/private
rm -rf /opt/apigee/apigee-drupal/wwwroot/sites/default/files/private
chown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- Utwórz kopię zapasową pliku
- W portalu opartym na oprogramowaniu tar dodaj pakiety z katalogu
- W portalu w języku tar, tylko jeśli zmienisz ścieżkę do katalogu głównego witryny.
w portalu opartym na oprogramowaniu tar z domyślnej ścieżki to /var/www/html: run
drush status
i popatrz na ścieżkęfiles
iprivate files
:cd /var/www/html
drush status
Jeśli pliki lub pliki prywatne nie znajdują się w katalogu
sites
, skopiuj je na serwer oparty na RPM, jak pokazano powyżej. - Na portalu opartym na RPM zaktualizuj parametr
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
, aby ustawić właściwości domyślnej bazy danych:vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
Ustaw domyślny opis bazy danych w settings.php:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
Gdzie
database
określa nową utworzoną przez Ciebie bazę danych,username
ipassword
są zdefiniowane w przypadku niestandardowej bazy danych na portalu opartym na pliku tar, aprefix
jest pusty. - W przypadku portalu opartego na RPM wersja portalu opartego na RPM zawiera mniej modułów Drupal niż wersja oparta na pliku tar. Po migracji do portalu opartego na RPM
należy sprawdzić, czy nie brakuje żadnych modułów, i w razie potrzeby je zainstalować.
- Zainstaluj platformę Drupal
missing_module
, która służy do wykrywania brakujących modułów:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- Zaloguj się w portalu RPM jako administrator.
- W menu Drupal wybierz Raporty > Raporty stanu i sprawdź, czy brakuje jakichś modułów.
- Skorzystaj z tego raportu, aby zainstalować brakujące moduły, lub użyj tych poleceń:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- Po włączeniu wszystkich modułów sprawdź, czy pliki należą do użytkownika Apigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Więcej informacji o uprawnieniach plików znajdziesz na stronie https://www.drupal.org/node/244924.
- Zainstaluj platformę Drupal
- Na portalu opartym na RPM uruchom w przeglądarce plik update.php, aby usunąć błędy dotyczące brakujących modułów:
- Zaloguj się w portalu opartym na RPM jako administrator.
- W przeglądarce otwórz ten adres URL:
http://portal_IP_or_DNS:8079/update.php
Gdzie portal_IP_or_DNS to adres IP lub nazwa domeny portalu opartego na RPM.
- Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
- Zaktualizuj wpisy DNS, tak aby wskazywały nowy portal oparty na RPM.
Zwróć uwagę, że wersja portalu oparta na RPM domyślnie używa portu 8079, a wersja tar wersja używa portu 80. Upewnij się, że w rekordzie DNS używasz prawidłowego numeru portu. Zobacz Ustaw port HTTP używany przez portal, aby uzyskać informacje na temat: za pomocą innego portu.
Konwersja została zakończona.