Tích hợp Enhance Control Panel
Tổng quan
Enhance là một control panel hiện đại cung cấp các tính năng tự động hóa và quản lý hosting mạnh mẽ. Tích hợp này cho phép đồng bộ tên miền tự động và quản lý chứng chỉ SSL giữa Ultimate Multisite và Enhance Control Panel.
Thảo luận liên quan: Xem GitHub Discussion #265 để tìm các mẹo từ cộng đồng và thông tin bổ sung.
Tính năng
- Tự động đồng bộ tên miền khi tên miền được ánh xạ trong Ultimate Multisite
- Tự động cấp phát chứng chỉ SSL qua LetsEncrypt khi DNS phân giải thành công
- Hỗ trợ subdomain cho các mạng chạy ở chế độ subdomain
- Xóa tên miền khi các ánh xạ bị xóa
- Kiểm tra kết nối để xác minh thông tin API
Yêu cầu
Yêu cầu hệ thống
- Enhance Control Panel đã được cài đặt và có thể truy cập
- WordPress Multisite được lưu trữ trên hoặc kết nối với máy chủ Enhance
- Web server Apache (Enhance hiện tại hỗ trợ cấu hình Apache; LiteSpeed Enterprise có sẵn với chi phí thấp hơn)
Truy cập API
Bạn cần có quyền quản trị viên trên Enhance Control Panel để tạo token API.
Lấy thông tin xác thực API
1. Tạo Token API
- Đăng nhập vào Enhance Control Panel với quyền quản trị viên
- Nhấp vào Settings trong menu điều hướng
- Chuyển đến Access Tokens
- Nhấp Create Token
- Đặt tên mô tả cho token (ví dụ: "Ultimate Multisite Integration")
- Chọn vai trò System Administrator
- Về ngày hết hạn:
- Để trống nếu bạn muốn token không bao giờ hết hạn
- Hoặc đặt ngày hết hạn cụ thể vì mục đích bảo mật
- Nhấp Create
Sau khi tạo, Access Token và Organization ID của bạn sẽ được hiển thị. Hãy lưu lại ngay vì token chỉ được hiển thị một lần duy nhất.
2. Lấy Organization ID
Organization ID được hiển thị trên trang Access Tokens trong một hộp thông tin màu xanh có nhãn "Org ID: {your_id}".
Organization ID có định dạng UUID như: d8554b6d-5d0d-6719-009b-fec1189aa8f3
Bạn cũng có thể tìm Organization ID của khách hàng bằng cách:
- Vào trang Customers
- Nhấp Manage customer cho khách hàng cần tìm
- Xem URL - Organization ID là các ký tự chữ và số sau
/customers/
3. Lấy Server ID
Để tìm Server ID (bắt buộc cho các thao tác với tên miền):
- Trong Enhance Control Panel, chuyển đến Servers
- Nhấp vào máy chủ nơi WordPress của bạn đang chạy
- Server ID (định dạng UUID) sẽ hiển thị trong URL hoặc chi tiết máy chủ
- Ngoài ra, bạn có thể sử dụng API để liệt kê các máy chủ:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq
Server ID có định dạng UUID: 00000000-0000-0000-0000-000000000000
4. Lấy URL API
URL API của bạn là URL của Enhance Control Panel với /api/ được thêm vào cuối:
https://your-enhance-panel.com/api/
Quan trọng: Đường dẫn /api/ là bắt buộc. Các lỗi thường gặp bao gồm:
- Chỉ sử dụng tên miền mà không có
/api/ - Sử dụng HTTP thay vì HTTPS (HTTPS là bắt buộc vì lý do bảo mật)
Cấu hình
Các hằng số bắt buộc
Thêm các hằng số sau vào file wp-config.php của bạn:
// Tích hợp Enhance 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');
Thiết lập qua Trình hướng dẫn tích hợp
- Trong trang quản trị WordPress, vào Ultimate Multisite > Settings
- Chuyển đến tab Integrations
- Tìm Enhance Control Panel Integration và nhấp Configuration
- Trình hướng dẫn sẽ giúp bạn thiết lập:
- Bước 1: Giới thiệu và tổng quan tính năng
- Bước 2: Nhập thông tin xác thực API (Token, URL API, Server ID)
- Bước 3: Kiểm tra kết nối
- Bước 4: Xem lại và kích hoạt
Bạn có thể chọn:
- Để trình hướng dẫn tự động thêm các hằng số vào file
wp-config.php - Sao chép định nghĩa các hằng số và thêm thủ công
Cấu hình WordPress bổ sung
Dựa trên phản hồi từ cộng đồng (Discussion #265), bạn có thể cần cấu hình thêm các thiết lập sau:
Cấu hình .htaccess
Nếu bạn gặp vấn đề với ánh xạ tên miền:
- Xóa file
.htaccessgốc của Enhance - Thay thế bằng file
.htaccesschuẩn của WordPress Multisite
Các hằng số Cookie
Thêm các hằng số này vào wp-config.php để đảm bảo xử lý cookie đúng cách trên các tên miền được ánh xạ:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
Cách hoạt động
Khi một tên miền được ánh xạ
- Người dùng ánh xạ tên miền tùy chỉnh trong Ultimate Multisite (hoặc một site mới được t ạo ở chế độ subdomain)
- Tích hợp gửi yêu cầu POST đến API của Enhance:
/servers/{server_id}/domains - Enhance thêm tên miền vào cấu hình máy chủ của bạn
- Khi DNS phân giải đến máy chủ của bạn, Enhance tự động cấp phát chứng chỉ SSL qua LetsEncrypt
- Tên miền hoạt động với HTTPS
Khi một tên miền bị xóa
- Một ánh xạ tên miền bị xóa trong Ultimate Multisite
- Tích hợp truy vấn Enhance để tìm ID của tên miền
- Một yêu cầu DELETE được gửi đến:
/servers/{server_id}/domains/{domain_id} - Enhance xóa tên miền khỏi cấu hình máy chủ của bạn
Kiểm tra DNS và SSL
Ultimate Multisite có tính năng kiểm tra DNS và SSL tích hợp sẵn:
- Bạn có thể cấu hình khoảng thời gian kiểm tra trong Domain Mapping Settings (mặc định: 300 giây/5 phút)
- Hệ thống sẽ xác minh việc phân giải DNS trước khi đánh dấu tên miền là hoạt động
- Tính hợp lệ của chứng chỉ SSL được kiểm tra tự động
- Enhance xử lý việc cấp phát SSL tự động, nên không cần cấu hình SSL thủ công
Xác minh thiết lập
Kiểm tra kết nối
- Trong Trình hướng dẫn tích hợp, sử dụng bước Test Connection
- Plugin sẽ thử liệt kê các tên miền trên máy chủ của bạn
- Thông báo thành công xác nhận:
- Thông tin xác thực API chính xác
- URL API có thể truy cập
- Server ID hợp lệ
- Quyền được thiết lập đúng
Sau khi ánh xạ tên miền
- Ánh xạ một tên miền thử nghiệm trong Ultimate Multisite
- Kiểm tra nhật ký Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
- Xác minh trong Enhance Control Panel rằng tên miền đã được thêm:
- Vào Servers > Your Server > Domains
- Tên miền mới sẽ xuất hiện trong danh sách
- Khi DNS phân giải xong, xác minh SSL được cấp phát tự động
Xử lý sự cố
Vấn đề kết nối API
Lỗi: "Failed to connect to Enhance API"
- Xác minh
WU_ENHANCE_API_URLcó/api/ở cuối - Đảm bảo bạn đang sử dụng HTTPS, không phải HTTP
- Kiểm tra Enhance panel có thể truy cập từ máy chủ WordPress của bạn
- Xác minh không có quy tắc tường lửa chặn kết nối
Lỗi: "Enhance API Token not found"
- Đảm bảo
WU_ENHANCE_API_TOKENđược định nghĩa trongwp-config.php - Xác minh token chưa bị xóa hoặc hết hạn trong Enhance
- Kiểm tra lỗi chính tả trong giá trị token
Lỗi: "Server ID is not configured"
- Xác minh
WU_ENHANCE_SERVER_IDđược định nghĩa trongwp-config.php - Đảm bảo Server ID có định dạng UUID hợp lệ
- Xác nhận máy chủ tồn tại trong Enhance panel của bạn
Tên miền không được thêm
Kiểm tra nhật ký:
- Vào Ultimate Multisite > Logs
- Lọc theo integration-enhance
- Tìm các thông báo lỗi cho biết vấn đề
Nguyên nhân thường gặp:
- Định dạng tên miền không hợp lệ
- Tên miền đã tồn tại trong Enhance
- Không đủ quyền API (đảm bảo token có vai trò System Administrator)
- Server ID không khớp với máy chủ thực tế trong Enhance
Vấn đề chứng chỉ SSL
SSL không được cấp phát:
- Xác minh DNS đang trỏ đến địa chỉ IP của máy chủ
- Kiểm tra tên miền phân giải đúng:
nslookup yourdomain.com - Enhance yêu cầu DNS phân giải trước khi có thể cấp phát SSL
- Việc cấp phát SSL thường mất 5-10 phút sau khi DNS phân giải
- Kiểm tra nhật ký Enhance Control Panel để tìm lỗi liên quan đến SSL
Xử lý sự cố SSL thủ công trong Enhance:
- Vào Servers > Your Server > Domains
- Tìm tên miền của bạn và kiểm tra trạng thái SSL
- Bạn có thể kích hoạt cấp phát SSL thủ công nếu cần
Khoảng thời gian kiểm tra DNS
Nếu tên miền hoặc chứng chỉ SSL mất quá lâu để kích hoạt:
- Vào Ultimate Multisite > Settings > Domain Mapping
- Tìm thiết lập DNS Check Interval
- Điều chỉnh từ mặc định 300 giây xuống giá trị thấp hơn (tối thiểu: 10 giây)
- Lưu ý: Khoảng thời gian thấp hơn nghĩa là kiểm tra thường xuyên hơn nhưng tải máy chủ cao hơn
Lỗi xác thực
Lỗi HTTP 401/403:
- Tạo lại token API trong Enhance
- Xác minh token có vai trò System Administrator
- Kiểm tra token chưa hết hạn
- Đảm bảo bạn đang sử dụng đúng Organization ID (mặc dù thường không bắt buộc trong URL)
Phân tích nhật ký
Bật ghi nhật ký chi tiết:
// Thêm vào wp-config.php để debug nâng cao
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Sau đó kiểm tra nhật ký tại:
- Nhật ký Ultimate Multisite: Ultimate Multisite > Logs
- Nhật ký debug WordPress:
wp-content/debug.log - Nhật ký Enhance panel: Có sẵn trong giao diện quản trị của Enhance
Tham chiếu API
Xác thực
Tất cả các yêu cầu API sử dụng xác thực Bearer token:
Authorization: Bearer YOUR_TOKEN_HERE
Các endpoint thường dùng
Liệt kê máy chủ:
GET /servers
Liệt kê tên miền trên máy chủ:
GET /servers/{server_id}/domains
Thêm tên miền:
POST /servers/{server_id}/domains
Body: {"domain": "example.com"}
Xóa tên miền:
DELETE /servers/{server_id}/domains/{domain_id}
Tài liệu API đầy đủ
Tài liệu API đầy đủ: https://apidocs.enhance.com
Các phương pháp tốt nhất
Bảo mật
- Không bao giờ commit token API vào hệ thống quản lý phiên bản
- Lưu token trong
wp-config.php- file này nên được loại trừ khỏi Git - Sử dụng token với quyền phù hợp (System Administrator cho tích hợp đầy đủ)
- Đặt ngày hết hạn token cho môi trường production
- Xoay vòng token định kỳ
Hiệu suất
- Sử dụng khoảng thời gian kiểm tra DNS mặc định (300 giây) để tránh gọi API quá nhiều
- Giám sát tài nguyên máy chủ Enhance khi thực hiện các thao tác tên miền quy mô lớn
- Cân nhắc phân tán việc thêm tên miền nếu ánh xạ nhiều tên miền cùng lúc
Giám sát
- Thường xuyên kiểm tra nhật ký Ultimate Multisite để tìm lỗi tích hợp
- Thiết lập giám sát cho các trường hợp thêm tên miền thất bại
- Xác minh chứng chỉ SSL được cấp phát đúng cách
- Theo dõi dung lượng máy chủ Enhance và giới hạn tên miền
Tài nguyên bổ sung
- Tài liệu chính thức của Enhance: https://enhance.com/docs
- Tài liệu API Enhance: https://apidocs.enhance.com
- Diễn đàn cộng đồng Enhance: https://community.enhance.com
- Thảo luận GitHub: Issue #265 - Enhance Integration Tips
- Hướng dẫn ánh xạ tên miền Ultimate Multisite: Xem trang wiki "How to Configure Domain Mapping v2"