Edge dla chmury prywatnej w wersji 4.18.01
Wersja 4.18.01 portalu usług dla programistów nie pozwala na aktualizowanie poprzedniej wersji portalu opartej na plikach tar. Możesz bezpośrednio zaktualizować do wersji 4.18.01 tylko wersję portalu opartą na RPM.
Możesz jednak przekonwertować wersję portalu opartą na tar na instancję portalu opartą na RPM w wersji 4.18.01. W ramach tego procesu przenosisz bazę danych MySQL/MariaDB istniejącego portalu do bazy danych Postgres. Po przekonwertowaniu portal pozostanie portalem opartym na RPM.
Możesz przenieść wiele poprzednich wersji portalu opartego na tar do portalu opartego na RPM, w tym wersje 4.16.09 i 4.17.01, a nie tylko wersję 4.17.05. Jedynym wymaganiem jest to, aby portal działał na Drupalu 7 lub nowszym. Aby sprawdzić wersję systemu Drupal, w menu Drupal wybierz Reports > Status Reports (Raporty > Raporty o stanie). Wersja oprogramowania Drupal pojawi się w pierwszym wierszu danych wyjściowych.
Ogólne czynności, które należy wykonać, aby przeprowadzić migrację z portalu opartego na tar do portalu opartego na RPM:
- Zainstaluj opartą na RPM wersję 4.18.01 portalu usług dla programistów w nowym węźle.
- Utwórz nową bazę danych Postgres na portalu opartym na RPM.
- Przenieś bazę danych portalu z portalu opartego na plikach tar.
- Skopiuj wszystkie pliki akcesoriów z portalu opartego na tar do portalu opartego na RPM.
- 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 tar używa portu 80. Upewnij się, że we wpisie DNS używasz prawidłowego numeru portu. Informacje o używaniu innego portu znajdziesz w artykule Ustawianie portu HTTP używanego przez portal.
Nowy domyślny katalog instalacyjny 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 portalu
Aby przekonwertować portal na instalację opartą na RPM:
- Zainstaluj opartą na RPM wersję 4.18.01 portalu usług dla programistów w innym węźle niż portal oparty na tar.
-
W portalu opartym na RPM utwórz nową bazę danych Postgres. Później przeniesiesz bazę danych z portalu opartego na plikach 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 pliku konfiguracji portalu. - Utwórz nową bazę danych Postgres:
# CREATE DATABASE newportaldb; - Zamknij psql:
# \q
- Zaloguj się w psql:
-
W portalu opartym na plikach 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ł 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.
- Zapisz konfigurację.
- W portalu opartym na tar zmodyfikuj plik /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. Nazwij nową konfigurację niestandardową:
$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 i port określają adres IP i port serwera Postgres. Postgres używa do połączeń portu 5432. -
W portalu opartym na archiwum tar zainstaluj sterownik Postgres:
- Zainstaluj sterownik za pomocą Yum:
> yum install php-pdo_pgsql - Zmodyfikuj plik /etc/php.ini, dodając w dowolnym miejscu ten wiersz:
extension=pgsql.so - Uruchom ponownie Apache:
> service httpd restart
- Zainstaluj sterownik za pomocą Yum:
-
W portalu opartym na tar przenieś bazę danych portalu do portalu opartego na RPM:
- Zaloguj się w portalu jako administrator.
- W menu Drupal wybierz Structure->Migrator (Struktura > Migrator).
- Wybierz źródłową bazę danych w portalu opartym na pliku tar, default, oraz docelową bazę danych, custom, na podstawie pliku settings.php pokazanego powyżej.
- Kliknij Przenieś. Baza danych oparta na plikach tar jest przenoszona do bazy danych opartej na RPM.
- Skopiuj katalog sites z serwera opartego na tar na serwer oparty na RPM.
Ścieżki pokazane w poniższych krokach są oparte na ścieżkach domyślnych. W razie potrzeby zmień je odpowiednio do swojej instalacji.- Na portalu opartym na plikach tar utwórz pakiet z katalogu /var/www/html/sites:
> cd /var/www/html/sites
> tar -cvzf /tmp/sites.tar.gz . - Skopiuj plik /tmp/sites.tar.gz do katalogu /opt/apigee/apigee-drupal/wwwroot/sites na serwerze opartym na RPM.
- Rozpakuj 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 rozpakuj katalog sites z serwera opartego na tar:
> gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
> tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar - Upewnij się, że skopiowane pliki mają odpowiednie uprawnienia:
> 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 - Przenieś pliki prywatne 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 settings.php:
- Na portalu opartym na plikach tar utwórz pakiet z katalogu /var/www/html/sites:
- Na portalu opartym na plikach tar, tylko jeśli ścieżka do katalogu głównego sieci Web na portalu opartym na plikach tar została zmieniona ze ścieżki domyślnej /var/www/html: uruchom drush status i sprawdź ścieżkę files oraz ścieżkę private 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, jak pokazano powyżej. - W portalu opartym na RPM zaktualizuj plik /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 opis domyślnej 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 i password są zdefiniowane dla niestandardowej bazy danych w portalu opartym na tar, a prefix jest pusty. -
W portalu opartym na RPM wersja portalu oparta na RPM zawiera mniej modułów Drupal niż wersja oparta na tar. Po migracji do portalu opartego na RPM musisz sprawdzić, czy nie brakuje żadnych modułów, i w razie potrzeby je zainstalować.
- Zainstaluj moduł missing_module platformy Drupal, który 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 opartym na RPM jako administrator.
- W menu Drupal wybierz Reports > Status reports (Raporty > Raporty o stanie) i sprawdź, czy nie brakuje żadnych modułów.
- Użyj 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 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 moduł missing_module platformy Drupal, który służy do wykrywania brakujących modułów:
-
W portalu opartym na RPM uruchom plik update.php w przeglądarce, 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, 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 tar używa portu 80. Upewnij się, że we wpisie DNS używasz prawidłowego numeru portu. Informacje o używaniu innego portu znajdziesz w artykule Ustawianie portu HTTP używanego przez portal.
Konwersja została zakończona.