Skip to main content

ປັບປຸງການເຊື່ອມຕໍ່ Control Panel

ภาพรวม

Enhance ເປັນ control panel ແບບທັນສະໄໝທີ່ໃຫ້ຄວາມສາມາດໃນການເຮັດວຽກອັດຕະໂນມັດ ແລະ ການຈັດການ hosting ທີ່ຊົງພະລັງ. ການເຊື່ອມຕໍ່ນີ້ຈະຊ່ວຍໃຫ້ເກີດການສຳຮອງຂໍ້ມູນ domain ອັດຕະໂນມັດ ແລະ ການຈັດການ SSL certificate ລະຫວ່າງ Ultimate Multisite ແລະ Enhance Control Panel.

ການສົນທະນາທີ່ກ່ຽວຂ້ອງ: ເບິ່ງ GitHub Discussion #265 ເພື່ອເບິ່ງຄຳແນະນຳຂອງຊຸມຊົນ ແລະ ຂໍ້ມູນເພີ່ມເຕີມ.

ຄຸນສົມບັດ

  • ການສຳຮອງ domain ອັດຕະໂນມັດເມື່ອໄດ້ map domain ໃນ Ultimate Multisite
  • ການຈັດຫາ SSL certificate ອັດຕະໂນມັດຜ່ານ LetsEncrypt ເມື່ອ DNS ແລ່ນໄດ້ (resolve)
  • ຮອງຮັບ subdomain ສຳລັບເຄືອຂ່າຍທີ່ເຮັດວຽກໃນໂໝດ subdomain
  • ການເອົາ domain ອອກເມື່ອລຶບການ map ຂໍ້ມູນ
  • ການທົດສອບການເຊື່ອມຕໍ່ເພື່ອຢັ້ງຢືນຂໍ້ມູນ API credentials

ຂໍ້ກຳນົດ

ຂໍ້ກຳນົດຂອງລະບົບ

  • Enhance Control Panel ຕ້ອງໄດ້ຕິດຕັ້ງ ແລະ ເຂົ້າເຖິງໄດ້
  • WordPress Multisite ຕ້ອງຖືກ host ຫຼື ເຊື່ອມຕໍ່ກັບ server ຂອງ Enhance
  • Apache web server (Enhance ຮອງຮັບການຕັ້ງຄ່າແບບ Apache; LiteSpeed Enterprise ມີໃຫ້ໃນລາຄາທີ່ຫຼຸດລົງ)

ການເຂົ້າເຖິງ API

ທ່ານຕ້ອງມີສິດເປັນ administrator ໃນ Enhance Control Panel ເພື່ອສ້າງ API tokens.

ການດຶງເອົາ API Credentials ຂອງທ່ານ

1. ສ້າງ API Token

  1. ລັອກເຂົ້າສູ່ລະບົບ Enhance Control Panel ໃນຖານະ administrator
  2. ກົດທີ່ Settings ໃນເມນູການນຳທາງ (navigation menu)
  3. ເຂົ້າໄປທີ່ Access Tokens
  4. ກົດ Create Token
  5. ຕັ້ງຊື່ໃຫ້ token ນັ້ນມີຄຳອະທິບາຍທີ່ຊັດເຈນ (ເຊັ່ນ: "Ultimate Multisite Integration")
  6. ມອບໝາຍຮອງຮັບບົດບາດ (role) ເປັນ System Administrator
  7. ສຳລັບວັນໝົດອາຍຸ:
    • ປ່ອຍຫວ່າງໄວ້ຖ້າທ່ານຕ້ອງການໃຫ້ token ນັ້ນບໍ່ມີวันหมดอายุເລີຍ
    • ຫຼື ຕັ້ງວັນໝົດອາຍຸສະເພາະເພື່ອຈຸດປະສົງດ້ານຄວາມປອດໄພ
  8. ກົດ Create

หลังจากสร้างเสร็จแล้ว คุณจะเห็น Access Token และ Organization ID แสดงขึ้นมา โปรดบันทึกสิ่งเหล่านี้ทันที เพราะโทเค็นนี้จะแสดงให้ดูแค่ครั้งเดียวเท่านั้น

