Przekształcanie portalu tarowego w portal oparty na RPM

Edge for Private Cloud w wersji 4.18.05

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 tar na instancję opartą na 4.18.05 RPM do portalu. W ramach tego procesu przenosisz bazę danych MySQL/MariaDB istniejącego portalu do Baza danych Postgres. Po przekształceniu portal pozostanie oparty na RPM.

Do portalu opartego na RPM możesz przenieść wiele poprzednich wersji portalu tar, wersji 4.16.09 i 4.17.01, a nie tylko 4.17.05. Jedyne wymagania to portal używa Drupala 7 lub nowszego. Aby sprawdzić wersję Drupala, kliknij Raporty > Raporty stanu w menu Drupala. Wersja Drupala pojawi się 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 cały plik akcesoriów z portalu tar do pliku RPM z portalu.
  • 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 używasz prawidłowego numeru portu we wpisie DNS. Zobacz Ustaw port HTTP używany przez portal, by uzyskać informacje. na użyciu innego portu.

Nowy domyślny katalog instalacji po przeliczanie

Po zaktualizowaniu instalacji, która korzysta teraz z Nginx/Postgres, katalog główny uległ zmianie od:

/opt/apigee/apigee-drupal

do:

/opt/apigee/apigee-drupal/wwwroot

Procedura konwersji portalu

Aby przekonwertować portal na instalację opartą na RPM:

  1. Zainstaluj wersję 4.18.05 portalu opartą na RPM w innym węźle niż Twój pakiet tar z portalu.
  2. W portalu opartym na RPM utwórz nową bazę danych Postgres. Przeprowadzasz migrację później 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 Postgres zdefiniowane przez właściwość PG_PWD w konfiguracji portalu .

    2. Utwórz nową bazę danych Postgred:
      CREATE DATABASE newportaldb;
    3. Wyjdź z psql:
      \q
  3. 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';"
  4. W portalu 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ę w portalu jako administrator.
    6. W menu Drupal wybierz Modules (Moduły).
    7. Włącz moduł DBTNG Migrator (Migrator)
    8. Zapisz konfigurację.
  5. 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. Obecna konfiguracja bazy danych ma nazwę „default”. 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 i port określają adres IP i port protokołu Serwer Postgres. Postgres używa portu 5432 do nawiązywania połączeń.

  6. W portalu opartym na oprogramowaniu tar zainstaluj sterownik Postgres:
    1. Użyj pakietu Yum, aby zainstalować sterownik:
      yum install php-pdo_pgsql
    2. Edytuj /etc/php.ini, aby w dowolnym miejscu w pliku dodać ten wiersz:
      extension=pgsql.so
    3. Uruchom ponownie Apache:
      service httpd restart
  7. W portalu w języku tar przenieś bazę danych portalu do platformy opartej na RPM portal:
    1. Zaloguj się w portalu jako administrator.
    2. W menu Drupal wybierz Struktura->Migrator.
    3. Wybierz bazę danych origin w portalu opartym na języku tar (default) i w docelowa baza danych, custom, na podstawie wyświetlonego pliku settings.php powyżej.
    4. Kliknij Migrate (Przenieś). Baza danych w formacie tar jest poddawana migracji do modelu opartego na RPM w bazie danych.
  8. 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.
    1. 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 .
    2. Skopiuj /tmp/sites.tar.gz do /opt/apigee/apigee-drupal/wwwroot/sites na serwerze 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 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
      5. Sprawdź, czy skopiowane pliki mają prawidłową własność:
        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 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
  9. W portalu w języku tar, tylko jeśli zmienisz ścieżkę do katalogu głównego witryny. w portalu opartym na Tarasie ze ścieżki domyślnej /var/www/html: run drush status i popatrz na ścieżkę files i private files:
    cd /var/www/html
    drush status

    Jeśli pliki/pliki prywatne nie znajdują się w katalogu sites, skopiuj je do z serwera RPM, jak pokazano powyżej.

  10. W portalu 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 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 nowo utworzoną bazę danych, username i password są zgodne z definicją niestandardowej bazy danych. w portalu opartym na programie tar, a pole prefix jest puste.

  11. W portalu opartym na RPM wersja portalu oparta na RPM zawiera mniej. Moduły Drupala różnią się od wersji opartej na tar. Po migracji do portalu opartego na RPM należy sprawdzić, czy nie brakuje żadnych modułów, i w razie potrzeby je zainstalować.
    1. 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
    2. Zaloguj się w portalu opartym na RPM jako administrator.
    3. Wybierz Raporty > Raporty stanu w menu Drupala i sprawdź, czy wszystkie brakujące moduły.
    4. 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> ...
    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 tutaj: https://www.drupal.org/node/244924.

  12. W portalu opartym na RPM uruchom polecenie update.php w przeglądarce, by usunąć wszelkie błędy. dotyczące brakujących modułów:
    1. Zaloguj się w portalu opartym na RPM jako administrator.
    2. W przeglądarce przejdź do tego adresu URL:
      http://portal_IP_or_DNS:8079/update.php

      Gdzie portal_IP_or_DNS to adres IP lub nazwa domeny witryny opartej na RPM z portalu.

    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
  13. 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 używasz prawidłowego numeru portu we wpisie DNS. Zobacz Ustaw port HTTP używany przez portal, aby uzyskać informacje na temat: za pomocą innego portu.

Konwersja została zrealizowana.