Mengonversi portal berbasis tar menjadi portal berbasis RPM

Rilis 4.18.05 portal Layanan Developer Apigee (atau sederhananya, portal) tidak memungkinkan Anda mengupdate versi portal berbasis tar. Anda hanya dapat langsung mengupdate versi portal berbasis RPM ke 4.18.05.

Namun, Anda dapat mengonversi versi portal berbasis tar menjadi instance berbasis RPM 4.18.05 portal. Sebagai bagian dari proses ini, Anda memigrasikan MySQL/MariaDB dari portal yang ada ke di database Postgres. Setelah dikonversi, portal Anda tetap sebagai portal berbasis RPM.

Anda dapat memigrasikan banyak versi portal berbasis {i>tar<i} sebelumnya ke portal berbasis RPM, termasuk versi 4.16.09 dan 4.17.01, bukan hanya versi 4.17.05. Satu-satunya persyaratan adalah portal menjalankan Drupal 7 atau yang lebih baru. Untuk memeriksa versi Drupal, pilih Laporan &gt; Laporan Status di menu Drupal. Versi Drupal muncul di baris pertama dari output.

Langkah-langkah tingkat tinggi yang Anda gunakan untuk bermigrasi dari portal berbasis tar ke portal berbasis RPM adalah:

  • Instal portal versi berbasis RPM 4.18.05 di node baru.
  • Buat database Postgres baru di portal berbasis RPM.
  • Migrasikan database portal dari portal berbasis tar.
  • Salin semua file aksesori dari portal berbasis tar ke berbasis RPM portal.
  • Perbarui entri DNS agar mengarah ke portal berbasis RPM baru.

    Perlu diketahui bahwa versi portal berbasis RPM menggunakan port 8079 secara default, sedangkan versi portal berbasis tar menggunakan porta 80. Pastikan Anda menggunakan nomor port yang benar dalam entri DNS. Lihat Menetapkan port HTTP yang digunakan oleh portal untuk mendapatkan informasi menggunakan porta yang berbeda.

Direktori penginstalan default baru setelah konversi

Setelah memperbarui penginstalan yang sekarang menggunakan NGINX/Postgres, direktori {i>root<i} berubah dari:

/opt/apigee/apigee-drupal

menjadi:

/opt/apigee/apigee-drupal/wwwroot

Prosedur konversi portal

