Korzystanie z API DirectAdmin: zarządzanie Państwa pakietem za pomocą skryptów
DirectAdmin posiada API: sposób na zarządzanie Państwa pakietem za pomocą skryptu lub programu zamiast myszki. Niemal wszystko, co można zrobić w panelu, da się także wykonać za pomocą API. Można na przykład zaktualizować rekord DNS, gdy w domu zmienia się adres IP, tworzyć skrzynki pocztowe z poziomu własnego oprogramowania albo co noc pobierać listę swoich baz danych.
Czy mogę korzystać z API przy moim pakiecie?
Tak. API działa z każdym pakietem, w którym dostępny jest DirectAdmin: ze wszystkimi pakietami hostingu stron internetowych, a także z pakietami poczty e-mail. Resellerzy mogą dodatkowo zarządzać w ten sposób kontami swoich własnych klientów. Nie trzeba niczego zgłaszać i nie wiąże się to z żadnymi dodatkowymi kosztami.
Skrypt ma dokładnie takie same uprawnienia jak Państwo w DirectAdmin. Może więc działać wyłącznie na Państwa pakiecie i tylko w zakresie, na jaki pozwala Państwa pakiet.
Jak to działa
- Adres: z API komunikują się Państwo w tym samym miejscu, w którym się Państwo logują: https://nazwaserwera:2222. Nazwę swojego serwera znajdą Państwo w Moje WebOké przy pakiecie, pod przyciskiem Zarządzaj.
- Dwa rodzaje poleceń: nowe API, z adresami zaczynającymi się od /api/ i odpowiedziami w formacie JSON, oraz starsze API z poleceniami takimi jak /CMD_API_.... Prosimy zacząć od nowego API. To, czego tam jeszcze nie ma, znajdą Państwo w starym API. Aby otrzymać odpowiedź w formacie JSON, prosimy dodać na końcu ?json=yes.
- Logowanie: każde polecenie przesyła Państwa nazwę użytkownika DA oraz hasło (uwierzytelnianie HTTP Basic). Zalecamy używanie do tego celu klucza logowania (login key), a nie prawdziwego hasła DA, patrz poniżej.
- Dokumentacja we własnym panelu: w DirectAdmin, w zakładce Support & Help, znajdą Państwo API Documentation. Widoczne są tam wszystkie polecenia nowego API, które można od razu przetestować na własnym koncie.
Przykład
Za pomocą tego polecenia można pobrać bazy danych swojego pakietu. Prosimy zastąpić uzytkownik, klucz i nazwaserwera własnymi danymi:
curl -u 'uzytkownik:klucz' https://nazwaserwera:2222/api/db-show/databases
W odpowiedzi otrzymają Państwo listę w formacie JSON. W ten sam sposób działa to z poziomu PHP, Pythona lub dowolnego innego języka, który potrafi odpytać adres internetowy.
Bezpieczna praca z kluczem logowania
Nigdy nie należy przekazywać skryptowi swojego zwykłego hasła DA. Prosimy utworzyć w DirectAdmin, w sekcji Klucze logowania, osobny klucz. Taki klucz można ograniczyć do:
- tylko tych poleceń, których skrypt naprawdę potrzebuje;
- wyłącznie z adresu IP komputera lub serwera, na którym działa skrypt;
- z datą ważności, jeśli dostęp jest potrzebny tylko przez pewien czas.
Prosimy w każdym przypadku wykluczyć polecenia CMD_LOGIN_KEYS i CMD_PASSWD, aby klucz nie mógł tworzyć nowych kluczy ani zmieniać Państwa hasła. Jeśli mimo to klucz wycieknie, wystarczy go usunąć i utworzyć nowy, bez konieczności zmiany hasła.
Jak utworzyć klucz, krok po kroku opisano w instrukcji DirectAdmin: Klucze logowania: logowanie dla skryptów i programów.
Warto wiedzieć
- Jeśli skrypt wielokrotnie próbuje zalogować się z nieprawidłowym hasłem lub kluczem, nasz firewall blokuje taki adres IP. Prosimy sprawdzić stronę Czy jestem zablokowany?, jeśli Państwa skrypt nagle przestaje mieć połączenie.
- Chętnie pomożemy, jeśli samo API nie działa, jednak nie piszemy ani nie sprawdzamy własnych skryptów. Prosimy skorzystać w tym celu z dokumentacji DirectAdmin poniżej.
- Chcą Państwo zarządzać swoim hostingiem za pomocą Claude, ChatGPT lub Mistral, bez samodzielnego programowania? Prosimy zapoznać się z naszym serwerem MCP dla AI.
Dokumentacja DirectAdmin
Dokumentacja DirectAdmin dostępna jest w języku angielskim:
- API Access: jak działa API, logowanie i poszczególne rodzaje API.
- Examples: przykłady z użyciem curl, Bash, PHP i Pythona.
- Legacy API: starsze polecenia CMD_API i ich odpowiedzi.
- Przegląd poleceń CMD_API: wyszukiwanie wśród wszystkich starszych poleceń.
- Creating a login key: klucze logowania według DirectAdmin.
Zobacz także w instrukcji DirectAdmin: Znajdowanie nazwy serwera i nazwy użytkownika DA.
