Edge for Private Cloud v4.18.05
Apigee Developer Services पोर्टल (या सिर्फ़ पोर्टल) के 4.18.05 रिलीज़ में, पोर्टल के टैर पर आधारित पिछले वर्शन को अपडेट नहीं किया जा सकता. पोर्टल के RPM-आधारित वर्शन को सीधे तौर पर 4.18.05 पर अपडेट किया जा सकता है.
हालांकि, पोर्टल के टैर-आधारित वर्शन को पोर्टल के 4.18.05 RPM-आधारित इंस्टेंस में बदला जा सकता है. इस प्रोसेस के तहत, मौजूदा पोर्टल के MySQL/MariaDB को Postgres डेटाबेस पर माइग्रेट किया जाता है. पोर्टल को RPM पर आधारित पोर्टल में बदलने के बाद, वह RPM पर आधारित पोर्टल ही बना रहता है.
टैर पर आधारित पोर्टल के कई पुराने वर्शन को RPM पर आधारित पोर्टल पर माइग्रेट किया जा सकता है. इसमें सिर्फ़ 4.17.05 वर्शन ही नहीं, बल्कि 4.16.09 और 4.17.01 वर्शन भी शामिल हैं. इसके लिए ज़रूरी है कि पोर्टल पर Drupal 7 या उसके बाद का वर्शन इस्तेमाल किया जा रहा हो. Drupal का वर्शन देखने के लिए, Drupal मेन्यू में रिपोर्ट > स्टेटस रिपोर्ट चुनें. Drupal का वर्शन, आउटपुट की पहली पंक्ति में दिखता है.
टैर पर आधारित पोर्टल से RPM पर आधारित पोर्टल पर माइग्रेट करने के लिए, ये मुख्य चरण अपनाएं:
- नए नोड पर, पोर्टल का RPM-based 4.18.05 वर्शन इंस्टॉल करें.
- RPM पर आधारित पोर्टल पर नया Postgres डेटाबेस बनाएं.
- पोर्टल डेटाबेस को tar-based पोर्टल से माइग्रेट करें.
- सभी ऐक्सेसरी फ़ाइल को tar-based पोर्टल से RPM-based पोर्टल पर कॉपी करें.
- RPM पर आधारित नए पोर्टल पर ले जाने के लिए, डीएनएस एंट्री अपडेट करें.
ध्यान दें कि पोर्टल के RPM-आधारित वर्शन में, डिफ़ॉल्ट रूप से पोर्ट 8079 का इस्तेमाल किया जाता है. वहीं, टैर-आधारित वर्शन में पोर्ट 80 का इस्तेमाल किया जाता है. पक्का करें कि आपने डीएनएस एंट्री में सही पोर्ट नंबर का इस्तेमाल किया हो. किसी दूसरे पोर्ट का इस्तेमाल करने के बारे में जानकारी पाने के लिए, पोर्टल के लिए इस्तेमाल किया जाने वाला एचटीटीपी पोर्ट सेट करना देखें.
कन्वर्ज़न के बाद, इंस्टॉल की नई डिफ़ॉल्ट डायरेक्ट्री
Nginx/Postgres का इस्तेमाल करने वाले इंस्टॉलेशन को अपडेट करने के बाद, रूट डायरेक्ट्री इनसे बदल गई:
/opt/apigee/apigee-drupal
इससे बदलें:
/opt/apigee/apigee-drupal/wwwroot
पोर्टल को कन्वर्ज़न में बदलने की प्रोसेस
पोर्टल को RPM-आधारित इंस्टॉलेशन में बदलने के लिए:
- पोर्टल के RPM-आधारित 4.18.05 वर्शन को, टैर-आधारित पोर्टल से अलग नोड पर इंस्टॉल करें.
- आरपीएम पर आधारित पोर्टल पर, नया Postgres डेटाबेस बनाएं. बाद में, डेटाबेस को टैर पर आधारित पोर्टल से इस नए डेटाबेस पर माइग्रेट किया जाता है:
- psql में लॉग इन करें:
psql -h localhost -p 5432 -U apigee
पोर्टल की कॉन्फ़िगरेशन फ़ाइल में PG_PWD प्रॉपर्टी के तौर पर बताए गए Postgres पासवर्ड को डालें.
- नया Postgred डेटाबेस बनाएं:
CREATE DATABASE newportaldb;
- psql से बाहर निकलने के लिए:
\q
- psql में लॉग इन करें:
-
tar-based पोर्टल पर, ऐसे पुराने मॉड्यूल हटाएं जिनका अब इस्तेमाल नहीं किया जाता:
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';"
- tar-based पोर्टल पर, Migrator Drupal मॉड्यूल इंस्टॉल और कॉन्फ़िगर करें:
-
cd /tmp
-
wget https://ftp.drupal.org/files/projects/dbtng_migrator-7.x-1.4.tar.gz
-
gunzip /tmp/dbtng_migrator-7.x-1.4.tar.gz
-
tar -xvf /tmp/dbtng_migrator-7.x-1.4.tar --directory /var/www/html/sites/all/modules
- एडमिन के तौर पर पोर्टल में लॉग इन करें.
- Drupal मेन्यू में मॉड्यूल चुनें.
- DBTNG माइग्रेटर मॉड्यूल चालू करें.
- कॉन्फ़िगरेशन सेव करें.
-
- tar-based पोर्टल पर,
/var/www/html/sites/default/settings.php
में बदलाव करें RPM-based पोर्टल पर बनाए गए नए डेटाबेस पर ले जाने वाला दूसरा डेटाबेस कॉन्फ़िगरेशन जोड़ने के लिए. मौजूदा डेटाबेस कॉन्फ़िगरेशन का नाम "डिफ़ॉल्ट" है. अपने नए कॉन्फ़िगरेशन को "कस्टम" नाम दें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:$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' => '', ) ) );
यहां
host
औरport
, Postgres सर्वर के आईपी पते और पोर्ट की जानकारी देते हैं. Postgres, कनेक्शन के लिए पोर्ट 5432 का इस्तेमाल करता है. -
tar-based पोर्टल पर, Postgres ड्राइवर इंस्टॉल करें:
- ड्राइवर इंस्टॉल करने के लिए, Yum का इस्तेमाल करें:
yum install php-pdo_pgsql
- फ़ाइल में कहीं भी यह लाइन जोड़ने के लिए,
/etc/php.ini
में बदलाव करें:extension=pgsql.so
- Apache को रीस्टार्ट करें:
service httpd restart
- ड्राइवर इंस्टॉल करने के लिए, Yum का इस्तेमाल करें:
- tar-based पोर्टल पर, पोर्टल के डेटाबेस को RPM-based पोर्टल पर माइग्रेट करें:
- एडमिन के तौर पर पोर्टल में लॉग इन करें.
- Drupal मेन्यू में, स्ट्रक्चर->माइग्रेटर चुनें.
- ऊपर दिखाई गई
settings.php
फ़ाइल के आधार पर, टैर पर आधारित पोर्टलdefault
पर अपना ऑरिजिन डेटाबेस और डेस्टिनेशन डेटाबेसcustom
चुनें. - माइग्रेट करें पर क्लिक करें. टैर पर आधारित डेटाबेस को RPM पर आधारित डेटाबेस में माइग्रेट किया जाता है.
sites
डायरेक्ट्री को टैर-आधारित सर्वर से आरपीएम-आधारित सर्वर पर कॉपी करें. यहां दिए गए चरणों में दिखाए गए पाथ, डिफ़ॉल्ट पाथ पर आधारित हैं. अपने इंस्टॉलेशन के लिए, ज़रूरत के मुताबिक उनमें बदलाव करें.- टैर पर आधारित पोर्टल पर,
/var/www/html/sites
डायरेक्ट्री को बंडल करें:cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz .
- RPM-आधारित सर्वर पर,
/tmp/sites.tar.gz
को/opt/apigee/apigee-drupal/wwwroot/sites
पर कॉपी करें. - साइटों की डायरेक्ट्री को अनबंड करें, लेकिन ज़रूरी फ़ाइलों को ओवरराइट न करें.
settings.php
फ़ाइल का बैक अप लें:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php
- मौजूदा
files
डायरेक्ट्री का बैक अप लें:sudo mv /opt/apigee/apigee-drupal/wwwroot/sites/default/files /opt/apigee/apigee-drupal/wwwroot/sites/default/files_old
- मौजूदा
sites
डायरेक्ट्री का बैक अप लें:tar -cvzf /tmp/sites_old.tar.gz /opt/apigee/apigee-drupal/wwwroot/sites
- tar-आधारित सर्वर से
sites
डायरेक्ट्री को अनज़िप और अनटैर करें:gunzip /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar.gz
tar -xvf /opt/apigee/apigee-drupal/wwwroot/sites/sites.tar
- पक्का करें कि कॉपी की गई फ़ाइलों का मालिकाना हक आपके पास हो:
chown -R apigee:apigee /opt/apigee/apigee-drupal/wwwroot/sites/
settings.php
फ़ाइल को वापस लाएं:sudo cp /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.bak.php /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
- निजी फ़ाइलों को नई जगह पर ले जाएं:
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
- टैर पर आधारित पोर्टल पर,
- tar-based पोर्टल पर, सिर्फ़ तब जब आपने /var/www/html के डिफ़ॉल्ट पाथ से, tar-based पोर्टल पर वेब रूट डायरेक्ट्री का पाथ बदला हो:
drush status
चलाएं औरfiles
पाथ औरprivate files
पाथ देखें:cd /var/www/html
drush status
अगर फ़ाइलें/निजी फ़ाइलें
sites
डायरेक्ट्री में नहीं हैं, तो उन्हें ऊपर दिखाए गए तरीके से, RPM पर आधारित सर्वर पर कॉपी करें. - आरपीएम पर आधारित पोर्टल पर, डिफ़ॉल्ट डेटाबेस की प्रॉपर्टी सेट करने के लिए,
/opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
को अपडेट करें:vi /opt/apigee/apigee-drupal/wwwroot/sites/default/settings.php
settings.php में डेटाबेस की डिफ़ॉल्ट जानकारी सेट करें:
$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'newportaldb', 'username' => 'apigee', 'password' => 'postgres', 'host' => 'localhost', 'port' => '5432', 'driver' => 'pgsql', 'prefix' => '', ) ) );
यहां
database
आपके बनाए गए नए डेटाबेस के बारे में बताता है,username
औरpassword
, टैर पर आधारित पोर्टल पर कस्टम डेटाबेस के लिए तय किए गए हैं, औरprefix
खाली है. - RPM पर आधारित पोर्टल पर, पोर्टल के RPM पर आधारित वर्शन में, टैर पर आधारित वर्शन की तुलना में कम
Drupal मॉड्यूल होते हैं. RPM पर आधारित पोर्टल पर माइग्रेट करने के बाद, आपको यह देखना होगा कि कोई मॉड्यूल मौजूद है या नहीं. अगर कोई मॉड्यूल मौजूद नहीं है, तो उसे ज़रूरत के हिसाब से इंस्टॉल करें.
- Drupal
missing_module
इंस्टॉल करें. इसका इस्तेमाल, मौजूद नहीं मॉड्यूल का पता लगाने के लिए किया जाता है:cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_module
drush en missing_module
- RPM पर आधारित पोर्टल में एडमिन के तौर पर लॉग इन करें.
- Drupal मेन्यू में, रिपोर्ट > स्थिति रिपोर्ट चुनें और देखें कि कोई मॉड्यूल तो मौजूद नहीं है.
- किसी भी मौजूदा मॉड्यूल को इंस्टॉल करने के लिए, उस रिपोर्ट का इस्तेमाल करें या इन निर्देशों का इस्तेमाल करें:
cd /opt/apigee/apigee-drupal/wwwroot
drush dl <moduleA> <moduleB> ...
drush en <moduleA> <moduleB> ...
- सभी मॉड्यूल चालू करने के बाद, पक्का करें कि फ़ाइलों का मालिकाना हक apigee उपयोगकर्ता के पास हो:
chown -LR apigee:apigee /opt/apigee/apigee-drupal/wwwroot
फ़ाइल की अनुमतियों के बारे में ज़्यादा जानने के लिए, https://www.drupal.org/node/244924 पर जाएं.
- Drupal
- RPM पर आधारित पोर्टल पर, ब्राउज़र में update.php चलाएं, ताकि मौजूद न होने वाले मॉड्यूल से जुड़ी गड़बड़ियां ठीक की जा सकें:
- RPM पर आधारित पोर्टल में एडमिन के तौर पर लॉग इन करें.
- ब्राउज़र में, इस यूआरएल पर जाएं:
http://portal_IP_or_DNS:8079/update.php
यहां portal_IP_or_DNS, RPM पर आधारित पोर्टल का आईपी पता या डोमेन नेम है.
- स्क्रीन पर दिए गए निर्देशों का पालन करें.
- आरपीएम पर आधारित अपने नए पोर्टल पर ले जाने के लिए, डीएनएस एंट्री अपडेट करें.
ध्यान दें कि पोर्टल के RPM-आधारित वर्शन में, डिफ़ॉल्ट रूप से पोर्ट 8079 का इस्तेमाल किया जाता है. वहीं, टैर-आधारित वर्शन में पोर्ट 80 का इस्तेमाल किया जाता है. पक्का करें कि आपने डीएनएस एंट्री में सही पोर्ट नंबर का इस्तेमाल किया हो. किसी दूसरे पोर्ट का इस्तेमाल करने के बारे में जानकारी पाने के लिए, पोर्टल के लिए इस्तेमाल किया जाने वाला एचटीटीपी पोर्ट सेट करना देखें.
कन्वर्ज़न पूरा हो गया.