Untuk mengonversi portal menjadi penginstalan berbasis RPM:

  1. Instal portal versi 4.18.05 berbasis RPM di node lain dari portal berbasis tar Anda portal.
  2. Di portal berbasis RPM, buat database Postgres baru. Nantinya, Anda memigrasikan database dari portal berbasis tar ke database baru ini:
    1. Login ke psql:
      psql -h localhost -p 5432 -U apigee

      Masukkan sandi Postgres seperti yang ditentukan oleh properti PG_PWD di konfigurasi portal .

    2. Buat database Postgred baru:
      CREATE DATABASE newportaldb;
    3. Keluar dari psql:
      \q
  3. Di portal berbasis tar, hapus modul lama yang tidak lagi digunakan:

    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. Di portal berbasis tar, Instal dan konfigurasi modul 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. Login ke portal sebagai admin.
    6. Pilih Modules di menu Drupal.
    7. Aktifkan modul DBTNG Migrator.
    8. Simpan konfigurasi.
  5. Di portal berbasis tar, edit /var/www/html/sites/default/settings.php untuk menambahkan konfigurasi database kedua yang mengarah ke database yang baru dibuat di platform berbasis RPM portal. Konfigurasi database saat ini diberi nama "default". Beri nama konfigurasi baru Anda "custom", seperti yang ditampilkan dalam contoh berikut:
    $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' => '',
        )
      )
    );

    Dengan host dan port menentukan alamat IP dan port Server Postgres. Postgres menggunakan port 5432 untuk koneksi.

  6. Di portal berbasis tar, instal driver Postgres:
    1. Gunakan Yum untuk menginstal driver:
      yum install php-pdo_pgsql
    2. Edit /etc/php.ini untuk menambahkan baris berikut di mana saja dalam file:
      extension=pgsql.so
    3. Mulai ulang Apache:
      service httpd restart
  7. Di portal berbasis tar, migrasikan database portal ke portal berbasis RPM portal:
    1. Login ke portal sebagai admin.
    2. Pilih Structure->Migrator di menu Drupal.
    3. Pilih database origin di portal berbasis tar, default, dan database tujuan, custom, berdasarkan file settings.php yang ditampilkan di atas.
    4. Klik Migrasikan. Database berbasis tar dimigrasikan ke platform berbasis RPM di skrip untuk menyiapkan database.
  8. Salin direktori sites dari server berbasis tar ke server berbasis RPM. Tujuan jalur yang ditampilkan dalam langkah-langkah berikut didasarkan pada jalur default. Ubah seperlunya untuk instalasi Anda.
    1. Di portal berbasis tar, paketkan direktori /var/www/html/sites:
      cd /var/www/html/sites
      tar -cvzf /tmp/sites.tar.gz .
    2. Salin /tmp/sites.tar.gz ke /opt/apigee/apigee-drupal/wwwroot/sites di server berbasis RPM.
    3. Menguraikan direktori situs, tetapi jangan menimpa file penting.
      1. Cadangkan file settings.php:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Cadangkan direktori files yang ada:
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Cadangkan direktori sites yang ada:
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Ekstrak dan ekstrak direktori sites dari server berbasis tar:
        gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
        tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Pastikan file yang disalin memiliki kepemilikan yang tepat:
        chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. Pulihkan file settings.php:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Memindahkan file pribadi ke lokasi baru:
        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. Di portal berbasis tar, hanya jika Anda mengubah jalur ke root web direktori di portal berbasis {i>tar <i}dari jalur {i>default<i} {i> /var/www/html: run<i} drush status dan lihat jalur files dan jalur private files:
    cd /var/www/html
    drush status

    Jika file/file pribadi tidak berada di direktori sites, salin ke Server berbasis RPM seperti ditunjukkan di atas.

  10. Di portal berbasis RPM, update /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php untuk menetapkan properti dari database default:
    vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    Setel deskripsi database default di settings.php:

    $databases = array (
      'default' =>
      array (
        'default' =>
        array (
          'database' => 'newportaldb',
          'username' => 'apigee',
          'password' => 'postgres',
          'host' => 'localhost', 'port' => '5432',
          'driver' => 'pgsql',
          'prefix' => '',
        )
      )
    );

    Tempat database menentukan database baru yang Anda buat, username dan password seperti yang ditentukan untuk database kustom di portal berbasis tar, dan prefix kosong.

  11. Di portal berbasis RPM, portal versi berbasis RPM berisi lebih sedikit Modul drupal dibandingkan versi berbasis tar. Setelah bermigrasi ke portal berbasis RPM, Anda harus memeriksa modul yang hilang dan menginstalnya sesuai kebutuhan.
    1. Instal missing_module Drupal yang digunakan untuk mendeteksi modul yang tidak ada:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. Login ke portal berbasis RPM sebagai admin.
    3. Pilih Laporan > Laporan status di menu Drupal dan periksa modul-modul yang hilang.
    4. Gunakan laporan tersebut untuk menginstal modul yang tidak ada, atau gunakan perintah berikut:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      drush en <moduleA> <moduleB> ...
    5. Setelah Anda mengaktifkan semua modul, pastikan file dimiliki oleh pengguna apigee:
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Untuk informasi selengkapnya tentang izin akses file, lihat https://www.drupal.org/node/244924.

  12. Di portal berbasis RPM, jalankan update.php di browser untuk menghilangkan error apa pun tentang modul yang tidak ada:
    1. Login ke portal berbasis RPM sebagai admin.
    2. Di browser, buka URL berikut:
      http://portal_IP_or_DNS:8079/update.php

      Dengan portal_IP_or_DNS adalah alamat IP atau nama domain berbasis RPM portal.

    3. Ikuti petunjuk di layar.
  13. Perbarui entri DNS agar mengarah ke portal berbasis RPM baru.

    Perlu diketahui bahwa versi portal berbasis RPM menggunakan port 8079 secara default, sedangkan versi portal berbasis tar menggunakan porta 80. Pastikan Anda menggunakan nomor port yang benar dalam entri DNS. Lihat Menyetel port HTTP yang digunakan oleh portal untuk mendapatkan informasi tentang menggunakan porta yang berbeda.

Konversi selesai.