How-to: Server in der Hetzner Cloud per API & PHP erstellen

In modernen IT-Umgebungen ist Automatisierung unverzichtbar – das gilt auch für das Bereitstellen von Cloud-Ressourcen. In diesem Beitrag zeige ich, wie Sie mit der Hetzner Cloud API einen neuen Server direkt per PHP-Script erstellen können.


🔧 Voraussetzungen

Um das folgende Beispiel zu nutzen, benötigen Sie:

  • Einen aktiven Hetzner Cloud Account
  • Ein gültiges API-Token (aus der Hetzner Console)
  • Optional: Ein SSH-Key zur Einbindung beim Erstellen
  • PHP mit aktivierter cURL-Unterstützung

🔐 API-Token erstellen

  1. Anmeldung unter: https://console.hetzner.cloud
  2. Navigieren zu: Access → API Tokens
  3. Neuen Token generieren und sicher speichern

📄 PHP-Beispiel: Server erstellen

<?php

$apiToken = 'dein_api_token_hier';

$data = [
'name' => 'mein-server',
'server_type' => 'cx21',
'image' => 'ubuntu-22.04',
'location' => 'nbg1',
'ssh_keys' => ['mein-ssh-key-name']
];

$ch = curl_init('https://api.hetzner.cloud/v1/servers');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiToken
]);

$response = curl_exec($ch);

if (curl_errno($ch)) {
echo 'Fehler: ' . curl_error($ch);
} else {
$result = json_decode($response, true);
echo "Server-ID: " . $result['server']['id'];
}

curl_close($ch);

📝 Hinweise

  • Der Server-Typ cx21 bietet 2 vCPU, 4 GB RAM
  • Das Beispiel verwendet ubuntu-22.04 als Basis-Image
  • Standort nbg1 steht für Nürnberg (weitere: fsn1, hel1)
  • SSH-Schlüssel müssen vorher in der Cloud Console hinterlegt sein
  • Alternativ zu location kann auch datacenter verwendet werden

👉 Vollständige API-Doku: https://docs.hetzner.cloud


📬 API testen mit Postman

Bevor Sie ein eigenes PHP-Script schreiben, lohnt es sich, die API-Anfragen vorab mit einem Tool wie Postman zu testen. So können Sie Syntax, Header und Datenstruktur prüfen – ganz ohne Code.

So geht’s:

  1. Postman öffnen und eine neue POST-Anfrage anlegen:
    URL: https://api.hetzner.cloud/v1/servers
  2. Header setzen:
    • Content-Type: application/json
    • Authorization: Bearer dein_api_token
  3. Body (raw, JSON) einfügen:
{
"name": "test-server",
"server_type": "cx21",
"image": "ubuntu-22.04",
"location": "nbg1"
}
  1. Anfrage absenden und prüfen, ob die Antwort erfolgreich ist (HTTP 201 Created)

Vorteile von Postman:

  • Schnell und ohne Entwicklungsumgebung nutzbar
  • Fehlerquellen (z. B. Header vergessen, JSON-Format falsch) lassen sich sofort erkennen
  • Ideal für erste Tests und zum Verständnis der API-Struktur

🧩 API zuerst testen – dann automatisieren

Durch den Einsatz von Postman als Zwischenschritt lassen sich viele typische Probleme vermeiden. Sobald die Konfiguration funktioniert, kann das Ganze einfach in PHP, Python, Bash oder ein anderes Automatisierungstool überführt werden.

🧠 Fazit

Mit wenigen Zeilen PHP lässt sich ein Server in der Hetzner Cloud automatisiert erstellen – ideal für Testsysteme, CI/CD-Umgebungen oder Self-Service-Lösungen im Unternehmen.


📞 Unterstützung benötigt?

Sie möchten individuelle Automatisierungen mit der Hetzner Cloud API umsetzen?
Ich unterstütze Sie gerne bei der Entwicklung effizienter Infrastruktur-Lösungen.
👉 Jetzt Kontakt aufnehmen

Teile deine Liebe
Francesco Mutmann
Francesco Mutmann

Ich bin Francesco Mutmann, selbstständiger IT-Dienstleister aus Duisburg. Schon als Kind habe ich an Technik herumgebastelt – angefangen bei der Modelleisenbahn meines Opas bis hin zu meinem ersten eigenen Serverrack im Kinderzimmer. Heute unterstütze ich Unternehmen dabei, ihre IT-Infrastruktur sicher, effizient und zukunftsfähig aufzubauen. Mein Schwerpunkt liegt auf Themen wie Automatisierung, Linux, Virtualisierung mit Proxmox und praxisnaher Systemintegration.

Was mich auszeichnet? Klare Kommunikation, technische Tiefe und der Anspruch, nachhaltige Lösungen zu schaffen, die auch in sechs Monaten noch sinnvoll sind.

Artikel: 6

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Plugin von Real Cookie Banner