การใช้ Remote API (REST API) ของ Plesk

Plesk Remote API คืออะไร

Plesk Remote API เป็นอินเตอร์เฟชที่ช่วยให้นักพัชนา Developer และผู้ดูแลระบบสามารถควบคุมและจัดการเซิร์ฟเวอร์ Plesk ผ่าน HTTP API สองรูปแบบคือ XML-RPC API (แบบเดิม) และ REST API (มาตรฐานใหม่) ซึ่งช่วยให้สามารถบริหารการต่างๆ ผ่าน Code ได้โดยอัตโนมัติ

การเข้าถึงหน้า Remote API Settings

ผู้ดูแลระบบสามารถตั้งค่าและจัดการ API Keys ได้ผ่าน:

  1. เข้าสู่ระบบ Plesk ในฐานะ Administrator
  2. ไปที่ Tools & Settings
  3. เลือก Server Management
  4. คลิก Remote API

การเปิดใช้งาน Plesk REST API

Plesk REST API ใช้ HTTP Methods มาตรฐาน ได้แก่ GET, POST, PUT, DELETE และใช้รูปแบบ JSON สำหรับจัดการข้อมูล โดย Endpoint ของ REST API อยู่ที่:

https://your-server:8443/api/v2/

การสร้าง API Key

ก่อนใช้งาน API ต้องสร้าง API Key ก่อน:

  1. ในหน้า Remote API ให้คลิก Create Key
  2. กำหนดชื่อและคำอธิบายสำหรับ Key นี้
  3. เลือกสิทธิ์ที่ต้องการมอบใหม่ Key นี้
  4. คลิก Create Key แล้วบันทึก API Key เอาไว้ในที่ปลอดภัย

ตัวอย่างการใช้ REST API

ตัวอย่างการเรียกใช้ Plesk REST API ด้วย curl:

# ดูรายการ Subscriptions ทังหมด
curl -X GET 'https://your-server:8443/api/v2/subscriptions' \
  -H 'X-API-Key: your-api-key-here' \
  -H 'Content-Type: application/json'

# สร้าง Domain ใหม่
curl -X POST 'https://your-server:8443/api/v2/domains' \
  -H 'X-API-Key: your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "example.com",
    "hostingType": "virtual",
    "plan": { "name": "Default Domain" }
  }'

# ดูรายการใบอนุญาต SSL
curl -X GET 'https://your-server:8443/api/v2/ssl-certificates' \
  -H 'X-API-Key: your-api-key-here'

API Endpoints สำคัญ

Plesk REST API มี Endpoints ครอบคลุมการทำงานหลักกว่าได้แก่:

  • /api/v2/domains – จัดการ Domains
  • /api/v2/subscriptions – จัดการ Subscriptions
  • /api/v2/mail – จัดการ Mail Accounts
  • /api/v2/databases – จัดการ Databases
  • /api/v2/ssl-certificates – จัดการ SSL Certificates
  • /api/v2/dns – จัดการ DNS Records
  • /api/v2/clients – จัดการ Client Accounts
  • /api/v2/resellers – จัดการ Reseller Accounts

การใช้ API กับ Python

ตัวอย่างการใช้ Plesk REST API ด้วย Python:

import requests
import json

API_KEY = 'your-api-key'
BASE_URL = 'https://your-server:8443/api/v2'

headers = {
    'X-API-Key': API_KEY,
    'Content-Type': 'application/json'
}

# ดูรายการ Domains
response = requests.get(
    f'{BASE_URL}/domains',
    headers=headers,
    verify=False  # สำหรับ Self-signed Certificate
)

domains = response.json()
for domain in domains:
    print(f"Domain: {domain['name']}")

การตั้งค่า IP Restrictions สำหรับ API

เพื่อความปลอดภัยที่ดีขึ้น ควรตั้งค่าให้ API ถูกเรียกใช้ได้เฉพาะจาก IP ที่เชื่อถือ โดยอ้างอิงจาก การจัดการข้อจำกัดการการเข้าถึง IP บน Plesk:

  1. ในหน้า Remote API ให้คลิกที่ API Key ที่ต้องการกำหนด Restriction
  2. แก้ไขและเพิ่ม IP Address ที่อนุญาตให้เรียกใช้ API
  3. บันทึกการตั้งค่า

ความปลอดภัยของ API และ Server Settings

สำหรับการควบคุมการเข้าถึง API อย่างมีประสิทธิภาพ ให้อ้างอิงจาก การตั้งค่าเซิร์ฟเวอร์ Plesk เพื่อการกำหนดค่า Security และ การใช้ SSH Terminal สำหรับการจัดการขั้นสูง

นโยบายความปลอดภัยของ API

การใช้ Plesk REST API ใหปฏิบัติตามแนว นโยบายความปลอดภัย Plesk เพื่อป้องกันการเข้าถืงโดยไม่ได้รับอนุญาตหรือการใช้ API Key อย่างมีความเสี่ยง ในการใช้งาน API ต้องหลีเลียงการเก็บ API Key ในรูปแบบข้อมูลธรรมชาติหรือการส่ง API Key ผ่านช่องทางที่ไม่ปลอดภัย

สรุป

Plesk Remote API (REST API) เป็นเครื่องมือที่ทรงพลังสำหรับการทำงานแบบ Automation และการรวม Plesk เข้ากับระบบอื่นๆ ไม่ว่าจะเป็นการสร้าง Domain, จัดการ Mail Account, หรือการ Deploy Application โดยอัตโนมัติ การเข้าใจและการปฏิบัติตามมาตรการณ์ที่เหมาะสมจะช่วยให้ API ของคุณปลอดภัยและใช้งานได้อย่างมีประสิทธิภาพ