Hotline : 07 088 44444
Thích
Chia sẻ

Hướng dẫn sử dụng cPanel API chi tiết nhất

31/08/2021

cPanel API là gì?

cPanel & WHM API (Application Programming Interfaces) cho phép người dùng truy cập chức năng tích hợp của phần mềm mà không cần thông qua giao diện web. Để sử dụng các API, hãy gửi một lệnh và cPanel sẽ phản hồi bằng cách thực hiện một hành động. Có thể là thay đổi cài đặt, thực hiện tác vụ quản lý server hoặc cho bạn biết một số thông tin.

cPanel API là gì?
cPanel API là gì?

Có một số lợi ích mang lại khi sử dụng cPanel API.

  1. Sử dụng cPanel API cho phép người dùng tự động hóa các tác vụ thay vì phải làm thủ công. Vì dụ: bạn có thể kích hoạt một backup từ một tập lệnh bằng cách sử dụng cPanel API. Tập lệnh đó có thể chạy trên cùng một server như cPanel hoặc một server khác gửi lệnh qua Internet.
  2. Chúng cho phép cPanel tích hợp với các công cụ khác. Web server có thể sử dụng cPanel API để thu thập dữ liệu hiển thị trong dashboard.
  3. Bạn có thể sử dụng cPanel API để mở rộng chức năng của cPanel. Nhiều tiện ích mở rộng của cPanel được xây dựng dựa trên các API.

Truy cập cPanel API từ server

Chúng tôi sẽ cung cấp một cặp tiện ích để tạo tập lệnh và chạy lệnh đó ngay trên server hoặc tài khoản hosting của bạn. Một tiện ích cho API WHM (whmapi) và API cPanel (uapi). Chức năng được phân chia giữa chúng giống như cách nó được phân chia giữa giao diện web WHM và cPanel. Vì vậy bạn sẽ sử dụng whmapi cho các tác vụ liên quan đến server và uapi cho các tác vụ liên quan đến việc hosting.

Để sử dụng chúng, bạn cần đăng nhập vào server của mình bằng SSH.

Trước tiên, hãy xem các truy vấn API WHM để biết thông tin về tài khoản người dùng của server.

whmapi list_users

Chúng tôi đang sử dụng lệnh “whmapi” để gọi hàm “list_users”. Nó thực hiện chính xác những gì bạn mong đợi, trả về danh sách người dùng có tài khoản trên server, cùng với một số siêu dữ liệu về lệnh.

data:
  users:
    - root
    - user1
    - user2
    - example1
metadata:
  command: list_users
  reason: OK
  result: 1
  version: 1

Bây giờ chúng tôi biết người dùng nào có tài khoản trên server. Chúng tôi muốn xem xét sâu hơn về một số tài khoản cụ thể.

whmapi1 accountsummary user=user1

Ở đây, chúng tôi đang sử dụng chức năng “accountummary” và cung cấp tham số “user” với giá trị “user1”. Một tập hợp các kết quả bị cắt ngắn trông giống như sau:

data:
  acct:
    -
      backup: 1
      disklimit: unlimited
      diskused: 367M
      domain: example.com
      email: user1@example.com
      ip: 198.51.100.13

Chúng tôi thấy rằng tài khoản có domain được liên kết với nó. Vì vậy hãy sử dụng cPanel API để thêm thông tin.

Một điều chưa phố biến khi bắt đầu sử dụng cPanel API là hiểu về cách hoạt động giả mạo. Mặc dùng cPanel API được thiết kế để chạy với tư cách cPanel user, nhưng root user có thể giả dạng cPanel user bằng cách chỉ định –user = <username> trong lệnh UAPI.

uapi – user=user1 DomainInfo list_domains

Username được cung cấp dưới dạng một tùy chọn chứ không phải là một tham số. Nhiều chức năng được tập hợp thành các mô-đun cung cấp các chức năng liên quan. Trong trường hợp này, chúng tôi đang truy cập vào mô-đun “DomainInfo” và chức năng “list_domains” của nó. Nó trả về thông tin của các domain được liên kết với tài khoản.

data:
    addon_domains: 
    			- example3.com
    main_domain: example.com
    parked_domains: []
    sub_domains:
      - files.example.com

Cho đến nay, chúng tôi chỉ truy vấn các API để biết thông tin. Nhưng chúng cũng có thể được sử dụng để hướng dẫn cPanel thực hiện các tác vụ. Ví dụ: Giả sử chúng tôi muốn kích hoạt một backup đầy đủ tài khoản của người dùng này. Để làm điều đó, chúng tôi sẽ sử dụng mô-đun “Backup” với chức năng “fullbackup_to_homedir”:

