Edge for Private Cloud v4.18.05
พอร์ทัล Apigee Developer Services เวอร์ชัน 4.18.05 (หรือเรียกสั้นๆ ว่าพอร์ทัล) ไม่อนุญาตให้อัปเดตพอร์ทัลเวอร์ชันที่ใช้ไฟล์ tar ก่อนหน้านี้ คุณสามารถอัปเดตพอร์ทัลเวอร์ชันที่ใช้ RPM เป็น 4.18.05 ได้โดยตรงเท่านั้น
อย่างไรก็ตาม คุณสามารถแปลงพอร์ทัลเวอร์ชันที่ใช้ tar เป็นอินสแตนซ์ของพอร์ทัลที่ใช้ RPM 4.18.05 ได้ ในขั้นตอนนี้ คุณจะย้ายข้อมูล MySQL/MariaDB ของพอร์ทัลที่มีอยู่ไปยังฐานข้อมูล Postgres เมื่อแปลงแล้ว พอร์ทัลจะยังคงเป็นพอร์ทัลที่อิงตาม RPM
คุณสามารถย้ายข้อมูลพอร์ทัลที่ใช้ tar เวอร์ชันก่อนหน้าหลายเวอร์ชันไปยังพอร์ทัลที่ใช้ RPM ได้ ซึ่งรวมถึงเวอร์ชัน 4.16.09 และ 4.17.01 ไม่ใช่แค่เวอร์ชัน 4.17.05 เท่านั้น ข้อกำหนดเพียงอย่างเดียวคือพอร์ทัลต้องใช้ Drupal 7 ขึ้นไป หากต้องการตรวจสอบเวอร์ชันของ Drupal ให้เลือกรายงาน > รายงานสถานะในเมนู Drupal เวอร์ชันของ Drupal จะปรากฏในแถวแรกของเอาต์พุต
ขั้นตอนระดับสูงที่คุณใช้ในการย้ายข้อมูลจากพอร์ทัลที่ใช้ TAR ไปยังพอร์ทัลที่ใช้ RPM มีดังนี้
- ติดตั้งพอร์ทัลเวอร์ชัน 4.18.05 ที่ใช้ RPM ในโหนดใหม่
- สร้างฐานข้อมูล Postgres ใหม่ในพอร์ทัลที่ใช้ RPM
- ย้ายข้อมูลฐานข้อมูลพอร์ทัลจากพอร์ทัลที่ใช้ tar
- คัดลอกไฟล์เสริมทั้งหมดจากพอร์ทัลที่ใช้ tar ไปยังพอร์ทัลที่ใช้ RPM
- อัปเดตรายการ DNS ให้ชี้ไปยังพอร์ทัลที่ใช้ RPM ใหม่
โปรดทราบว่าพอร์ทัลเวอร์ชันที่ใช้ RPM จะใช้พอร์ต 8079 โดยค่าเริ่มต้น ส่วนเวอร์ชันที่ใช้ tar จะใช้พอร์ต 80 ตรวจสอบว่าคุณใช้หมายเลขพอร์ตที่ถูกต้องในรายการ DNS ดูข้อมูลเกี่ยวกับการใช้พอร์ตอื่นได้ที่หัวข้อตั้งค่าพอร์ต HTTP ที่พอร์ทัลใช้
ไดเรกทอรีการติดตั้งเริ่มต้นใหม่หลังจากการแปลง
หลังจากอัปเดตการติดตั้งที่ใช้ Nginx/Postgres แล้ว ไดเรกทอรีรากจะเปลี่ยนจาก
/opt/apigee/apigee-drupal
ถึง:
/opt/apigee/apigee-drupal/wwwroot
ขั้นตอนการแปลงพอร์ทัล
วิธีแปลงพอร์ทัลเป็นการติดตั้งที่ใช้ RPM
- ติดตั้งพอร์ทัลเวอร์ชัน 4.18.05 ที่ใช้ RPM ในโหนดอื่นจากพอร์ทัลที่ใช้ tar
- ในพอร์ทัลที่ใช้ RPM ให้สร้างฐานข้อมูล Postgres ใหม่ จากนั้น คุณจะย้ายข้อมูลฐานข้อมูลจากพอร์ทัลที่ใช้ TAR ไปยังฐานข้อมูลใหม่นี้
- เข้าสู่ระบบ psql โดยทำดังนี้
psql -h localhost -p 5432 -U apigee
ป้อนรหัสผ่าน Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้ PG_PWD ในไฟล์การกำหนดค่าพอร์ทัล
- สร้างฐานข้อมูล Postgres ใหม่โดยทำดังนี้
CREATE DATABASE newportaldb;
- ออกจาก psql:
\q
- เข้าสู่ระบบ psql โดยทำดังนี้
-
ในพอร์ทัลที่ใช้ tar ให้นำโมดูลเก่าที่ไม่ได้ใช้แล้วออก โดยทำดังนี้
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 ให้ติดตั้งและกำหนดค่าโมดูล 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
- เข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบ
- เลือก Modules ในเมนู Drupal
- เปิดใช้โมดูล DBTNG Migrator
- บันทึกการกำหนดค่า
-
- ในพอร์ทัลที่ใช้ TAR ให้แก้ไข
/var/www/html/sites/default/settings.phpเพื่อเพิ่มการกำหนดค่าฐานข้อมูลที่ 2 ซึ่งชี้ไปยังฐานข้อมูลที่สร้างขึ้นใหม่ในพอร์ทัลที่ใช้ RPM การกำหนดค่าฐานข้อมูลปัจจุบันชื่อ "default" ตั้งชื่อการกำหนดค่าใหม่ว่า "custom" ดังตัวอย่างต่อไปนี้$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จะระบุที่อยู่ IP และพอร์ตของเซิร์ฟเวอร์ Postgres Postgres ใช้พอร์ต 5432 สำหรับการเชื่อมต่อ -
ในพอร์ทัลที่ใช้ tar ให้ติดตั้งไดรเวอร์ Postgres โดยทำดังนี้
- ใช้ Yum เพื่อติดตั้งไดรเวอร์ โดยทำดังนี้
yum install php-pdo_pgsql
- แก้ไข
/etc/php.iniเพื่อเพิ่มบรรทัดต่อไปนี้ที่ใดก็ได้ในไฟล์extension=pgsql.so
- รีสตาร์ท Apache:
service httpd restart
- ใช้ Yum เพื่อติดตั้งไดรเวอร์ โดยทำดังนี้
- ในพอร์ทัลที่ใช้ tar ให้ย้ายข้อมูลฐานข้อมูลพอร์ทัลไปยังพอร์ทัลที่ใช้ RPM โดยทำดังนี้
- เข้าสู่ระบบพอร์ทัลในฐานะผู้ดูแลระบบ
- เลือก Structure->Migrator ในเมนู Drupal
- เลือกฐานข้อมูลต้นทางในพอร์ทัลที่ใช้ TAR,
defaultและฐานข้อมูลปลายทางcustomโดยอิงตามไฟล์settings.phpที่แสดงด้านบน - คลิกย้ายข้อมูล ระบบจะย้ายข้อมูลฐานข้อมูลที่ใช้ tar ไปยังฐานข้อมูลที่ใช้ RPM
- คัดลอกไดเรกทอรี
sitesจากเซิร์ฟเวอร์ที่ใช้ TAR ไปยังเซิร์ฟเวอร์ที่ใช้ RPM เส้นทางที่แสดงในขั้นตอนต่อไปนี้อิงตามเส้นทางเริ่มต้น แก้ไขตามที่จำเป็นสำหรับการติดตั้ง- ในพอร์ทัลที่ใช้ tar ให้รวมไดเรกทอรี
/var/www/html/sitesดังนี้cd /var/www/html/sites
tar -cvzf /tmp/sites.tar.gz . - คัดลอก
/tmp/sites.tar.gzไปยัง/opt/apigee/apigee-drupal/wwwroot/sitesในเซิร์ฟเวอร์ที่ใช้ RPM - แยกไดเรกทอรีเว็บไซต์ แต่ไม่เขียนทับไฟล์สำคัญ
- สำรองข้อมูลไฟล์
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
- แตกไฟล์และ Untar ไดเรกทอรี
sitesจากเซิร์ฟเวอร์ที่ใช้ Tar โดยทำดังนี้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/privatechown -R apigee:apigee /opt/apigee/data/apigee-sap-drupal-devportal/private
- สำรองข้อมูลไฟล์
- ในพอร์ทัลที่ใช้ tar ให้รวมไดเรกทอรี
- ในพอร์ทัลที่ใช้ tar เฉพาะในกรณีที่คุณเปลี่ยนเส้นทางไปยังไดเรกทอรีรากของเว็บในพอร์ทัลที่ใช้ tar จากเส้นทางเริ่มต้นของ /var/www/html ให้เรียกใช้
drush statusและดูเส้นทางfilesและเส้นทางprivate filesดังนี้cd /var/www/html
drush statusหากไฟล์/ไฟล์ส่วนตัวไม่ได้อยู่ในไดเรกทอรี
sitesให้คัดลอกไฟล์เหล่านั้นไปยังเซิร์ฟเวอร์ที่ใช้ RPM ตามที่แสดงด้านบน - ในพอร์ทัลที่ใช้ 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เป็นไปตามที่กำหนดไว้สำหรับฐานข้อมูลที่กำหนดเองในพอร์ทัลที่ใช้ tar และprefixจะว่างเปล่า - ในพอร์ทัลที่ใช้ RPM เวอร์ชันที่ใช้ RPM ของพอร์ทัลจะมีโมดูล Drupal น้อยกว่าเวอร์ชันที่ใช้ tar หลังจากย้ายข้อมูลไปยังพอร์ทัลที่ใช้ RPM แล้ว คุณต้องตรวจสอบโมดูลที่ขาดหายไปและติดตั้งตามความจำเป็น
- ติดตั้ง Drupal
missing_moduleที่ใช้ตรวจหาโมดูลที่ขาดหายไป โดยทำดังนี้cd /opt/apigee/apigee-drupal/wwwroot
drush dl missing_moduledrush 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 ในฐานะผู้ดูแลระบบ
- ในเบราว์เซอร์ ให้ไปที่ URL ต่อไปนี้
http://portal_IP_or_DNS:8079/update.php
โดยที่ portal_IP_or_DNS คือที่อยู่ IP หรือชื่อโดเมนของพอร์ทัลที่ใช้ RPM
- ทำตามข้อความที่ปรากฏบนหน้าจอ
- อัปเดตรายการ DNS ให้ชี้ไปยังพอร์ทัลที่ใช้ RPM ใหม่
โปรดทราบว่าพอร์ทัลเวอร์ชันที่ใช้ RPM จะใช้พอร์ต 8079 โดยค่าเริ่มต้น ส่วนเวอร์ชันที่ใช้ tar จะใช้พอร์ต 80 ตรวจสอบว่าคุณใช้หมายเลขพอร์ตที่ถูกต้องในรายการ DNS ดูข้อมูลเกี่ยวกับการใช้พอร์ตอื่นได้ที่หัวข้อตั้งค่าพอร์ต HTTP ที่พอร์ทัลใช้
การแปลงเสร็จสมบูรณ์แล้ว