Fejlesztőknek
REST API Dokumentáció
HestiaCP REST API engedélyezése, PHP és cURL hívás példák, visszatérési kódok és a leggyakoribb API műveletek.
API engedélyezése
- Jelentkezz be adminként a HestiaCP panelbe.
- Navigálj: Admin → Configure Server → Security szekció.
- Keresd meg az API Access opciót és állítsd Enabled értékre.
- Opcionálisan megadhatod, hogy mely IP-kről engedélyezett az API hozzáférés (ajánlott: korlátozd a szerver és az alkalmazás IP-jére).
- Mentsd el a beállításokat.
API endpoint
text
https://SZERVER-IP:8083/api/Az API HTTPS-en keresztül érhető el, a HestiaCP önaláírt vagy Let's Encrypt tanúsítványával. Programból való híváskor figyelj arra, hogy az önaláírt tanúsítvány esetén a -k (insecure) flag szükséges lehet a cURL-nél, de éles környezetben érvényes tanúsítványt használj.
PHP hívás példa
php
\x3c?php
function hestia_api(string $szerver, string $jelszó, string $parancs, array $params = []): string {
$url = "https://{$szerver}:8083/api/";
$data = array_merge([
'user' => 'admin',
'password' => $jelszó,
'returncode' => 'yes',
'cmd' => $parancs,
], $params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // éles env-ban: true!
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// Felhasználó létrehozása
$valasz = hestia_api('SZERVER-IP', 'ADMIN-JELSZO', 'v-add-user', [
'arg1' => 'ugyfel1',
'arg2' => 'Jelszo123!',
'arg3' => 'ugyfel@domain.hu',
]);
echo "Visszatérési kód: " . $valasz; // 0 = sikercURL példa (parancssorból)
bash
# Felhasználók listázása cURL-lel
curl -X POST https://SZERVER-IP:8083/api/ \
-d "user=admin" \
-d "password=ADMIN-JELSZO" \
-d "returncode=yes" \
-d "cmd=v-list-users" \
-d "arg1=json" \
-k
# Weboldal hozzáadása
curl -X POST https://SZERVER-IP:8083/api/ \
-d "user=admin" \
-d "password=ADMIN-JELSZO" \
-d "returncode=yes" \
-d "cmd=v-add-web-domain" \
-d "arg1=felhasznalonev" \
-d "arg2=domain.hu" \
-kAPI visszatérési kódok
| Kód | Jelentése | Teendő |
|---|---|---|
0 | Siker | A művelet sikeresen végrehajtódott |
1 | Általános hiba | Ellenőrizd az argumentumokat és a log fájlokat |
2 | Érvénytelen argumentum | Hiányzó vagy rosszul formázott paraméter |
3 | Érvénytelen felhasználó | A megadott felhasználó nem létezik |
4 | Hibás jelszó | Az API jelszó helytelen |
6 | Hozzáférés megtagadva | Az API hozzáférés korlátozva van az IP-re |
9 | Már létezik | Az erőforrás (user, domain, stb.) már létezik |
Leggyakoribb API hívások
| Parancs | Funkció | Argumentumok |
|---|---|---|
v-add-web-domain | Weboldal domain hozzáadása | arg1=user, arg2=domain |
v-add-mail-account | Email fiók létrehozása | arg1=user, arg2=domain, arg3=account, arg4=pass |
v-add-database | Adatbázis létrehozása | arg1=user, arg2=dbname, arg3=dbuser, arg4=dbpass |
v-backup-user | Felhasználó mentése | arg1=user |
v-list-users | Felhasználók listázása | arg1=json (opcionális) |
v-delete-user | Felhasználó törlése | arg1=user |
v-suspend-user | Felhasználó felfüggesztése | arg1=user |
Biztonsági figyelmeztetés: Az API jelszót soha ne tárold hardcoded módon a forráskódban! Használj
.env fájlt, környezeti változókat, vagy titkos kulcs kezelő megoldást (pl. Vault, AWS Secrets Manager). Győződj meg arról, hogy az API hozzáférés IP-alapon korlátozva van.