2. รับ Organization ID ของคุณ

Organization ID จะแสดงอยู่ในหน้า Access Tokens ในกล่องข้อมูลสีน้ำเงินที่มีป้ายกำกับว่า "Org ID: {your_id}"

Organization ID จะมีรูปแบบเป็น UUID คือ: d8554b6d-5d0d-6719-009b-fec1189aa8f3

คุณยังสามารถหา Organization ID ของลูกค้าได้โดยทำตามขั้นตอนเหล่านี้:

  1. ไปที่หน้า Customers
  2. คลิก Manage customer สำหรับลูกค้ารายนั้น
  3. ดูที่ URL - Organization ID คือตัวอักษรและตัวเลขที่อยู่หลัง /customers/

3. รับ Server ID ของคุณ

ในการหา Server ID (ซึ่งจำเป็นสำหรับการดำเนินการเกี่ยวกับ domain):

  1. ใน Enhance Control Panel ให้ไปที่ Servers
  2. คลิกที่เซิร์ฟเวอร์ที่คุณติดตั้ง WordPress ไว้
  3. Server ID (รูปแบบ UUID) จะปรากฏอยู่ใน URL หรือรายละเอียดของเซิร์ฟเวอร์
  4. หรือคุณสามารถใช้ API เพื่อแสดงรายการเซิร์ฟเวอร์ได้ดังนี้:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq

Server ID จะมีรูปแบบ UUID คือ: 00000000-0000-0000-0000-000000000000

4. รับ API URL ของคุณ

API URL ของคุณคือ URL ของ Enhance Control Panel ของคุณพร้อมต่อท้ายด้วย /api/:

https://your-enhance-panel.com/api/

สำคัญ: ต้องมีพาธ /api/ ด้วย ข้อผิดพลาดที่พบบ่อย ได้แก่:

  • การใช้แค่ชื่อโดเมนโดยไม่มี /api/
  • การใช้ HTTP แทน HTTPS (ต้องใช้ HTTPS เพื่อความปลอดภัย)

การตั้งค่า

ค่าคงที่ที่จำเป็น

เพิ่มค่าคงที่ต่อไปนี้ลงในไฟล์ wp-config.php ของคุณ:

// ເພີ່ມການເຊື່ອມຕໍ່ກັບ Control Panel ໃຫ້ດີຂຶ້ນ define('WU_ENHANCE_API_TOKEN', 'your-bearer-token-here'); define('WU_ENHANCE_API_URL', 'https://your-enhance-panel.com/api/'); define('WU_ENHANCE_SERVER_ID', 'your-server-uuid-here');

ການຕັ້ງຄ່າຜ່ານ Integration Wizard (ຕົວຊີ້ມືການເຊື່ອມຕໍ່)

  1. ໃນ WordPress admin ຂອງທ່ານ, ໄປທີ່ Ultimate Multisite > Settings
  2. ເລືອກໄປທີ່ tab Integrations
  3. ຊອກຫາ Enhance Control Panel Integration ແລ້ວចុច Configuration (ຕັ້ງຄ່າ)
  4. Wizard ຈະຊ່ວຍທ່ານໃນການຕັ້ງຄ່າ:
    • Step 1: ການແນະນຳ ແລະ ສະຫຼຸບຟີເຈີຕ່າງໆ
    • Step 2: ໃສ່ຂໍ້ມູນ API ຂອງທ່ານ (Token, API URL, Server ID)
    • Step 3: ທົດສອບການເຊື່ອມຕໍ່
    • Step 4: ກວດສອບ ແລະ ເປີດໃຊ້ງານ

ທ່ານສາມາດເລືອກໄດ້ວ່າ:

  • ໃຫ້ wizard ສ່ວນຕົວໃສ່ constant တွေကို wp-config.php file ຂອງທ່ານໂດຍອັດຕະໂນມັດ
  • ຄັດລອກຄ່າ constant ແລ້ວເພີ່ມມັນດ້ວຍຕົນເອງ

