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

Apigee Geliştirici Hizmetleri portalının (veya daha basit bir ifadeyle portalın) 4.18.05 sürümü, portalın tar tabanlı eski bir sürümünü güncellemenize izin vermez. Portalın BGBG tabanlı sürümlerini yalnızca 4.18.05 sürümüne doğrudan güncelleyebilirsiniz.

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

tar tabanlı portalın yalnızca 4.17.05 sürümünü değil, 4.16.09 ve 4.17.01 sürümlerini de içeren BGBG tabanlı bir portala taşıyabilirsiniz. Tek şart, portalın Drupal 7 veya sonraki bir sürümünü çalıştırması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.

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

  • Portalın BGBG tabanlı 4.18.05 sürümünü yeni bir düğüme yükleyin.
  • BGBG 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 BGBG tabanlı portala kopyalayın.
  • DNS girişlerini, yeni BGBG tabanlı portala işaret edecek şekilde güncelleyin.

    Portalın BGBG tabanlı sürümünün varsayılan olarak 8079 numaralı bağlantı noktasını, tar tabanlı sürümün ise 80 numaralı bağlantı noktasını kullandığı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ın kullandığı HTTP bağlantı noktasını ayarlama bölümüne bakın.

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

Artık NGINX/Postgres kullanan bir yüklemenin güncellenmesinden 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üştürme prosedürü

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

  1. Portalın BGBG 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 şu yeni veritabanına taşıyacaksınız:
    1. psql'ye giriş yapın:
      psql -h localhost -p 5432 -U apigee

      Postgres şifrenizi, portal yapılandırma dosyasında PG_PWD özelliği tarafından tanımlandığı şekilde girin.

    2. Yeni bir Postgred veritabanı oluşturun:
      CREATE DATABASE newportaldb;
    3. psql'den çıkış:
      \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şıyıcı Drupal modülünü yükleyin ve 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, BGBG tabanlı portalda yeni oluşturulan veritabanını işaret eden ikinci bir veritabanı yapılandırması eklemek için /var/www/html/sites/default/settings.php öğesini 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. Aşağıdaki satırı dosyada herhangi bir yere eklemek için /etc/php.ini öğesini düzenleyin:
      extension=pgsql.so
    3. Apache'yi yeniden başlatın:
      service httpd restart
  7. Tar tabanlı portalda portal veritabanını BGBG tabanlı portala taşıyın:
    1. Portala yönetici olarak giriş yapın.
    2. Drupal menüsünde Yapı->Taşıyıcı'yı seçin.
    3. Yukarıda gösterilen settings.php dosyasını temel alarak tar tabanlı portalda (default) ve hedef veritabanında (custom) kaynak veritabanınızı seçin.
    4. Migrate'i (Taşı) tıklayın. Tar tabanlı veritabanı, BGBG tabanlı veritabanına taşınır.
  8. tar tabanlı sunucudaki sites dizinini BGBG tabanlı sunucuya kopyalayın. Aşağıdaki adımlarda gösterilen yollar, varsayılan yollara dayanır. Kurulum için gerekli gördüğünüz değişiklikleri yapın.
    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 değerini BGBG tabanlı sunucuda /opt/apigee/apigee-drupal/wwwroot/sites hedefine kopyalayın.
    3. Site dizinini iptal et ancak önemli dosyaların üzerine yazma.
      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. sites dizininin tar tabanlı sunucudaki sıkıştırmasını açın ve Tara'yı açı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 sahipliğinin doğru 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 konuma taşıyın:
        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 dizininin yolunu /var/www/html varsayılan yolundan değiştirdiyseniz: drush status komutunu çalıştırın ve files yolu ile private files yoluna bakın:
    cd /var/www/html
    drush status

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

  10. BGBG tabanlı portalda /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php dosyasını güncelleyerek varsayılan veritabanının özelliklerini ayarlayın:
    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' => '',
        )
      )
    );

    database, oluşturduğunuz yeni veritabanını belirttiğinde username ve password, tar tabanlı portaldaki özel veritabanı için tanımlanmıştır ve prefix boştur.

  11. BGBG tabanlı portalda portalın BGBG tabanlı sürümü, tar tabanlı sürüme göre daha az Drupal modülü içermektedir. BGBG tabanlı portala geçiş yaptıktan sonra eksik modülleri kontrol etmeniz ve gerektiğinde yüklemeniz gerekir.
    1. Eksik modülleri algılamak için kullanılan Drupal missing_module uygulamasını yükleyin:
      cd /opt/apigee/apigee-drupal/wwwroot
      drush dl missing_module
      drush en missing_module
    2. BGBG 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ı kullanı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 adresine bakın.

  12. BGBG tabanlı portalda eksik modüllerdeki hataları kaldırmak için bir tarayıcıda update.php dosyasını çalıştırın:
    1. BGBG 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, BGBG tabanlı portalın IP adresi veya alan adıdır.

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

    Portalın BGBG tabanlı sürümünün varsayılan olarak 8079 numaralı bağlantı noktasını, tar tabanlı sürümün ise 80 numaralı bağlantı noktasını kullandığı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 için Portalın kullandığı HTTP bağlantı noktasını ayarlama bölümüne bakın.

Dönüştürme işlemi tamamlandı.