Przekształcanie portalu tarowego w portal oparty na RPM

Edge for Private Cloud wer. 4.17.09

Wersja 4.17.09 portalu usług dla programistów nie umożliwia aktualizowania poprzedniej wersji portalu opartej na tar. Możesz bezpośrednio zaktualizować tylko wersję portalu opartą na RPM do wersji 4.17.09.

Możesz jednak przekonwertować wersję portalu opartą na systemie tar na jego instancję w wersji 4.17.09 z pakietem 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 4.17.09 wersję portalu usług dla programistów.
  • 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 tarnie – port 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:

  1. Zainstaluj opartą na RPM wersję 4.17.09 portalu usługi dla programistów w innym węźle niż portal oparty na tar.
  2. 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:
    1. Zaloguj się w psql:
      >psql -h localhost -p 5432 -U apigee

      Wpisz hasło do Postgres zdefiniowane we właściwości PG_PWD w pliku konfiguracyjnym portalu.
    2. Utwórz nową bazę danych Postgred:
      # CREATE DATABASE newportaldb;
    3. Wyjdź z psql:
      # \q
  3. W portalu tar usuń stare moduły, które nie są już używane:
    > cd /var/www/html
    > drush sql-query --db-prefix "DELETE from {system}, gdzie name = 'apigee_account' AND type = 'module';"
    > drushge sql-api} if 'module sql-api} > drush 'nazwa_modułu';"
    > drushge sql-api}

  4. W portalu opartym na tar zainstaluj i skonfiguruj moduł Migrator Drupal:

    1. cd /tmp
    2. wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
    3. gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
    4. tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
    5. Zaloguj się do portalu jako administrator.
    6. W menu Drupal wybierz Modules (Moduły).
    7. Włącz moduł migratora DBTNG.
    8. Zapisz konfigurację.
  5. W portalu opartym na plikach tar edytuj adres /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 portu 5432 do połączeń.
  6. W portalu opartym na tar zainstaluj sterownik Postgres:
    1. Zainstaluj sterownik Yum za pomocą:
      > yuminstall php-pdo_pgsql
    2. Edytuj plik /etc/php.ini, aby dodać w dowolnym miejscu następujący wiersz:
      extension=pgsql.so
    3. Uruchom ponownie Apache:
      > ponowne uruchomienie usługi httpd
  7. W portalu opartym na TAR przenieś bazę danych portalu do portalu opartego na RPM:
    1. Zaloguj się w portalu jako administrator.
    2. W menu Drupal wybierz Struktura->Migrator.
    3. Wybierz bazę danych origin w portalu opartym na tar, default i docelowej, custom, w oparciu o pokazany powyżej plik settings.php.
    4. Kliknij Migrate (Przenieś). Baza danych oparta na targu jest przenoszona do bazy danych opartej na RPM.
  8. Skopiuj katalog sites z serwera opartego na pliku 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.
    1. W portalu opartym na pliku tar pogrupuj katalog /var/www/html/sites:
      > cd /var/www/html/sites
      > tar -cvzf /tmp/sites.tar.gz .
    2. Skopiuj plik /tmp/sites.tar.gz do pliku /opt/apigee/apigee-drupal/wwwroot/sites na serwerze opartym na RPM.
    3. Wyodrębnij katalog witryn, ale nie zastępuj ważnych plików.
      1. 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
      2. 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
      3. Utwórz kopię zapasową istniejącego katalogu sites:
        > tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Rozpakuj i ponownie uruchom katalog sites na serwerze opartym na tar:
        > gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz

        > tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Sprawdź, czy skopiowane pliki mają odpowiednie prawa własności:
        > chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. 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
      7. 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/www.

  9. W portalu opartym na plikach tar tylko jeśli zmienisz ścieżkę do internetowego katalogu głównego tego portalu z domyślnej ścieżki /var/www/html: uruchom drush status i sprawdź ścieżkę plików oraz ścieżki plików prywatnych:
    > cd /var/www/html
    > drush status
    ,
    jeśli pliki kopiowane do serwera RPM nie znajdują się w katalogu opartym na serwerze.

  10. 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 jako informację dla nowej bazy danych dla nowej bazy danych, że dla niej definiowany jest domyślny opis bazy danych.
    W ustawieniach portalu
    ustaw opis domyślnej bazy danych dla nazwy użytkownika .
    $databases = array (
          'default' =>
          array (
            'default' =>
            array (
              'database' => 'newportaldb',
              'username' => 'apigee',
              'password' => 'postgres',
              'host' => 'localhost', 'port' => '5432',
              'driver' => 'pgsql',
              'prefix' => '',
            )
          )
        );
  11. 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.
    1. Zainstaluj moduł missing_module używany do wykrywania brakujących modułów w Dupal:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl brak_module
      > drush en missing_module
    2. Zaloguj się w portalu opartym na RPM jako administrator.
    3. W menu Drupal wybierz Raporty > Raporty o stanie i sprawdź, czy nie brakuje żadnych modułów.
    4. Użyj tego raportu, by zainstalować brakujące moduły lub użyć tych poleceń:
      > cd /opt/apigee/apigee-drupal/wwwroot
      > drush dl <moduleA> <moduleB> ...
      > drush pl <moduleA> <moduleB> ...
    5. 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 do plików znajdziesz na stronie https://www.drupal.org/node/244924.
  12. W portalu opartym na RPM uruchom w przeglądarce plik update.php, aby usunąć wszelkie błędy dotyczące brakujących modułów:
    1. Zaloguj się w portalu opartym na RPM jako administrator.
    2. 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.
    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
  13. 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 tarnie – port 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.