ການຕັ້ງຄ່າ WordPress ເພີ່ມເຕີມ

ອີງຕາມຄວາມຄິດເຫັນຂອງຊຸມຊົນ (Discussion #265), ທ່ານອາດຈະຕ້ອງຕັ້ງຄ່າການຕັ້ງຄ່າເພີ່ມເຕີມເຫຼົ່ານີ້:

ການຕັ້ງຄ່າ .htaccess

ຖ້າທ່ານ gặp ปัญหาเกี่ยวกับการแมપโดเมน (domain mapping):

  1. ລຶບ file Enhance .htaccess ຕົ້ນສະບັບອອກ
  2. ແທນມັນດ້ວຍ standard WordPress Multisite .htaccess file

ເພີ່ມ constant ເຫຼົ່ານີ້ເຂົ້າໃນ wp-config.php ເພື່ອຮັບປະກັນການຈັດການ cookie ທີ່ຖືກຕ້ອງໃນ domain ທີ່ແຕກຕ່າງກັນ:

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');

ມັນເຮັດວຽກແນວໃດ

ເມື່ອມີການแมપโดเมน (When a Domain is Mapped)

  1. ผู้ใช้ทำการแมปโดเมนที่กำหนดเองใน Ultimate Multisite (หรือสร้างเว็บไซต์ใหม่ในโหมด subdomain)
  2. การเชื่อมต่อจะส่งคำขอ POST ไปยัง API ของ Enhance: /servers/{server_id}/domains
  3. Enhance จะเพิ่มโดเมนนั้นเข้าไปในการตั้งค่าเซิร์ฟเวอร์ของคุณ
  4. เมื่อ DNS ชี้มาที่เซิร์ฟเวอร์ของคุณ Enhance จะทำการติดตั้งใบรับรอง SSL โดยอัตโนมัติผ่าน LetsEncrypt
  5. โดเมนจะพร้อมใช้งานด้วย HTTPS

เมื่อมีการลบโดเมนออก

  1. ลบการแมปโดเมนใน Ultimate Multisite
  2. การเชื่อมต่อจะสอบถาม Enhance เพื่อหา ID ของโดเมนนั้น
  3. จะมีการส่งคำขอ DELETE ไปยัง: /servers/{server_id}/domains/{domain_id}
  4. Enhance จะลบโดเมนออกจากรายการตั้งค่าเซิร์ฟเวอร์ของคุณ

การตรวจสอบ DNS และ SSL

Ultimate Multisite มีการตรวจสอบ DNS และ SSL มาให้ในตัวครับ:

  • คุณสามารถตั้งค่าช่วงเวลาในการตรวจสอบได้ที่ Domain Mapping Settings (ค่าเริ่มต้น: 300 วินาที/5 นาที)
  • ระบบจะตรวจสอบการแพร่กระจายของ DNS ก่อนที่จะทำเครื่องหมายว่าโดเมนนั้นใช้งานได้จริง
  • ความถูกต้องของใบรับรอง SSL จะถูกตรวจสอบโดยอัตโนมัติ
  • Enhance จัดการเรื่องการติดตั้ง SSL ให้เองทั้งหมด ดังนั้นจึงไม่จำเป็นต้องตั้งค่า SSL ด้วยตัวเอง

การตรวจสอบการตั้งค่า

ทดสอบการเชื่อมต่อ

  1. ใน Integration Wizard ให้ใช้ขั้นตอน Test Connection (ทดสอบการเชื่อมต่อ)
  2. ปลั๊กอินจะพยายามแสดงรายการโดเมนบนเซิร์ฟเวอร์ของคุณ
  3. ข้อความแจ้งเตือนความสำเร็จจะยืนยันว่า:
    • API credentials ถูกต้อง
    • API URL เข้าถึงได้
    • Server ID มีความถูกต้อง
    • สิทธิ์ถูกตั้งค่าอย่างเหมาะสม

หลังจากแมปโดเมนแล้ว

  1. แมปโดเมนทดสอบใน Ultimate Multisite
  2. ตรวจสอบ Log ของ Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
  3. ตรวจสอบใน Enhance Control Panel ว่ามีการเพิ่มโดเมนเข้าไปแล้วหรือไม่:
    • ไปที่ Servers > Your Server > Domains
    • โดเมนใหม่ควรปรากฏอยู่ในรายการ
  4. เมื่อ DNS แพร่กระจายเสร็จแล้ว ให้ตรวจสอบว่า SSL ถูกติดตั้งโดยอัตโนมัติเรียบร้อยแล้ว

ການແກ້ໄຂບັນຫາ (Troubleshooting)

ບັນຫາການເຊື່ອມຕໍ່ API (API Connection Issues)

ຂໍ້ຜິດພາດ: "Failed to connect to Enhance API" (ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບ Enhance API ໄດ້)

  • ກວດສອບວ່າ WU_ENHANCE_API_URL ມີ /api/ ຢູ່ທ້າຍຊື່ຫຼືບໍ່.
  • ໃຫ້ແນ່ໃຈວ່າທ່ານກຳລັງໃຊ້ HTTPS, ບໍ່ແມ່ນ HTTP.
  • ກວດເບິ່ງວ່າສາມາດເຂົ້າເຖິງແຜງການຕັ້ງຄ່າ (Enhance panel) ໄດ້ຈາກເຊີເວີ WordPress ຂອງທ່ານບໍ່.
  • ກວດສອບວ່າບໍ່ມີກົດລະບຽບ Firewall ໃດໆທີ່ກຳລັງຂັດຂວາງການເຊື່ອມຕໍ່.

ຂໍ້ຜິດພາດ: "Enhance API Token not found" (ບໍ່ພົບ Enhance API Token)

  • ໃຫ້ແນ່ໃຈວ່າ WU_ENHANCE_API_TOKEN ຖືກກຳນົດໄວ້ໃນໄຟລ໌ wp-config.php.
  • ກວດສອບວ່າ Token ນັ້ນບໍ່ໄດ້ຖືກລຶບ ຫຼື ເກມໝົດອາຍຸຢູ່ໃນ Enhance ແລ້ວບໍ່.
  • ກວດເບິ່ງຂໍ້ຜິດພิมพ์ຂອງຄ່າ Token.

ຂໍ້ຜິດພາດ: "Server ID is not configured" (Server ID ບໍ່ໄດ້ຖືກຕັ້ງຄ່າ)

  • ກວດສອບວ່າ WU_ENHANCE_SERVER_ID ຖືກກຳນົດໄວ້ໃນໄຟລ໌ wp-config.php.
  • ໃຫ້ແນ່ໃຈວ່າ Server ID ນັ້ນຢູ່ໃນຮູບແບບ UUID (Unique Universal Identifier) ທີ່ຖືກຕ້ອງ.
  • ຢືນຢັນວ່າເຊີເວີດັ່ງກ່າວມີຢູ່ໃນແຜງການຕັ້ງຄ່າ (Enhance panel) ຂອງທ່ານ.

ບໍ່ໄດ້ເພີ່ມ Domain (Domain Not Added)

ກວດເບິ່ງ Log:

  1. ໄປທີ່ Ultimate Multisite > Logs.
  2. ກອງຂໍ້ມູນ (Filter) ຕາມ integration-enhance.
  3. ຊອກຫາຂໍ້ຄວາມຜິດພາດທີ່ຊີ້ໃຫ້ເຫັນບັນຫາ.

ສາເຫດທົ່ວໄປ:

  • ຮູບແບບຂອງຊື່ Domain ບໍ່ຖືກຕ້ອງ.
  • Domain ນັ້ນມີຢູ່ໃນ Enhance ແລ້ວ.
  • ສິດໃນການເຂົ້າເຖິງ API ບໍ່ພຽງພໍ (ໃຫ້ແນ່ໃຈວ່າ Token ມີບົດບາດ System Administrator).
  • Server ID ບໍ່ກົງກັບເຊີເວີຕົວຈິງໃນ Enhance.

ບັນຫາໃບຢັ້ງຢືນ SSL (SSL Certificate Issues)

SSL ຍັງບໍ່ທັນຖືກສ້າງຂຶ້ນ:

  • ກວດສອບວ່າ DNS ຊີ້ໄປທີ່ IP address ຂອງເຊີເວີຂອງທ່ານແລ້ວບໍ່.
  • ກວດເບິ່ງວ່າ Domain ນັ້ນສະແດງຜົນໄດ້ຖືກຕ້ອງ: nslookup yourdomain.com.
  • Enhance ຮຽກຮ້ອງໃຫ້ DNS ແລ່ນ (resolve) ກ່ອນທີ່ຈະສາມາດສ້າງ SSL ໄດ້.
  • ການສ້າງ SSL ໂດຍທົ່ວໄປຈະໃຊ້ເວລາ 5-10 ນາທີຫຼັງຈາກ DNS ເປັນການແຜ່ກະຈາຍຂໍ້ມູນແລ້ວ.
  • ກວດເບິ່ງ Log ຂອງ Enhance Control Panel ເພື່ອຫາຂໍ້ຜິດພາດສະເພາະກ່ຽວກັບ SSL.

ການແກ້ໄຂບັນຫາ SSL ແບບເປີດເຜີຍໃນ Enhance:

  1. ໄປທີ່ Servers > Your Server > Domains.
  2. ຊອກຫາ Domain ຂອງທ່ານ ແລະ ກວດສອບສະຖານະ SSL ຂອງມັນ.
  3. ຖ້າຈຳເປັນ, ທ່ານສາມາດເລີ່ມການສ້າງ SSL ໄດ້ດ້ວຍຕົນເອງ (manually trigger).

ໄລຍະເວລາໃນການກວດສອບ DNS (DNS Check Interval)

ຖ້າโดเมน (domains) ຫຼື ใบรับรอง SSL ใช้เวลานานในการเปิดใช้งาน:

  1. ไปที่ Ultimate Multisite > Settings > Domain Mapping
  2. หาการตั้งค่า DNS Check Interval
  3. ปรับจากค่าเริ่มต้น 300 วินาที เป็นค่าน้อยกว่า (ขั้นต่ำ: 10 วินาที)
  4. หมายเหตุ: ช่วงเวลาที่สั้นลง หมายถึงการตรวจสอบบ่อยขึ้น แต่จะทำให้เซิร์ฟเวอร์ทำงานหนักขึ้น

ข้อผิดพลาดในการยืนยันตัวตน (Authentication Errors)

ข้อผิดพลาด HTTP 401/403:

  • สร้าง API token ใหม่ใน Enhance
  • ตรวจสอบว่าโทเค็นนั้นมีบทบาทเป็น System Administrator หรือไม่
  • ตรวจสอบว่าโทเค็นยังไม่หมดอายุ
  • ตรวจสอบให้แน่ใจว่าคุณใช้ Organization ID ที่ถูกต้อง (แม้ว่าโดยปกติจะไม่จำเป็นต้องใส่ใน URL ก็ตาม)

การวิเคราะห์ Log

เปิดการบันทึกแบบละเอียด:

// เพิ่มใน wp-config.php เพื่อดีบักที่ดียิ่งขึ้น
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

จากนั้นตรวจสอบ log ที่:

  • Ultimate Multisite logs: Ultimate Multisite > Logs
  • WordPress debug log: wp-content/debug.log
  • Enhance panel logs: มีให้ดูในหน้า admin ของ Enhance

API Reference (ข้อมูลอ้างอิง API)

การยืนยันตัวตน (Authentication)

คำขอ API ทั้งหมดใช้การยืนยันตัวตนแบบ Bearer token:

Authorization: Bearer YOUR_TOKEN_HERE

Endpoint ที่ใช้บ่อย

List Servers:

GET /servers

List Domains on a Server:

GET /servers/{server_id}/domains

Add a Domain:

POST /servers/{server_id}/domains
Body: {"domain": "example.com"}

Delete a Domain:

DELETE /servers/{server_id}/domains/{domain_id}

เอกสาร API ฉบับเต็ม

เอกสาร API ฉบับสมบูรณ์: https://apidocs.enhance.com

Best Practices (แนวทางปฏิบัติที่ดีที่สุด)

ความปลอดภัย (Security)

  • ห้ามใส่ API tokens ลงใน version control เด็ดขาด
  • เก็บ token ไว้ในไฟล์ wp-config.php ซึ่งควรถูกยกเว้นจากการใช้ Git
  • ใช้ token ที่มีสิทธิ์ที่เหมาะสม (System Administrator สำหรับการเชื่อมต่อเต็มรูปแบบ)
  • ตั้งค่าวันหมดอายุของ token สำหรับสภาพแวดล้อม production
  • หมุนเวียน (Rotate) token เป็นระยะ

ประสิทธิภาพ (Performance)

  • ใช้ช่วงเวลาตรวจสอบ DNS เริ่มต้น (300 วินาที) เพื่อหลีกเลี่ยงการเรียก API มากเกินไป
  • เฝ้าดูทรัพยากรของเซิร์ฟเวอร์ Enhance เมื่อมีการดำเนินการโดเมนขนาดใหญ่
  • พิจารณาจัดลำดับการเพิ่มโดเมนหากต้องแมปโดเมนจำนวนมากพร้อมกัน

การตรวจสอบ (Monitoring)

  • ตรวจสอบ log ของ Ultimate Multisite เป็นประจำเพื่อหาข้อผิดพลาดในการเชื่อมต่อ
  • ตั้งค่าการเฝ้าดูสำหรับการเพิ่มโดเมนที่ล้มเหลว
  • ตรวจสอบว่าใบรับรอง SSL ถูกติดตั้งอย่างถูกต้องหรือไม่
  • เฝ้าดูความจุของเซิร์ฟเวอร์ Enhance และขีดจำกัดของโดเมน

แหล่งข้อมูลเพิ่มเติม (Additional Resources)

การสนับสนุน (Support)

หากคุณพบปัญหา:

  1. ตรวจสอบส่วน Troubleshooting ด้านบน
  2. ทบทวน log ของ Ultimate Multisite
  3. ปรึกษา GitHub Discussions
  4. ติดต่อฝ่ายสนับสนุนของ Enhance สำหรับปัญหาเฉพาะของแผงควบคุม (panel-specific issues)
  5. สร้างการสนทนาใหม่พร้อม log ข้อผิดพลาดโดยละเอียดเพื่อขอความช่วยเหลือจากชุมชน

หมายเหตุ (Notes)

  • ການເຊື່ອມຕໍ່ນີ້ຈັດການແຕ່ຊື່ໂດເມນສະຫຼາກເທົ່ານັ້ນ; ລະບົບ Enhance ຈະຈັດການໃບຢັ້ງຢືນ SSL ອັດຕະໂນມັດໃຫ້
  • ການເຊື່ອມຕໍ່ນີ້ຮອງຮັບທັງການแมપໂດເມນທີ່ເປັນແບບສະເພາະ ແລະ ເຊື້ອຊ້ອນ (subdomain) site
  • ສາມາດຕັ້ງຄ່າການສ້າງ subdomain www ໂດຍອັດຕະໂນມັດໄດ້ໃນການຕັ້ງຄ່າ Domain Mapping
  • Enhance ໃນປັດຈຸບັນຮອງຮັບການຕັ້ງຄ່າ Apache (ມີ LiteSpeed Enterprise ໃຫ້ໃຊ້ງານເພີ່ມເຕີມ)
  • ການລຶບໂດເມນອອກຈາກ Ultimate Multisite ຈະເຮັດໃຫ້ໂດເມນດັ່ງກ່າວຖືກເອົາອອກຈາກ Enhance ແຕ່ອາດຈະບໍ່ໄດ້ລຶບໃບຢັ້ງຢືນ SSL ທີ່ກ່ຽວຂ້ອງທັນທີ