Tur tabanlı bir portalı BGBG tabanlı bir portala dönüştürme

Private Cloud için Edge v4.18.05

Apigee Developer Services portalının (veya kısaca portalın) 4.18.05 sürümü, portalın tar tabanlı önceki bir sürümünü güncellemenize izin vermez. Yalnızca portalın RPM tabanlı sürümünü 4.18.05'e doğrudan güncelleyebilirsiniz.

Ancak portalın tar tabanlı sürümünü portalın 4.18.05 RPM tabanlı bir örneğine dönüştürebilirsiniz. Bu sürecin bir parçası olarak, mevcut portalın MySQL/MariaDB veritabanını bir Postgres veritabanına taşırsınız. Dönüştürüldükten sonra portalınız RPM tabanlı bir portal olarak kalır.

Yalnızca 4.17.05 sürümü değil, tar tabanlı portalın önceki birçok sürümünü RPM tabanlı bir portala taşıyabilirsiniz. Örneğin, 4.16.09 ve 4.17.01 sürümlerini de taşıyabilirsiniz. Tek şart, portalda Drupal 7 veya daha yeni bir sürümün yüklü olmasıdır. Drupal sürümünüzü kontrol etmek için Drupal menüsünde Raporlar > Durum Raporları'nı seçin. Drupal sürümü, çıkışın ilk satırında görünür.

Tar tabanlı bir portaldan RPM tabanlı bir portala geçiş yapmak için kullanacağınız üst düzey adımlar şunlardır:

  • Portalın RPM tabanlı 4.18.05 sürümünü yeni bir düğüme yükleyin.
  • RPM tabanlı portalda yeni bir Postgres veritabanı oluşturun.
  • Portal veritabanını tar tabanlı portaldan taşıyın.
  • Tüm aksesuar dosyalarını tar tabanlı portaldan RPM tabanlı portala kopyalayın.
  • DNS girişlerini RPM tabanlı yeni portala işaret edecek şekilde güncelleyin.

    Portalın RPM tabanlı sürümünde varsayılan olarak 8079 bağlantı noktasının, tar tabanlı sürümünde ise 80 bağlantı noktasının kullanıldığını unutmayın. DNS girişinizde doğru bağlantı noktası numarasını kullandığınızdan emin olun. Farklı bir bağlantı noktası kullanma hakkında bilgi edinmek için Portal tarafından kullanılan HTTP bağlantı noktasını ayarlama başlıklı makaleyi inceleyin.

Dönüşümden sonra yeni varsayılan yükleme dizini

Artık Nginx/Postgres kullanan bir yükleme güncellendikten sonra kök dizin şu şekilde değişti:

/opt/apigee/apigee-drupal

karşılaştırma yapılacak öğe:

/opt/apigee/apigee-drupal/wwwroot

Portal dönüşüm prosedürü

