Portalı yükseltme

Bu prosedürde, mevcut bir Apigee Geliştirici Hizmetleri portalı (veya daha basit bir şekilde ifade etmek gerekirse portal) şirket içi kurulumunun nasıl yükseltileceği açıklanmaktadır.

Doğru güncelleme prosedürünü belirleme

Portalı güncellemek için kullanacağınız prosedür, mevcut yüklemenize bağlıdır:

Mevcut yükleme türünüzü belirleyin

Geçerli yükleme türünüzden emin değilseniz belirlemek için aşağıdaki komutu kullanın:

  • ls /opt

    Nginx/Postgres kullanıyorsanız şu dizinleri görürsünüz: /opt/apigee ve /opt/nginx.

    Apache/MySQL veya Apache/MariaDB kullanıyorsanız bu dizinler mevcut olmamalıdır.

  • /opt/apigee/apigee-service/bin/apigee-all status

    Nginx/Postgres kullanıyorsanız aşağıdaki çıkışı görürsünüz:

    + apigee-service
    apigee-drupal-devportal status
    OK: apigee-drupal-devportal is up and running
    + apigee-service apigee-lb status
    apigee-service: apigee-lb: OK
    + apigee-service apigee-postgresql status
    apigee-service: apigee-postgresql: OK
  • apachectl -S

    Apache/MySQL veya Apache/MariaDB kullanıyorsanız bu komut, portalın web kök dizinini şu biçimde döndürecektir:

    *:80
    192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)

Varsayılan yükleme dizini

Yükseltme işlemi, portalın şu adrese yüklendiğini varsayar:

  • 4.17.05 ve sonraki sürümler: /opt/apigee/apigee-drupal/wwwroot
  • 4.17.05'ten önceki sürümler: /opt/apigee/apigee-drupal (Nginx) veya /var/www/html (Apache)

Portalı varsayılan dizine yüklemediyseniz yükleme dizininizi kullanmak için aşağıdaki prosedürde yer alan yolları değiştirin.

Desteklenen yükseltme sürümleri

Bu yükseltme prosedürü, OPDK-17-01.x ve üzeri portal sürümlerinde desteklenir.

Portal sürümünüzü belirlemek için aşağıdaki URL'yi bir tarayıcıda açın:

http://yourportal.com/buildInfo

Güncellemeden önce

Mevcut yüklemeler için Drupal'ın çekirdeğinde veya özel olmayan modüllerde herhangi bir kodu değiştirdiyseniz yaptığınız değişikliklerin üzerine yazılır. Diğer hususların yanı sıra, .htaccess ürününde yapmış olabileceğiniz değişiklikler de bu kapsamdadır. /sites dizini dışındaki her şeyin Drupal'a ait olduğunu varsaymanız gerekir. Bu kuralın bir istisnası, robots.txt dosyasıdır. Bu dosya web kök dizininde mevcutsa sizin için korunur.

Yükleme işlemine devam etmeden önce, Drupal web kök dizininizin tamamını yedekleyin. Aşağıda açıklanan yükleme adımlarını gerçekleştirdikten sonra, özelleştirmelerinizi yedekten geri yükleyebilirsiniz.

BGBG'leri kullanarak portalları yükseltme

