พอร์ทัลบริการสำหรับนักพัฒนาแอป v. 4.17.05
ขั้นตอนนี้อธิบายวิธีอัปเกรดการติดตั้งบริการช่องทางสำหรับนักพัฒนาซอฟต์แวร์ Apigee ในองค์กรที่มีอยู่
การกำหนดขั้นตอนการอัปเดตที่ถูกต้อง
ขั้นตอนที่คุณใช้ในการอัปเดตพอร์ทัลจะขึ้นอยู่กับการติดตั้งปัจจุบันของคุณ ดังนี้
- หากการติดตั้งใช้ Apache/MySQL หรือ Apache/MariaDB จากระบบที่อัปเดตเป็น 4.17.01 ให้ใช้การอัปเกรดพอร์ทัลโดยใช้ไฟล์ .tar
- หากการติดตั้งใช้ Nginx/Postgres จากการติดตั้ง 4.17.01 ใหม่ ให้ใช้การอัปเกรดพอร์ทัลโดยใช้ 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)
ไดเรกทอรีการติดตั้งเริ่มต้น
กระบวนการอัปเกรดจะถือว่าพอร์ทัลนักพัฒนาซอฟต์แวร์ได้รับการติดตั้งที่ตำแหน่งต่อไปนี้
- /opt/apigee/apigee-drupal (Nginx)
- /var/www/html (Apache)
หากคุณไม่ได้ติดตั้งพอร์ทัลในไดเรกทอรีเริ่มต้น ให้แก้ไขเส้นทางในขั้นตอนด้านล่างเพื่อใช้ไดเรกทอรีการติดตั้งของคุณ
หากไม่ทราบไดเรกทอรีการติดตั้ง คุณสามารถค้นหาได้ตามที่อธิบายไว้ในคำสั่ง Drush ที่ใช้กันโดยทั่วไป
ไดเรกทอรีการติดตั้งเริ่มต้นใหม่หลังจากอัปเดต Nginx/Postgres จากการติดตั้ง 4.17.01 ใหม่
หลังจากอัปเดตการติดตั้งใหม่ของ 4.17.01 ที่ใช้ Nginx/Postgres ไดเรกทอรีรากจะเปลี่ยนจาก
/opt/apigee/apigee-drupal
ถึง:
/opt/apigee/apigee-drupal/wwwroot
เวอร์ชันการอัปเกรดที่รองรับ
ขั้นตอนการอัปเกรดนี้รองรับพอร์ทัลเวอร์ชันต่อไปนี้
- pantheon-14.02.x
- pantheon-14.03.x
- pantheon-14.04.x
- pantheon-14.07.x
- pantheon-15-01.x
- OPDK-15-04.x
- OPDK-15-07.x
- OPDK-16-01.x
- OPDK-16-05.x
- OPDK-16-09.x
- OPDK-17-01.x
หากต้องการตรวจสอบเวอร์ชันพอร์ทัล ให้เปิด URL ต่อไปนี้ในเบราว์เซอร์
http://yourportal.com/buildInfo
ก่อนอัปเดต
สำหรับการติดตั้งที่มีอยู่ หากคุณได้แก้ไขโค้ดใดๆ ใน Drupal Core หรือในโมดูลที่ไม่ใช่โมดูลที่กำหนดเอง ระบบจะเขียนทับการแก้ไขของคุณ ซึ่งรวมถึงการเปลี่ยนแปลงใดๆ ที่คุณอาจทำกับ .htaccess และอื่นๆ คุณควรสันนิษฐานว่าทุกอย่างที่อยู่นอกไดเรกทอรี /sites เป็นของ Drupal ข้อยกเว้นของกฎนี้คือ robots.txt หากไฟล์นี้อยู่ในรูทของเว็บ ระบบจะเก็บไฟล์นี้ไว้ให้คุณ
ก่อนดำเนินการติดตั้ง ให้สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด หลังจากทำตามขั้นตอนการติดตั้งที่อธิบายไว้ด้านล่างแล้ว คุณจะกู้คืนการปรับแต่งจากข้อมูลสำรองได้
การอัปเกรดพอร์ทัลโดยใช้ไฟล์ .tar
- สำรองข้อมูลอินสแตนซ์ MySQL/MariaDB ของ Drupal
ดูข้อมูลเพิ่มเติมได้ที่ http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/- ตัวเลือกที่ 1: ใช้ Drush
คำสั่ง Drush sql-dump จะสร้างสำเนาของฐานข้อมูล จากไดเรกทอรี Drupal ซึ่งโดยค่าเริ่มต้นคือ /var/www/html ให้เรียกใช้คำสั่งต่อไปนี้
> drush sql-dump > /path/to/backup_dir/database-backup.sql
ใช้ drush help sql-dump เพื่อดูข้อมูลเพิ่มเติม - ตัวเลือกที่ 2: ใช้ MySQLdump
ใช้คำสั่ง mysqldump เพื่อสร้างสำเนาของฐานข้อมูล:
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
ไม่ควรมีช่องว่างระหว่างตัวเลือก -p กับรหัสผ่าน ต้องใส่เครื่องหมายคำพูดเดี่ยวรอบรหัสผ่านหากรหัสผ่านมีสัญลักษณ์พิเศษ
คุณตั้งค่า USERNAME และ DATABASENAME เมื่อติดตั้งพอร์ทัล โดยค่าเริ่มต้น ทั้ง 2 รายการจะเป็น devportal
- ตัวเลือกที่ 1: ใช้ Drush
- สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด ตำแหน่งการติดตั้งเริ่มต้นคือ /var/www/html แต่คุณอาจเปลี่ยนตำแหน่งนี้ได้ในเวลาที่ติดตั้ง
- ดาวน์โหลดไฟล์ Developer Channel Services DeveloperServices_x.y.z.tar จาก ftp.apigee.com โดยที่ x.y.z สอดคล้องกับหมายเลขเวอร์ชันของพอร์ทัล เมื่อได้รับข้อความแจ้ง ให้ป้อนข้อมูลเข้าสู่ระบบที่ได้รับจาก Apigee
คุณสามารถดาวน์โหลดไฟล์จากลิงก์ที่ Apigee ส่งให้คุณในเบราว์เซอร์ หรือโดยการคัดลอกลิงก์แล้วเพิ่มลงในคำสั่ง cURL ต่อไปนี้
> curl -kOL <วางลิงก์ที่นี่>
หมายเหตุ: หากพอร์ทัลของคุณอยู่ในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ตภายนอก ให้ทำขั้นตอนนี้ในเซิร์ฟเวอร์ที่มีสิทธิ์เข้าถึง
ไปที่การสนับสนุน Apigee Edge แล้วเลือกเข้าสู่ระบบพอร์ทัลการสนับสนุนเพื่อขอไฟล์ .tar สำหรับการอัปเกรดบริการ Developer Channel หากไม่มีบัญชีในพอร์ทัลการสนับสนุน ให้เลือกเข้าสู่ระบบพอร์ทัลการสนับสนุน แล้วเลือกรีบใช่ไหม สร้างคำขอแจ้งปัญหาที่นี่ -
สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- แตกไฟล์อัปเกรดพอร์ทัล:
> tar -xvf <tar file>
คำสั่งแตกไฟล์นี้จะสร้างไดเรกทอรีใหม่ชื่อ DeveloperServices-4.x.y.z - เปลี่ยนเป็นไดเรกทอรี DeveloperServices-4.x.y.z
- ดาวน์โหลด Drupal เวอร์ชันล่าสุดโดยใช้คำสั่งต่อไปนี้
> drush dl drupal
คำสั่งนี้จะสร้างไดเรกทอรีชื่อ drupal-x.y โดยที่ x.y สอดคล้องกับ Drupal เวอร์ชันปัจจุบัน - เรียกใช้สคริปต์ networked-update.sh:
> ./networked-update.sh
คุณอาจต้องใช้ sudo เพื่อเรียกใช้คำสั่งนี้ หรือเรียกใช้ในฐานะผู้ดูแลระบบ ทั้งนี้ขึ้นอยู่กับสิทธิ์ในไฟล์ - หากต้องการรับการแจ้งเตือนเกี่ยวกับการอัปเดต Drupal ให้ตรวจสอบว่าได้เปิดใช้โมดูล Drupal Update manager แล้ว จากเมนู Drupal ให้เลือกโมดูล แล้วเลื่อนลงไปที่โมดูลเครื่องมือจัดการการอัปเดต หากไม่ได้เปิดใช้ ให้เปิดใช้
เมื่อเปิดใช้แล้ว คุณจะดูการอัปเดตที่พร้อมใช้งานได้โดยใช้รายการเมนูรายงาน > การอัปเดตที่พร้อมใช้งาน
ใช้รายการเมนูรายงาน > การอัปเดตที่พร้อมใช้งาน > การตั้งค่าเพื่อกำหนดค่าโมดูลให้ส่งอีเมลถึงคุณเมื่อมีการอัปเดต และเพื่อตั้งค่าความถี่ในการตรวจหาการอัปเดต
- แตกไฟล์อัปเกรดพอร์ทัล:
-
สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- ในเซิร์ฟเวอร์ที่คุณดาวน์โหลดไฟล์ DeveloperServices_x.y.z.tar ของ Developer Channel Services ไว้ ให้แตกไฟล์อัปเกรดพอร์ทัล ดังนี้
> tar -xvf <tar file>
การแตกไฟล์ด้วยคำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ DeveloperServices-4.x.y.z - เปลี่ยนเป็นไดเรกทอรี DeveloperServices-4.x.y.z
- เรียกใช้สคริปต์ non-networked-update.sh:
> ./non-networked-update.sh
คุณอาจต้องใช้ sudo เพื่อเรียกใช้คำสั่งนี้ หรือเรียกใช้ในฐานะผู้ดูแลระบบ ทั้งนี้ขึ้นอยู่กับสิทธิ์ในไฟล์
คำสั่งนี้จะดาวน์โหลดไฟล์อัปเดตที่จำเป็นทั้งหมดและรวมไว้ในไฟล์เดียวชื่อ devportal-update.tgz แล้วเขียนไฟล์ไปยังตำแหน่งที่คุณเลือก - คัดลอก devportal-update.tgz ไปยังเซิร์ฟเวอร์เป้าหมาย ซึ่งเป็นเซิร์ฟเวอร์ที่เรียกใช้พอร์ทัล
หมายเหตุ: อย่าคัดลอก devportal-update.tgz ไปยังรูทเว็บของเซิร์ฟเวอร์เป้าหมาย - Untar ไฟล์ devportal-update.tgz ไปยังไดเรกทอรีปัจจุบัน:
> tar -xzf /path/to/devportal-update.tgz - เปลี่ยนเป็นไดเรกทอรี developer-update
- เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งการอัปเดต
> ./install-update.sh - ตอบคำถาม
- ในเซิร์ฟเวอร์ที่คุณดาวน์โหลดไฟล์ DeveloperServices_x.y.z.tar ของ Developer Channel Services ไว้ ให้แตกไฟล์อัปเกรดพอร์ทัล ดังนี้
การอัปเกรดเสร็จสมบูรณ์แล้ว
การอัปเกรดพอร์ทัลโดยใช้ RPM
ใช้ขั้นตอนต่อไปนี้เพื่ออัปเดต RPM ของพอร์ทัลในโหนด
- เปลี่ยนเป็นไดเรกทอรี Drupal /opt/apigee/apigee-drupal โดยค่าเริ่มต้น:
> cd /opt/apigee/apigee-drupal - สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal คำสั่ง pg_dump จะสร้างสำเนาของฐานข้อมูล:
pg_dump --dbname=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.dmp
โดยที่- dbname ระบุชื่อฐานข้อมูลตามที่ระบุโดยพร็อพเพอร์ตี้ PG_NAME ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
- host ระบุที่อยู่ IP ของโหนดพอร์ทัล
- username ระบุชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้เพื่อเข้าถึงฐานข้อมูลตามที่ระบุไว้ในพร็อพเพอร์ตี้ DRUPAL_PG_USER ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
- ระบบจะแจ้งให้คุณป้อนรหัสผ่านผู้ใช้ Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้ DRUPAL_PG_PASS ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
หากต้องการกู้คืนจากข้อมูลสำรองในภายหลัง ให้ใช้คำสั่งต่อไปนี้
pg_restore --clean --dbname=devportal --host=localhost --username=apigee < /tmp/portal.dmp - สำรองข้อมูลไดเรกทอรีรากของเว็บ Drupal ทั้งหมด ตำแหน่งการติดตั้งเริ่มต้นคือ /opt/apigee/apigee-drupal แต่คุณอาจเปลี่ยนตำแหน่งดังกล่าวได้
หากไม่แน่ใจเกี่ยวกับตำแหน่งของไดเรกทอรีนี้ ให้ใช้คำสั่ง drush status หรือรายการการกำหนดค่า > สื่อ > ไฟล์ในเมนู Drupal เพื่อระบุตำแหน่งของระบบไฟล์สาธารณะและเส้นทางระบบไฟล์ส่วนตัว (สำหรับขั้นตอนถัดไป) - สำรองไฟล์ใน /opt/apigee/data/apigee-drupal-devportal/private
- ปิดใช้ SELinux ตามที่อธิบายไว้ในติดตั้งยูทิลิตี apigee-setup ของ Edge
-
สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- ดาวน์โหลดไฟล์ Edge 4.17.05 bootstrap_4.17.05.sh ไปยัง /tmp/bootstrap_4.17.05.sh:
> curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh - ติดตั้งยูทิลิตี apigee-service ของ Edge 4.17.05 และทรัพยากร Dependency:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeeuser=uName apigeepassword=pWord
โดยที่ uName:pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับจาก Apigee หากคุณละเว้น pWord ระบบจะแจ้งให้คุณป้อนรหัสผ่าน
โดยค่าเริ่มต้น โปรแกรมติดตั้งจะตรวจสอบว่าคุณได้ติดตั้ง Java 1.8 ไว้หรือไม่ คุณสามารถใช้ตัวเลือก "C" เพื่อดำเนินการต่อโดยไม่ต้องติดตั้ง Java
- ดาวน์โหลดไฟล์ Edge 4.17.05 bootstrap_4.17.05.sh ไปยัง /tmp/bootstrap_4.17.05.sh:
-
สำหรับการอัปเกรดในเซิร์ฟเวอร์ที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้ทำดังนี้
- สร้างที่เก็บ 4.17.05 ในเครื่องตามที่อธิบายไว้ใน "สร้างที่เก็บ Apigee ในเครื่อง" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
หมายเหตุ: หากมีที่เก็บ 4.17.01 อยู่แล้ว คุณสามารถเพิ่มที่เก็บ 4.17.05 ลงไปได้ตามที่อธิบายไว้ในส่วน "อัปเดตที่เก็บ Apigee ในเครื่อง" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge -
วิธีติดตั้ง apigee-service จากไฟล์ .tar
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวชื่อ /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
> /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package - คัดลอกไฟล์ .tar ไปยังโหนดที่ต้องการอัปเดต Edge เช่น คัดลอกไปยังไดเรกทอรี /tmp ในโหนดใหม่
- ในโหนดใหม่ ให้ยกเลิกการบีบอัดไฟล์ไปยังไดเรกทอรี /tmp:
> tar -xzf apigee-4.17.05.tar.gz
คำสั่งนี้จะสร้างไดเรกทอรีใหม่ชื่อ repos ในไดเรกทอรีที่มีไฟล์ .tar เช่น /tmp/repos - ติดตั้งยูทิลิตี apigee-service ของ Edge และทรัพยากร Dependency จาก /tmp/repos:
> sudo bash /tmp/repos/bootstrap_4.17.05.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos
โปรดทราบว่าคุณต้องระบุเส้นทางไปยังไดเรกทอรี repos ในคำสั่งนี้
- ในโหนดที่มีที่เก็บในเครื่อง ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพ็กเกจที่เก็บในเครื่องเป็นไฟล์ .tar ไฟล์เดียวชื่อ /opt/apigee/data/apigee-mirror/apigee-4.17.05.tar.gz:
-
วิธีติดตั้ง apigee-service โดยใช้เว็บเซิร์ฟเวอร์ Nginx
- กำหนดค่าเว็บเซิร์ฟเวอร์ Nginx ตามที่อธิบายไว้ใน "ติดตั้งจากที่เก็บโดยใช้เว็บเซิร์ฟเวอร์ Nginx" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
- ในโหนดระยะไกล ให้ดาวน์โหลดไฟล์ Edge bootstrap_4.17.05.sh ไปยัง /tmp/bootstrap_4.17.05.sh:
> /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh
โดยที่ uName:pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณตั้งค่าไว้ด้านบนสำหรับที่เก็บ และ remoteRepo คือที่อยู่ IP หรือชื่อ DNS ของโหนดที่เก็บ - ในโหนดระยะไกล ให้ติดตั้งยูทิลิตี Edge apigee-service และทรัพยากร Dependency:
> sudo bash /tmp/bootstrap_4.17.05.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://
โดยที่ uName:pWord คือชื่อผู้ใช้และรหัสผ่านของที่เก็บ
- สร้างที่เก็บ 4.17.05 ในเครื่องตามที่อธิบายไว้ใน "สร้างที่เก็บ Apigee ในเครื่อง" ที่หัวข้อติดตั้งยูทิลิตี apigee-setup ของ Edge
- ใช้ 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" ต้องเข้าถึงหรืออ่านไฟล์การกำหนดค่าได้ - เริ่ม Postgres:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql start - เรียกใช้ยูทิลิตีการอัปเดตในโหนดเพื่ออัปเดตพอร์ทัล:
> /opt/apigee/apigee-setup/bin/update.sh -c dp -f configFile
โดยที่ configFile คือไฟล์การกำหนดค่าที่คุณใช้ติดตั้งพอร์ทัล ข้อกำหนดเพียงอย่างเดียวสำหรับไฟล์การกำหนดค่าคือไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดยผู้ใช้ "apigee"
โปรดทราบว่าไดเรกทอรีรากหลังการอัปเดตจะเป็นดังนี้
/opt/apigee/apigee-drupal/wwwroot
การอัปเกรดเสร็จสมบูรณ์แล้ว