Portalı RPM tabanlı bir yüklemeye dönüştürmek için:

  1. Portalın RPM tabanlı 4.18.05 sürümünü, tar tabanlı portalınızdan farklı bir düğüme yükleyin.
  2. BGBG tabanlı portalda yeni bir Postgres veritabanı oluşturun. Daha sonra veritabanını, tar tabanlı portaldan bu yeni veritabanına taşırsınız:
    1. psql'ye giriş yapın:
      psql -h localhost -p 5432 -U apigee

      Portal yapılandırma dosyasında PG_PWD mülkü tarafından tanımlandığı şekilde Postgres şifrenizi girin.

    2. Yeni bir Postgred veritabanı oluşturun:
      CREATE DATABASE newportaldb;
    3. psql'den çıkın:
      \q
  3. Tar tabanlı portalda artık kullanılmayan eski modülleri kaldırın:

    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. Tar tabanlı portalda Taşıma Aracı Drupal modülünü yükleyip yapılandırın:
    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. Portala yönetici olarak giriş yapın.
    6. Drupal menüsünde Modüller'i seçin.
    7. DBTNG Taşıma Aracı modülünü etkinleştirin.
    8. Yapılandırmayı kaydedin.
  5. Tar tabanlı portalda, RPM tabanlı portalda yeni oluşturulan veritabanına işaret eden ikinci bir veritabanı yapılandırması eklemek için /var/www/html/sites/default/settings.php dosyasını düzenleyin. Mevcut veritabanı yapılandırması "varsayılan" olarak adlandırılmıştır. Yeni yapılandırmanızı aşağıdaki örnekte gösterildiği gibi "özel" olarak adlandırın:
    $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' => '',
        )
      )
    );

    Burada host ve port, Postgres sunucusunun IP adresini ve bağlantı noktasını belirtir. Postgres, bağlantılar için 5432 numaralı bağlantı noktasını kullanır.

  6. Tar tabanlı portalda Postgres sürücüsünü yükleyin:
    1. Sürücüyü yüklemek için Yum'u kullanın:
      yum install php-pdo_pgsql
    2. /etc/php.ini dosyasını düzenleyip dosyanın herhangi bir yerine aşağıdaki satırı ekleyin:
      extension=pgsql.so
    3. Apache'i yeniden başlatın:
      service httpd restart
  7. Tar tabanlı portalda portal veritabanını RPM tabanlı portala taşıyın:
    1. Portala yönetici olarak giriş yapın.
    2. Drupal menüsünde Yapı->Taşıma Aracı'nı seçin.
    3. Tar tabanlı portalda kaynak veritabanınızı (default) ve yukarıda gösterilen settings.php dosyasına göre hedef veritabanınızı (custom) seçin.
    4. Taşı'yı tıklayın. Tar tabanlı veritabanı, RPM tabanlı veritabanına taşınır.
  8. sites dizinini tar tabanlı sunucudan RPM tabanlı sunucuya kopyalayın. Aşağıdaki adımlarda gösterilen yollar, varsayılan yollara dayanır. Kurulumunuza uygun şekilde değiştirin.
    1. Tar tabanlı portalda /var/www/html/sites dizinini gruplandırın:
      cd /var/www/html/sites
      tar -cvzf /tmp/sites.tar.gz .
    2. /tmp/sites.tar.gz dosyasını RPM tabanlı sunucuda /opt/apigee/apigee-drupal/wwwroot/sites içine kopyalayın.
    3. Siteler dizininin paketini kaldırın ancak önemli dosyaların üzerine yazmayın.
      1. settings.php dosyasını yedekleyin:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
      2. Mevcut files dizinini yedekleyin:
        sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files
          /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
      3. Mevcut sites dizinini yedekleyin:
        tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
      4. Tar tabanlı sunucudaki sites dizinini açın ve arşivden çıkarın:
        gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
        tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
      5. Kopyalanan dosyaların doğru sahipliğe sahip olduğundan emin olun:
        chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
      6. settings.php dosyasını geri yükleyin:
        sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
          /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
      7. Gizli dosyaları yeni bir konuma taşıma:
        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. Tar tabanlı portalda, yalnızca tar tabanlı portaldaki web kök dizin yolunu /var/www/html olan varsayılan yoldan değiştirdiyseniz: drush status'yi çalıştırın ve files yoluna ve private files yoluna bakın:
    cd /var/www/html
    drush status

    Dosyalar/özel dosyalar sites dizininde değilse yukarıda gösterildiği gibi RPM tabanlı sunucuya kopyalayın.

  10. RPM tabanlı portalda, varsayılan veritabanının özelliklerini ayarlamak için /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php öğesini güncelleyin:
    vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php

    settings.php dosyasında varsayılan veritabanı açıklamasını ayarlayın:

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

    Burada database, oluşturduğunuz yeni veritabanını belirtir, username ve password, tar tabanlı portaldaki özel veritabanı için tanımlandığı şekildedir ve prefix boştur.

  11. RPM tabanlı portalda, portalın RPM tabanlı sürümü, tar tabanlı sürüme kıyasla daha az Drupal modülü içerir. RPM tabanlı portala geçtikten sonra eksik modülleri kontrol etmeniz ve gerekirse yüklemeniz gerekir.
    1. Eksik modülleri algılamak için kullanılan Drupal missing_module sürümünü yükleyin:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. RPM tabanlı portala yönetici olarak giriş yapın.
    3. Drupal menüsünde Raporlar > Durum raporları'nı seçin ve eksik modül olup olmadığını kontrol edin.
    4. Eksik modülleri yüklemek için bu raporu kullanın veya aşağıdaki komutları uygulayın:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl <moduleA> <moduleB> ...
      drush en <moduleA> <moduleB> ...
    5. Tüm modülleri etkinleştirdikten sonra, dosyaların apigee kullanıcısına ait olduğundan emin olun:
      chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot

      Dosya izinleri hakkında daha fazla bilgi için https://www.drupal.org/node/244924 adresini ziyaret edin.

  12. Eksik modülle ilgili hataları kaldırmak için RPM tabanlı portalda bir tarayıcıda update.php dosyasını çalıştırın:
    1. RPM tabanlı portala yönetici olarak giriş yapın.
    2. Tarayıcıda aşağıdaki URL'ye gidin:
      http://portal_IP_or_DNS:8079/update.php

      Burada portal_IP_or_DNS, RPM tabanlı portalın IP adresi veya alan adıdır.

    3. Ekrandaki talimatları uygulayın.
  13. DNS girişlerini, RPM tabanlı yeni portalınıza yönlendirecek şekilde güncelleyin.

    Portalın RPM tabanlı sürümünde varsayılan olarak 8079 bağlantı noktasının, tar tabanlı sürümünde ise 80 bağlantı noktasının kullanıldığını unutmayın. DNS girişinizde doğru bağlantı noktası numarasını kullandığınızdan emin olun. Farklı bir bağlantı noktası kullanma hakkında bilgi edinmek için Portal tarafından kullanılan HTTP bağlantı noktasını ayarlama başlıklı makaleyi inceleyin.

Dönüşüm tamamlandı.