Bir düğümde portal BGBG'sini güncellemek için:

  1. Drupal dizinine (varsayılan olarak /opt/apigee/apigee-drupal) geçin:
    cd /opt/apigee/apigee-drupal
  2. Drupal veritabanı örneğinizi yedekleyin. pg_dump komutu, veritabanının bir kopyasını oluşturur:
    pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.dmp

    Burada:

    • devportal, portal yükleme yapılandırma dosyasındaki PG_NAME özelliği tarafından belirtilen veritabanı adıdır.
    • host_IP_address, portal düğümünün IP adresidir.
    • drupaladmin, portal yükleme yapılandırma dosyasında DRUPAL_PG_USER özelliği tarafından belirtilen veritabanına erişmek için portal tarafından kullanılan Postgres kullanıcı adıdır.

    Portal yükleme yapılandırma dosyasındaki DRUPAL_PG_PASS özelliği tarafından tanımlanan Postgres kullanıcı şifresini girmeniz istenir.

    Daha sonra yedekten geri yüklemek isterseniz aşağıdaki komutu kullanın:

    pg_restore --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.dmp
  3. Drupal web kök dizininizin tamamını yedekleyin. Varsayılan yükleme konumu /opt/apigee/apigee-drupal şeklindedir, ancak bu konumu değiştirmiş olabilirsiniz.

    Bu dizinin konumundan emin değilseniz herkese açık dosya sisteminin ve gizli dosya sistemi yolunun konumunu (sonraki adımda) belirlemek için drush status komutunu veya Drupal menüsündeki Yapılandırma > Medya > Dosya girişini kullanın.

  4. /opt/apigee/data/apigee-drupal-devportal/private klasöründeki dosyaları yedekleyin.
  5. Drupal'ı bakım moduna ayarlayın:
    1. Drupal menüsünde Yapılandırma'yı seçin.
    2. Yapılandırma sayfasında, Geliştirme bölümündeki Bakım modu'nu seçin.
    3. Siteyi bakım moduna geçir kutusunu seçin.
    4. Kullanıcılara bakım sırasında gösterilecek bir mesaj girin.
    5. Save configuration'ı (Yapılandırmayı kaydet) seçin.
  6. SELinux'u Edge Apigee-setup yardımcı programını yükleme bölümünde açıklandığı şekilde devre dışı bırakın.
  7. /opt dizinine geçin:
    cd /opt
  8. İnternet bağlantısı olan bir sunucuda yükseltme işlemi için:
    1. Edge 4.19.06 bootstrap_4.19.06.sh dosyasını /tmp/bootstrap_4.19.06.sh uygulamasına indirin:
      curl https://software.apigee.com/bootstrap_4.19.06.sh -o /tmp/bootstrap_4.19.06.sh
    2. Edge 4.19.06 apigee-service yardımcı programını ve bağımlılıklarını yükleyin:
      sudo bash /tmp/bootstrap_4.19.06.sh apigeeuser=uName apigeepassword=pWord

      Burada uName ve pWord, Apigee'den aldığınız kullanıcı adı ve şifredir. pWord yönergesini çıkarırsanız bunu girmeniz istenir.

      Varsayılan olarak yükleyici, Java 1.8'in yüklü olup olmadığını kontrol eder. Java'yı yüklemeden devam etmek için "C" seçeneğini kullanabilirsiniz.

  9. İnternet bağlantısı olmayan bir sunucuda yükseltme işlemi için:
    1. Yerel Apigee deposu oluşturma bölümünde açıklandığı şekilde yerel bir 4.19.06 deposu oluşturun.
    2. .tar dosyasından Apigee-service'i yüklemek için:
      1. Yerel deponun bulunduğu düğümde, yerel depoyu /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz adlı tek bir .tar dosyası olarak paketlemek için aşağıdaki komutu kullanın:
        /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
      2. .tar dosyasını, Edge'i güncellemek istediğiniz düğüme kopyalayın. Örneğin, bunu yeni düğümdeki /tmp dizinine kopyalayın.
      3. Yeni düğümde, dosyanın /tmp dizinindeki tarfını kaldırın:
        tar -xzf apigee-4.19.06.tar.gz

        Bu komut, .tar dosyasını içeren dizinde depo adında yeni bir dizin oluşturur. Örneğin, /tmp/repos.

      4. Edge apigee-service yardımcı programını ve /tmp/repos kaynağından bağımlılıkları yükleyin:
        sudo bash /tmp/repos/bootstrap_4.19.06.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

        Depo dizininin yolunu bu komuta eklediğinize dikkat edin.

    3. Nginx web sunucusunu kullanarak Apigee-service yüklemek için:
      1. Nginx web sunucusunu, Install the Edge sınırlama-setup yardımcı programı bölümündeki "Nginx web sunucusunu kullanarak depodan yükleme" bölümünde açıklandığı şekilde yapılandırın.
      2. Uzak düğümde, Edge bootstrap_4.19.06.sh dosyasını /tmp/bootstrap_4.19.06.sh hedefine indirin:
        /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.06.sh
          -o /tmp/bootstrap_4.19.06.sh

        Burada uName ve pWord, yukarıda depo için belirlediğiniz kullanıcı adı ve şifredir. remoteRepo ise depo düğümünün IP adresi veya DNS adıdır.

      3. Uzak düğümde Edge apigee-service yardımcı programını ve bağımlılıkları yükleyin:
        sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        uName ve pWord ise depo kullanıcı adı ve şifresidir.

  10. apigee-setup yardımcı programını güncellemek için apigee-service kullanın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
  11. Postgres düğümünüzde update yardımcı programını çalıştırın:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile

    Burada configFile, Postgres veritabanını yüklemek için kullandığınız yapılandırma dosyasıdır. Yapılandırma dosyasındaki tek şart, yapılandırma dosyasının "Apigee" kullanıcısı tarafından erişilebilir veya okunabilmesidir.

  12. Aşağıdaki komutu çalıştırarak Apigee Drupal Devportal BGBG bağımlılıklarını değil, PHP BGBG'lerini kaldırın:
    rpm -ev --nodeps $(rpm -qa | grep php | awk '{printf "%s ", $1}')

    Bu komut aşağıdaki işlemleri gerçekleştirir:

    • rpm -ev --nodeps, BGBG'leri kaldırır ancak bağımlılıklarını kaldırmaz.
    • rpm -qa, kaldırılacak BGBG'lerin listesini oluşturur.
    • grep php tüm PHP BGBG'leri için arama yapar.
    • awk '{printf "%s ", $1}', BGBG adlarını yazdırır.
  13. Portalı güncellemek için düğümünüzde update yardımcı programını çalıştırın:
    /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile

    Burada configFile, portalı yüklemek için kullandığınız yapılandırma dosyasıdır. Yapılandırma dosyasındaki tek şart, yapılandırma dosyasının "Apigee" kullanıcısı tarafından erişilebilir ve okunabilmesidir.

  14. Aşağıdaki URL'yi bir tarayıcı penceresinde açarak Drupal'ın update.php komut dosyasını çalıştırın:
    http://portal_IP_DNS:8079/update.php
  15. Bakım modunu devre dışı bırakma:
    1. Drupal menüsünde Yapılandırma'yı seçin.
    2. Yapılandırma sayfasında, Geliştirme bölümündeki Bakım modu'nu seçin.
    3. Siteyi bakım moduna geçir kutusunun işaretini kaldırın.
    4. Save configuration'ı (Yapılandırmayı kaydet) seçin.