uapi – user=user1 Backup fullbackup_to_homedir

cPanel và WHM Authentication Tokens

Authentication token là một chuỗi dài gồm các chữ cái và số để cấp quyền truy cập vào API. Cả WHM và cPanel đều bao gồm một giao diện để tạo mã này được gọi là Manage API Tokens. Chúng là tương tự như nhau, vì vậy chúng tôi sẽ hướng dẫn bạn quy trình tạo một token trong WHM.

Điều hướng đến Manage API Tokens, bạn sẽ tìm thấy nó trong menu bên trong phần Development. Nhấp vào nút Generate Token, nó sẽ mở ra một trang để bạn chọn các đặc quyền cụ thể mà bạn muốn cấp cho chủ sở hữu token.

cPanel và WHM Authentication Tokens

Bạn chỉ nên cấp authentication token những đặc quyền cần thiết. Nêu một kẻ xấu nhúng tay vào, họ có thể truy cập toàn bộ hệ thống.

Đặt cho nó một cái tên có ý nghĩa và chọn ngày hết hạn của nó. Sau đó nhấp vào nút Save ở cuối trang. WHM sẽ tạo token và hiển thị nó để bạn sao chép. Sau khi rời khỏi trang này, bạn sẽ không thể truy cập lại. Vì vậy hãy ghi nhớ lại token của mình ở một nơi an toàn.

cPanel và WHM Authentication Tokens

Thực hiện API Call với Curl

Chúng tôi có thể truy cập từ xa tất cả các hàm API tương tự mà chúng tôi đã sử dụng khi đăng nhập vào server. Để dùng thử, chúng tôi sẽ liệt kê những người dùng của server.

curl -H'Authorization: whm root:XXXXXXXXXXXXXXXXXXX' ‘https://example.com:2087/json-api/list_users?api.version=1’

Điều này sẽ phức tạp, vì vậy hãy chia nhỏ các bước ra:

  • curl – ứng dụng dòng lệnh HTTP mà chúng tôi đang sử dụng để gửi yêu cầu đến cPanel server.
  • H’Authorization: whm root: XXXXXXXXXXXXXXXXXXXXX ’ – tùy chọn -H yêu cầu curl gửi HTTP header với thông tin xác thực. Trong trường hợp này là API mà chúng tôi đang truy cập. Root user hoặc tên của tài khoản người bán lại được liên kết với token. Vạn nên thay thế XXXX bằng mã token của mình.
  • https://example.com:2087/ – domain và port của server. Port sẽ khác nhau tùy thuộc vào API mà chúng tôi đang liên hệ. Để có kết nối SSL an toàn tới WHWM, chúng tôi sử dụng port 2087.
  • json-api – JSON là một định dạng dữ liệu và chúng tôi yêu cầu API gửi dữ liệu JSON theo yêu cầu của chúng tôi.
  • list_users? api.version = 1 – hàm API để call và phiên bản API mà chúng tôi đang sử dụng.

Khi bạn gửi yêu cầu, curl sẽ in ra dữ liệu JSON mà nó nhận được từ WHM.

{
   "metadata" : {
      "command" : "list_users",
      "result" : 1,
      "reason" : "OK",
      "version" : 1
   },
   "data" : {
      "users" : [
         "root",
         "user1",
         "user2",
         "example1"
      ]
   }

Như bạn có thể thấy, đó là thông tin tương tự mà chúng tôi nhận được từ ứng dụng dòng lệnh ở định dạng thân thiện với các lập trình viên hơn.

Trong ví dụ cuối, chúng tôi sẽ sử dụng cPanel API để truy xuất thông tin domain cho user1. Giống như chúng tôi đã làm với ứng dụng uapi trong phần trước.

curl -H'Authorization: cpanel user1:XXXXXXXXXXXXXX' 'https://example.com:2083/execute/DomainInfo/list_domains'

Định dạng của yêu cầu vẫn vậy. Nhưng một số chi tiết đã thay đổi. Chúng tôi đang sử dụng port cPanel an toàn (2083) và mô-đun (DomainInfo) và chức năng (list_domains) được đặt trước bằng “execute”. Ngoài ra, chúng tôi đang sử dụng cPanel API bằng mã thông báo được liên kết với người dùng cPanel. Vì vậy chúng tôi phải cung cấp username của họ trong authentication header.

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Vietnix thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Vietnix đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments