Edge for Private Cloud v4.19.01
ขั้นตอนนี้อธิบายถึงวิธีอัปเกรดพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ Apigee ที่มีอยู่ (หรือเรียกง่ายๆ ว่าพอร์ทัล) จากการติดตั้งภายในองค์กร
ระบุขั้นตอนการอัปเดตที่ถูกต้อง
ขั้นตอนที่คุณใช้เพื่ออัปเดตพอร์ทัลจะขึ้นอยู่กับการติดตั้งปัจจุบันของคุณ ดังนี้
- หากการติดตั้งใช้ Nginx/Postgres ให้ใช้การอัปเกรดพอร์ทัลโดยใช้ RPM ด้านล่าง
- หากการติดตั้งใช้ Apache/MySQL หรือ Apache/MariaDB โปรดดูแปลงพอร์ทัลที่ใช้ tar เป็นพอร์ทัลที่ใช้ RPM
ระบุประเภทการติดตั้งปัจจุบัน
หากไม่แน่ใจเกี่ยวกับประเภทการติดตั้งปัจจุบัน ให้ใช้คำสั่งต่อไปนี้ในการระบุประเภทการติดตั้งดังกล่าว
ls /opt
หากคุณใช้ Nginx/Postgres คุณจะเห็นไดเรกทอรีต่อไปนี้
/opt/apigee
และ/opt/nginx
หากคุณใช้ Apache/MySQL หรือ Apache/MariaDB ไม่ควรมีไดเรกทอรีเหล่านี้
/opt/apigee/apigee-service/bin/apigee-all status
หากคุณใช้ Nginx/Postgres คุณจะเห็นเอาต์พุตต่อไปนี้
+ 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 หรือ Apache/MariaDB คำสั่งนี้จะแสดงไดเรกทอรีรูทของเว็บพอร์ทัลในรูปแบบต่อไปนี้
*:80 192.168.56.102 (/etc/httpd/conf/vhosts/devportal.conf:1)
ไดเรกทอรีการติดตั้งเริ่มต้น
กระบวนการอัปเกรดมีสมมติฐานว่าพอร์ทัลได้รับการติดตั้งที่:
- 4.17.05 ขึ้นไป:
/opt/apigee/apigee-drupal/wwwroot
- ก่อน 4.17.05:
/opt/apigee/apigee-drupal
(Nginx) หรือ/var/www/html
(Apache)
หากคุณไม่ได้ติดตั้งพอร์ทัลในไดเรกทอรีเริ่มต้น ให้แก้ไขเส้นทางในกระบวนการด้านล่างเพื่อใช้ไดเรกทอรีการติดตั้ง
เวอร์ชันการอัปเกรดที่รองรับ
กระบวนการอัปเกรดนี้มีการสนับสนุนสำหรับพอร์ทัลเวอร์ชันต่อไปนี้
- OPDK-17-01.x
- OPDK-17-05.x
- OPDK-17-09.x
- OPDK-18-01.x
- OPDK-18-05.x
หากต้องการดูเวอร์ชันของพอร์ทัล ให้เปิด URL ต่อไปนี้ในเบราว์เซอร์
http://yourportal.com/buildInfo
ก่อนอัปเดต
สำหรับการติดตั้งที่มีอยู่ หากคุณแก้ไขโค้ดใน Drupal Core หรือในโมดูลที่ไม่ใช่แบบกำหนดเอง ระบบจะเขียนทับการแก้ไขของคุณ ซึ่งรวมถึงการเปลี่ยนแปลงใดๆ ที่คุณอาจทำกับ .htaccess
คุณควรสมมติว่า Drupal เป็นเจ้าของทุกสิ่งที่อยู่นอกไดเรกทอรี /sites
robots.txt
จะเป็นข้อยกเว้นของกฎนี้ หากไฟล์นี้อยู่ในรูทของเว็บ ระบบจะเก็บไฟล์ไว้ให้คุณ
ก่อนดำเนินการติดตั้ง ให้สำรองข้อมูลไดเรกทอรีรูทของเว็บ Drupal ทั้งหมด หลังจากทำตามขั้นตอนการติดตั้งที่อธิบายไว้ด้านล่างแล้ว คุณจะคืนค่าการปรับแต่งจากข้อมูลสำรองได้
อัปเกรดพอร์ทัลโดยใช้ RPM
วิธีอัปเดต RPM ของพอร์ทัลในโหนด
- การเปลี่ยนแปลงในไดเรกทอรี Drupal
/opt/apigee/apigee-drupal
โดยค่าเริ่มต้นมีดังนี้cd /opt/apigee/apigee-drupal
- สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal คำสั่ง
pg_dump
สร้างสำเนาของฐานข้อมูล:pg_dump --dbname=devportal --host=host_IP_address --username=drupaladmin --password --format=c > /tmp/portal.dmp
สถานที่:
- devportal คือชื่อฐานข้อมูลที่ระบุโดยพร็อพเพอร์ตี้
PG_NAME
ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัล - host_IP_address คือที่อยู่ IP ของโหนดพอร์ทัล
- drupaladmin คือชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้เข้าถึงฐานข้อมูลตามที่ระบุโดยพร็อพเพอร์ตี้
DRUPAL_PG_USER
ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัล
ระบบจะแจ้งให้คุณระบุรหัสผ่านผู้ใช้ Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้
DRUPAL_PG_PASS
ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัลหากต้องการกู้คืนจากข้อมูลสํารองในภายหลัง ให้ใช้คําสั่งต่อไปนี้
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp
- devportal คือชื่อฐานข้อมูลที่ระบุโดยพร็อพเพอร์ตี้
- สำรองข้อมูลไดเรกทอรีรูทของเว็บ Drupal ทั้งหมด ตำแหน่งการติดตั้งเริ่มต้นคือ
/opt/apigee/apigee-drupal
แต่คุณอาจเปลี่ยนตำแหน่งแล้วหากไม่แน่ใจเกี่ยวกับตำแหน่งของไดเรกทอรีนี้ ให้ใช้คำสั่ง
drush status
หรือรายการการกําหนดค่า > สื่อ > ไฟล์ในเมนู Drupal เพื่อระบุตําแหน่งของระบบไฟล์สาธารณะและเส้นทางระบบไฟล์ส่วนตัว (สําหรับขั้นตอนถัดไป) - สำรองข้อมูลไฟล์ใน
/opt/apigee/data/apigee-drupal-devportal/private
- ตั้งค่า Drupal เป็นโหมดการบำรุงรักษา โดยทำดังนี้
- เลือกการกําหนดค่าในเมนู Drupal
- ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาในส่วนการพัฒนา
- เลือกช่องทำให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
- ป้อนข้อความที่ผู้ใช้เห็นระหว่างการบำรุงรักษา
- เลือกบันทึกการกำหนดค่า
- ปิดใช้ SELinux ตามที่อธิบายไว้ในหัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
- การเปลี่ยนแปลงในไดเรกทอรี
/opt
cd /opt
- สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- ดาวน์โหลดไฟล์
bootstrap_4.19.01.sh
ของ Edge 4.19.01 ไปยัง/tmp/bootstrap_4.19.01.sh
curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- ติดตั้งยูทิลิตีและ Dependency ของ Edge 4.19.01
apigee-service
:sudo bash /tmp/bootstrap_4.19.01.sh apigeeuser=uName apigeepassword=pWord
โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับจาก Apigee หากไม่ใส่ pWord ระบบจะแจ้งให้คุณป้อน
โดยค่าเริ่มต้น โปรแกรมติดตั้งจะตรวจสอบว่าคุณติดตั้ง Java 1.8 แล้ว คุณสามารถใช้ตัวเลือก "C" เพื่อดำเนินการต่อโดยไม่ต้องติดตั้ง Java
- ดาวน์โหลดไฟล์
- สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- สร้างที่เก็บ 4.19.01 ในพื้นที่ตามที่อธิบายไว้ในสร้างที่เก็บ Apigee ในพื้นที่
- วิธีติดตั้ง apigee-service จากไฟล์ .tar
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวที่ชื่อ
/opt/apigee/data/apigee-mirror/apigee-4.19.01.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- คัดลอกไฟล์ .tar ไปยังโหนดที่ต้องการอัปเดต Edge เช่น คัดลอกไฟล์ไปยังไดเรกทอรี
/tmp
ในโหนดใหม่ - ในโหนดใหม่ ให้แตกไฟล์ไปยังไดเรกทอรี /tmp โดยทำดังนี้
tar -xzf apigee-4.19.01.tar.gz
คำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ repos ในไดเรกทอรีที่มีไฟล์ .tar เช่น /tmp/repos
- ติดตั้งยูทิลิตี
apigee-service
ของ Edge และไลบรารีที่เกี่ยวข้องจาก/tmp/repos
ดังนี้sudo bash /tmp/repos/bootstrap_4.19.01.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
โปรดทราบว่าคุณใส่เส้นทางไปยังไดเรกทอรี repos ในคำสั่งนี้
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวที่ชื่อ
- วิธีติดตั้ง apigee-service โดยใช้เว็บเซิร์ฟเวอร์ Nginx
- กำหนดค่าเว็บเซิร์ฟเวอร์ Nginx ตามที่อธิบายไว้ใน "ติดตั้งจากรีโปโดยใช้เว็บเซิร์ฟเวอร์ Nginx" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
- ในโหนดระยะไกล ให้ดาวน์โหลดไฟล์
bootstrap_4.19.01.sh
ของ Edge ไปยัง/tmp/bootstrap_4.19.01.sh
ดังนี้/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณตั้งค่าไว้ด้านบนสำหรับที่เก็บ และ remoteRepo คือที่อยู่ IP หรือชื่อ DNS ของโหนดที่เก็บ
- ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี
apigee-service
ของ Edge และข้อกำหนดต่อไปนี้sudo bash /tmp/bootstrap_4.19.01.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านของรีโป
- ใช้
apigee-service
เพื่ออัปเดตยูทิลิตีapigee-setup
โดยทำดังนี้/opt/apigee/apigee-service/bin/apigee-service apigee-setup update
- เรียกใช้ยูทิลิตีการอัปเดตในโหนด Postgres ดังนี้
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
โดยที่ configFile คือไฟล์กําหนดค่าที่คุณใช้ติดตั้งฐานข้อมูล Postgres ข้อกำหนดเพียงอย่างเดียวในไฟล์การกำหนดค่าคือ ผู้ใช้ "apigee" ต้องเข้าถึงหรืออ่านได้
- เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล โดยทำดังนี้
/opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
โดยที่ configFile คือไฟล์การกำหนดค่าที่คุณใช้ติดตั้งพอร์ทัล ข้อกำหนดเพียงอย่างเดียวในไฟล์การกำหนดค่าคือ ผู้ใช้ "apigee" ต้องเข้าถึงหรืออ่านได้
- เรียกใช้สคริปต์
update.php
ของ Drupal โดยเปิด URL ต่อไปนี้ในหน้าต่างเบราว์เซอร์http://portal_IP_DNS:8079/update.php
- ปิดใช้โหมดการบำรุงรักษาโดยทำดังนี้
- เลือกการกําหนดค่าในเมนู Drupal
- ในหน้าการกําหนดค่า ให้เลือกโหมดการบํารุงรักษาในส่วนการพัฒนา
- ยกเลิกการเลือกช่องทำให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
- เลือกบันทึกการกำหนดค่า
โปรดทราบว่าไดเรกทอรีรูทหลังจากการอัปเดตจะเป็นดังนี้
/opt/apigee/apigee-drupal/wwwroot
การอัปเกรดเสร็จสมบูรณ์แล้ว หากยูทิลิตีการอัปเดต Apigee ดาวน์เกรด Drupal ของคุณ คุณอาจต้องเรียกใช้ยูทิลิตีการอัปเดต Drupal อีกครั้ง ดูข้อมูลเพิ่มเติมได้ที่ เรียกใช้การอัปเกรด Drupal อีกครั้ง
เรียกใช้การอัปเกรด Drupal อีกครั้ง
หากการใช้ยูทิลิตีการอัปเดต Apigee เพื่ออัปเกรด Edge สำหรับ Private Cloud ส่งผลให้มีการดาวน์เกรดเวอร์ชัน Drupal ให้ติดตั้งการอัปเกรด Drupal อีกครั้ง กรณีนี้อาจเกิดขึ้นเมื่อคุณอัปเกรดเฉพาะ Drupal ในระหว่างการอัปเดต Private Cloud
เช่น
- คุณใช้ Edge สำหรับ Private Cloud เวอร์ชัน 4.18.05 ซึ่งมี Drupal 7.59
- คุณได้อัปเกรด Drupal เป็น 7.64 เนื่องจากการอัปเดตความปลอดภัยที่จำเป็น
- คุณกำลังอัปเกรด Private Cloud เป็น 4.19.01 ซึ่งมี Drupal 7.61 อยู่
ดังที่กรณีนี้แสดงให้เห็นว่าเวอร์ชัน Drupal ที่ยูทิลิตีการอัปเดต Apigee ใช้อาจไม่ได้อ้างอิงถึงการอัปเกรด Drupal ล่าสุด คุณจึงต้องเรียกใช้การอัปเกรด Drupal อีกครั้งเพื่อเปลี่ยนการติดตั้ง Drupal กลับไปเป็นเวอร์ชันที่ใหม่กว่า