Edge for Private Cloud v4.18.05
ขั้นตอนนี้อธิบายถึงวิธีอัปเกรดพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ 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
หากต้องการทราบเวอร์ชันของพอร์ทัล ให้เปิด URL ต่อไปนี้ในเบราว์เซอร์
http://yourportal.com/buildInfo
ก่อนอัปเดต
สำหรับการติดตั้งที่มีอยู่ หากคุณแก้ไขโค้ดใน Drupal Core หรือในโมดูลที่ไม่ใช่แบบกำหนดเอง ระบบจะเขียนทับการแก้ไขของคุณ ซึ่งรวมถึงการเปลี่ยนแปลงใดๆ ที่คุณอาจทำกับ .htaccess
คุณควรถือว่าทุกอย่างที่อยู่นอกไดเรกทอรี /sites
เป็นของ Drupal 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
where:
- 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.18.05.sh
ของ Edge 4.18.05 ไปยัง/tmp/bootstrap_4.18.05.sh
curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
- ติดตั้งยูทิลิตีและไลบรารีของ
apigee-service
Edge 4.18.05 โดยทำดังนี้sudo bash /tmp/bootstrap_4.18.05.sh apigeeuser=uName apigeepassword=pWord
โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับจาก Apigee หากคุณไม่ใส่ pWord ระบบจะแจ้งให้คุณป้อน
โดยค่าเริ่มต้น โปรแกรมติดตั้งจะตรวจสอบว่าคุณได้ติดตั้ง Java 1.8 แล้ว คุณสามารถใช้ตัวเลือก "C" เพื่อดำเนินการต่อโดยไม่ต้องติดตั้ง Java
- ดาวน์โหลดไฟล์
- สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- สร้างที่เก็บ 4.18.05 ในพื้นที่ตามที่อธิบายไว้ในสร้างที่เก็บ Apigee ในพื้นที่
- วิธีติดตั้ง apigee-service จากไฟล์ .tar
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวที่ชื่อ
/opt/apigee/data/apigee-mirror/apigee-4.18.05.tar.gz
:/opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
- คัดลอกไฟล์ .tar ไปยังโหนดที่ต้องการอัปเดต Edge เช่น คัดลอกไฟล์ไปยังไดเรกทอรี
/tmp
ในโหนดใหม่ - ในโหนดใหม่ ให้แตกไฟล์ไปยังไดเรกทอรี /tmp โดยทำดังนี้
tar -xzf apigee-4.18.05.tar.gz
คำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ repos ในไดเรกทอรีที่มีไฟล์ .tar เช่น /tmp/repos
- ติดตั้งยูทิลิตี
apigee-service
ของ Edge และไลบรารีที่เกี่ยวข้องจาก/tmp/repos
ดังนี้sudo bash /tmp/repos/bootstrap_4.18.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
คุณจะเห็นว่าใส่เส้นทางไปยังไดเรกทอรี repos ในคำสั่งนี้
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวที่ชื่อ
- วิธีติดตั้ง apigee-service โดยใช้เว็บเซิร์ฟเวอร์ Nginx
- กำหนดค่าเว็บเซิร์ฟเวอร์ Nginx ตามที่อธิบายไว้ใน "ติดตั้งจากที่เก็บโดยใช้เว็บเซิร์ฟเวอร์ Nginx" ที่ติดตั้งยูทิลิตี Apigee-setup ของ Edge
- ในโหนดระยะไกล ให้ดาวน์โหลดไฟล์
bootstrap_4.18.05.sh
ของ Edge ไปยัง/tmp/bootstrap_4.18.05.sh
ดังนี้/usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณตั้งค่าไว้ด้านบนสำหรับรีโป และ remoteRepo คือที่อยู่ IP หรือชื่อ DNS ของโหนดรีโป
- ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี
apigee-service
ของ Edge และข้อกำหนดต่อไปนี้sudo bash /tmp/bootstrap_4.18.05.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
- เรียกใช้ยูทิลิตีการอัปเดตบนโหนด Postgre โดยทำดังนี้
/opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
โดยที่ configFile คือไฟล์การกําหนดค่าที่คุณใช้ติดตั้งฐานข้อมูล Postgres ข้อกำหนดเพียงอย่างเดียวสำหรับไฟล์การกําหนดค่าคือผู้ใช้ "apigee" ต้องเข้าถึงหรืออ่านไฟล์การกําหนดค่าได้
- อัปเดตฐานข้อมูล Postgres โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql db_upgrade
- เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล:
/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 ในโหมดบำรุงรักษา
- เลือกการกําหนดค่าในเมนู Drupal
- ในหน้าการกำหนดค่า ให้เลือกโหมดการบำรุงรักษาในส่วนการพัฒนา
- ยกเลิกการเลือกช่องทำให้เว็บไซต์อยู่ในโหมดการบำรุงรักษา
- เลือกบันทึกการกำหนดค่า
โปรดทราบว่าไดเรกทอรีรากหลังจากการอัปเดตจะเป็นดังนี้
/opt/apigee/apigee-drupal/wwwroot
การอัปเกรดเสร็จสมบูรณ์แล้ว