Edge for Private Cloud w wersji 4.19.01
Wersja 4.18.05 portalu Apigee Developer Services (lub portalu) nie umożliwia aktualizowania poprzedniej wersji portalu opartej na tar. Możesz bezpośrednio zaktualizować tylko wersję portalu opartą na RPM do wersji 4.18.05.
Możesz jednak przekonwertować wersję portalu opartą na TAR na jego instancję w wersji 4.18.05 RPM. W ramach tego procesu przenosisz MySQL/MariaDB istniejącego portalu do bazy danych Postgres. Po przekonwertowaniu portal pozostanie oparty na RPM.
Możesz przenieść wiele wcześniejszych wersji portalu opartego na TAR do tego portalu, w tym wersji 4.16.09 i 4.17.01, a nie tylko wersji 4.17.05. Jedynym wymaganiem jest to, aby portal działał w wersji Drupal 7 lub nowszej. Aby sprawdzić wersję platformy Drupal, w jej menu kliknij Raporty > Raporty o stanie. Wersja Drupala pojawi się w pierwszym wierszu wyników.
Ogólne czynności, które należy wykonać, aby przeprowadzić migrację z portalu opartego na TAR do portalu opartego na RPM, to:
- Zainstaluj w nowym węźle opartą na RPM wersji 4.18.05 portalu.
- Utwórz nową bazę danych Postgres w portalu opartym na RPM.
- Przenieś bazę danych portalu z portalu opartego na tar.
- Skopiuj wszystkie pliki akcesoriów z portalu opartego na plikach tar do tego portalu.
- Zaktualizuj wpisy DNS, 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 serwerze TAR używa portu 80. Sprawdź, czy we wpisie DNS jest podany prawidłowy numer portu. Informacje o korzystaniu z innego portu znajdziesz w artykule Ustawianie portu HTTP przez portal.
Nowy domyślny katalog instalacji po konwersji
Po zaktualizowaniu instalacji, która korzysta teraz z Nginx/Postgres, katalog główny został zmieniony z:
/opt/apigee/apigee-drupal
z:
/opt/apigee/apigee-drupal/wwwroot
Procedura konwersji portalu
Aby przekonwertować portal na instalację opartą na RPM:
- Zainstaluj opartą na RPM wersję 4.18.05 portalu w innym węźle niż portal oparty na tar.
- W portalu opartym na RPM utwórz nową bazę danych Postgres. Później przenosisz bazę danych z portalu opartego na TAR do tej nowej bazy danych:
- Zaloguj się w psql:
psql -h localhost -p 5432 -U apigee
Wpisz hasło do Postgres zdefiniowane przez właściwość PG_PWD w pliku konfiguracyjnym portalu.
- Utwórz nową bazę danych Postgred:
CREATE DATABASE newportaldb;
- Zamknij psql:
\q
- Zaloguj się w psql:
-
W portalu opartym na systemie 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 opartym na tar zainstaluj i skonfiguruj moduł Drupal do przenoszenia:
-
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ł migratora DBTNG.
- Zapisz konfigurację.
-
- W portalu opartym na plikach tar edytuj
/var/www/html/sites/default/settings.php
, aby dodać drugą konfigurację bazy danych wskazującą nowo utworzoną bazę danych w portalu opartym na RPM. Bieżąca konfiguracja bazy danych ma nazwę „default”. Nadaj nowej konfiguracji nazwę „niestandardowa”, jak 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 serwera Postgres. Postgres używa portu 5432 do połączeń. -
W portalu opartym na tar zainstaluj sterownik Postgres:
- Użyj Yum, aby zainstalować sterownik:
yum install php-pdo_pgsql
- Edytuj
/etc/php.ini
, aby dodać w dowolnym miejscu w pliku ten wiersz:extension=pgsql.so
- Uruchom ponownie Apache:
service httpd restart
- Użyj Yum, aby zainstalować sterownik:
- W portalu opartym na TAR przenieś bazę danych portalu do portalu opartego na RPM:
- Zaloguj się w portalu jako administrator.
- W menu Drupal wybierz Struktura->Migrator.
- Wybierz bazę danych punktu początkowego w portalu opartym na tar,
default
i docelową bazę danych (custom
), w oparciu o pliksettings.php
pokazany powyżej. - Kliknij Migrate (Przenieś). Baza danych oparta na targu jest przenoszona do bazy danych opartej na RPM.
- Skopiuj katalog
sites
z serwera tar na serwer oparty na RPM. Ścieżki wyświetlane w poniższych krokach są oparte na ścieżkach domyślnych. W razie potrzeby zmień je na potrzeby instalacji.- W portalu opartym na tarrze umieść w pakiecie katalog
/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. - Wyodrębnij 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ą istniejącego 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ą istniejącego katalogu
sites
:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- Rozpakuj i ponownie uruchom katalog
sites
z serwera opartego na systemie 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ą odpowiednie prawa własności:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
- Przywracanie pliku
settings.php
:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- Przenoszenie plików prywatnych 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 tarrze umieść w pakiecie katalog
- W portalu opartym na plikach tar tylko wtedy, gdy ścieżka do internetowego katalogu głównego w portalu opartym na środowisku tar została zmieniona z domyślnej ścieżki /var/www/html: uruchom
drush status
oraz sprawdź ścieżkęfiles
iprivate files
:cd /var/www/html
drush status
Jeśli pliki/pliki prywatne nie znajdują się w katalogu
sites
, skopiuj je na serwer oparty na RPM w sposób opisany powyżej. - W portalu opartym na RPM zaktualizuj
/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 pliku 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ą bazę danych,username
ipassword
są zdefiniowane dla niestandardowej bazy danych w portalu opartym na tar, aprefix
jest pusty. - W portalu opartym na RPM wersja portalu oparta na RPM zawiera mniej modułów Drupal niż wersja oparta na tar. Po przejściu na portal oparty na RPM sprawdź, czy nie brakuje modułów, i w razie potrzeby zainstaluj je.
- Zainstaluj
missing_module
Drupal używany do wykrywania brakujących modułów:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- Zaloguj się w portalu opartym na RPM jako administrator.
- W menu Drupal wybierz Raporty > Raporty o stanie i sprawdź, czy nie brakuje żadnych modułów.
- Użyj go do zainstalowania brakujących modułów 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 upewnij się, że pliki należą do użytkownika Apigee:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
Więcej informacji o uprawnieniach do plików znajdziesz na stronie https://www.drupal.org/node/244924.
- Zainstaluj
- W portalu opartym na RPM uruchom w przeglądarce polecenie update.php, aby usunąć wszelkie błędy dotyczące brakujących modułów:
- Zaloguj się w portalu opartym na RPM jako administrator.
- W przeglądarce otwórz ten 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, 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 serwerze TAR używa portu 80. Sprawdź, czy we wpisie DNS jest podany prawidłowy numer portu. Informacje o korzystaniu z innego portu znajdziesz w artykule Ustawianie portu HTTP przez portal.
Konwersja ukończona.