Güncellemeden sonra kök dizinin şu özelliklere sahip olduğunu unutmayın:

/opt/apigee/apigee-drupal/wwwroot

Yükseltme işlemi tamamlandı. Apigee update yardımcı programı Drupal sürümünüzü düşürdüyse Drupal yükseltme yardımcı programını yeniden çalıştırmanız gerekebilir. Daha fazla bilgi için Drupal yükseltmesini yeniden çalıştırma bölümüne bakın.

Drupal'ı yeni sürüme geçirmeyi yeniden çalıştırma

Edge for Private Cloud'u yükseltmek için Apigee update yardımcı programını çalıştırmak aslında Drupal sürümünüzün eski sürüme geçirilmesine neden oluyorsa Drupal yükseltmesini yeniden yükleyin. Private Cloud güncellemeleri arasında yalnızca Drupal'ı yükselttiyseniz bu durum söz konusu olabilir.

Örneğin:

  1. Drupal 7.59'u içeren Edge for Private Cloud sürümünü 4.18.05 sürümünü kullanıyordunuz.
  2. Gerekli bir güvenlik güncellemesi nedeniyle Drupal'ı 7.64 sürümüne yükselttiniz.
  3. Şu anda Private Cloud'u, Drupal 7.61'i de içeren 4.19.01 sürümüne yükseltiyorsunuz.

Bu örnekte görüldüğü gibi, Apigee update yardımcı programı tarafından kullanılan Drupal sürümü, en son Drupal yükseltmesine referans vermeyebilir. Sonuç olarak, Drupal yüklemenizi sonraki sürüme döndürmek için Drupal yükseltmenizi yeniden çalıştırmanız gerekir.