Portalı yükseltme

Bu prosedürde, mevcut bir Apigee Developer Services portalının (veya kısaca portalın) şirket içi kurulumunun nasıl yükseltileceği açıklanmaktadır.

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

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

Mevcut kurulum türünüzü belirleme

Mevcut yükleme türünüzü bilmiyorsanız belirlemek için aşağıdaki komutu kullanın:

  • ls /opt

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

    Apache/MySQL veya Apache/MariaDB kullanıyorsanız bu dizinler bulunmamalı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ürür:

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

Varsayılan yükleme dizini

Yükseltme işleminde, portalın şu konuma yüklendiği varsayılır:

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

Portalı varsayılan dizine yüklemediyseniz aşağıdaki prosedürdeki yolları, yükleme dizininizi kullanacak şekilde değiştirin.

Desteklenen yükseltme sürümleri

Bu yükseltme işlemi, OPDK-17-01.x ve sonraki portal sürümlerinde desteklenir.

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

http://yourportal.com/buildInfo

Güncellemeden önce

Mevcut kurulumlarda, Drupal Core'da veya özel olmayan modüllerde herhangi bir kodu değiştirdiyseniz yaptığınız değişikliklerin üzerine yazılır. Buna, .htaccess'te yapmış olabileceğiniz değişiklikler de dahildir. /sites dizini dışındaki her şeyin Drupal'a ait olduğunu varsaymanız gerekir. Bu kuralın istisnası robots.txt dosyasıdır. Bu dosya web kökünde varsa sizin için korunur.

Yüklemeye devam etmeden önce Drupal web kök dizininizin tamamını yedekleyin. Aşağıda açıklanan yükleme adımlarını uyguladıktan sonra özelleştirmelerinizi yedekten geri yükleyebilirsiniz.

BGBG'leri kullanarak portalı yeni sürüme geçirme

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

  1. Varsayılan olarak /opt/apigee/apigee-drupal olan Drupal dizine 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ında PG_NAME özelliği tarafından belirtilen veritabanı adıdır.
    • host_IP_address, portal düğümünün IP adresidir.
    • drupaladmin, portal kurulumu yapılandırma dosyasında DRUPAL_PG_USER mülkü tarafından belirtilen şekilde, portala erişmek için portal tarafından kullanılan Postgres kullanıcı adıdır.

    Portal kurulum yapılandırma dosyasında DRUPAL_PG_PASS mülkü tarafından tanımlandığı şekliyle Postgres kullanıcı şifresi 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 yeri /opt/apigee/apigee-drupal'tür ancak bunu değiştirmiş olabilirsiniz.

    Bu dizinin konumundan emin değilseniz herkese açık dosya sisteminin ve gizli dosya sistemi yolunun (sonraki adım için) konumunu 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 içindeki dosyaların yedeğini alın.
  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ünde Bakım modu'nu seçin.
    3. Siteyi bakım moduna al kutusunu işaretleyin.
    4. Kullanıcıların bakım sırasında göreceği bir mesaj girin.
    5. Yapılandırmayı kaydet'i seçin.
  6. Edge apigee-setup yardımcı programını yükleme bölümünde açıklandığı şekilde SELinux'u devre dışı bırakın.
  7. /opt dizinine geçin:
    cd /opt
  8. İnternet bağlantısı olan bir sunucuda yükseltme yapmak için:
    1. Edge 4.19.06 bootstrap_4.19.06.sh dosyasını /tmp/bootstrap_4.19.06.sh'e 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 öğesini atlarsanız bunu girmeniz istenir.

      Yükleyici, varsayılan olarak 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 yapmak için:
    1. Yerel bir Apigee deposu oluşturma bölümünde açıklandığı şekilde yerel bir 4.19.06 deposu oluşturun.
    2. Apigee-service'yi .tar dosyasından yüklemek için:
      1. Yerel deposunun bulunduğu düğümde, yerel deposu /opt/apigee/data/apigee-mirror/apigee-4.19.06.tar.gz adlı tek bir .tar dosyasına 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, dosyayı /tmp dizininde aç:
        tar -xzf apigee-4.19.06.tar.gz

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

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

        Bu komuta repos dizininin yolunu eklediğinizi unutmayın.

    3. Nginx web sunucusunu kullanarak apigee-service'i yüklemek için:
      1. Nginx web sunucusunu, Edge Apigee-setup yardımcı programını yükleme başlıklı makaledeki "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'e 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üğüme Edge apigee-service yardımcı programını ve bağımlılıklarını yükleyin:
        sudo bash /tmp/bootstrap_4.19.06.sh apigeerepohost=remoteRepo:3939
          apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

        Burada uName ve pWord, deponun 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ıyla ilgili tek şart, yapılandırma dosyasının "apigee" kullanıcısı tarafından erişilebilir veya okunabilir olmasıdır.

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

    Bu komut şunları yapar:

    • rpm -ev --nodeps, BGBG'leri kaldırır ancak bağımlılıklarını kaldırmaz.
    • rpm -qa, kaldırılacak RPM'lerin listesini oluşturur.
    • grep php, tüm PHP BGBG'lerini arar.
    • awk '{printf "%s ", $1}', RPM 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 veya okunabilir olması gerektiğidir.

  14. Aşağıdaki URL'yi 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ünde Bakım modu'nu seçin.
    3. Siteyi bakım moduna al kutusunun seçimini kaldırın.
    4. Yapılandırmayı kaydet'i seçin.

Güncellemeden sonraki kök dizinin şu özelliklere sahip olduğuna dikkat edin:

/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ünü inceleyin.

Drupal yükseltme işlemini yeniden çalıştırma

Private Cloud için Edge'i yükseltmek amacıyla Apigee update yardımcı programını çalıştırdığınızda Drupal sürümünüz geri düşürülürse Drupal yükseltme işlemini yeniden yükleyin. Private Cloud güncellemeleri arasında yalnızca Drupal'ı yükselttiyseniz bu durum geçerli olabilir.

Örneğin:

  1. Private Cloud için Edge'in Drupal 7.59'u içeren 4.18.05 sürümünü çalıştırıyordunuz.
  2. Zorunlu bir güvenlik güncellemesi nedeniyle Drupal'ı 7.64'e yükselttiniz.
  3. Özel Bulut'u Drupal 7.61'i içeren 4.19.01 sürümüne yükseltiyorsunuz.

Bu örnekte de görebileceğiniz gibi, Apigee update yardımcı programı tarafından kullanılan Drupal sürümü en son Drupal yükseltmesine atıfta bulunmayabilir. Bu nedenle, Drupal kurulumunuzu daha yeni bir sürüme döndürmek için Drupal yükseltme işleminizi yeniden yapmanız gerekir.