ISPConfig-API - Schnittstelle zur Automatisierung

ISPConfig-API - Schnittstelle zur Automatisierung

Unser Control Panel ISPConfig bietet eine API, über die Sie diverse Aufgaben automatisieren können, so z.B. das Anlegen von Kunden, Websites, Datenbanken, FTP- und Email-Konten. So haben Sie die Möglichkeit, ISPConfig in Ihre bestehende Infrastruktur einzupassen und immer wiederkehrende, zeitfressende Aufgaben automatisiert abzuarbeiten. Wenn Sie beispielsweise viele Websites mit den immer gleichen Einstellungen anlegen müssen (z.B., weil Sie sich als Agentur auf ein bestimmtes CMS oder Shopsystem spezialisiert haben) plus Datenbanken plus FTP-Accounts etc., können Sie das nun über die API machen und auf Wunsch auch gleich die Zugangsdaten an den Kunden verschicken.

Diese API ist für Kunden eines Agenturpaketes, Managed Servers oder ScaleServers verfügbar; wenn Sie ein Hostingpaket haben, steht Ihnen die Schnittstelle leider nicht zur Verfügung.

Um die API nutzen zu können, müssen Sie in Ihrem ISPConfig unter "System" > "Entfernte Benutzer" einen Benutzer anlegen, der auf die API zugreifen darf (bitte achten Sie darauf, ein starkes Passwort für diesen Benutzer zu vergeben!). Für diesen Benutzer schalten Sie bestimmte Funktionen frei (welche Funktion jeweils benötigt wird, ist im jeweiligen Beispiel-Skript am Ende dieser Seite als Kommentar vermerkt):

Anlegen einer API-Benutzers unter ISPConfig

Die Benutzerdaten tragen Sie im Skript soap_config.php ein; passen Sie außerdem die IP-Adresse in den Variablen $soap_location und $sopa_uri an (Sie können statt einer IP-Adresse auch einen Hostnamen setzen, z.B. den Hostnamen, über den Sie auf Ihr ISPConfig zugreifen; wenn Ihre Skripte auf demselben Server liegen, auf dem auch das ISPConfig-Interface liegt, können Sie einfach localhost eintragen):

<?php

$username = 'apiuser';
$password = 'meinganzsicherespasswort';


$soap_location = 'https://192.168.0.105:8080/remote/index.php';
$soap_uri = 'https://192.168.0.105:8080/remote/';

?>

Wenn Parameter übergeben werden (in unseren Beispiel-Skripten heißt das Array, das die Paramter enthält, immer $params), orientieren sich die Namen der Keys immer an den Spaltennamen der zugrundeliegenden Datenbanktabelle in der ISPConfig-Datenbank. Beispiel-Paramter für das Anlegen einer Website:

$params = array(
		'server_id' => 1,
		'ip_address' => '*',
		'domain' => 'test2.int',
		'type' => 'vhost',
		'parent_domain_id' => 0,
		'vhost_type' => 'name',
		'hd_quota' => 100000,
		'traffic_quota' => -1,
		'cgi' => 'y',
		'ssi' => 'y',
		'suexec' => 'y',
		'errordocs' => 1,
		'is_subdomainwww' => 1,
		'subdomain' => '',
		'php' => 'y',
		'ruby' => 'n',
		'redirect_type' => '',
		'redirect_path' => '',
		'ssl' => 'n',
		'ssl_state' => '',
		'ssl_locality' => '',
		'ssl_organisation' => '',
		'ssl_organisation_unit' => '',
		'ssl_country' => '',
		'ssl_domain' => '',
		'ssl_request' => '',
		'ssl_key' => '',
		'ssl_cert' => '',
		'ssl_bundle' => '',
		'ssl_action' => '',
		'stats_password' => '',
		'stats_type' => 'webalizer',
		'allow_override' => 'All',
		'apache_directives' => '',
		'php_open_basedir' => '/',
		'pm_max_requests' => 0,
		'pm_process_idle_timeout' => 10,
		'custom_php_ini' => '',
		'backup_interval' => '',
		'backup_copies' => 1,
		'active' => 'y',
		'traffic_quota_lock' => 'n'
	);

Wie Sie sehen, lauten die Array-Keys (server_id, ip_address, domain, type, etc.) exakt wie die Spaltennamen der web_domain-Tabelle in der ISPConfig-Datenbank. Mit der Zeit, da wir ISPConfig immer weiterentwickeln, können neue Spaltennamen hinzukommen. Sie können das Parameter-Array entsprechend erweitern, wenn Sie den Spaltennamen kennen; dies ist aber optional - wenn Parameter fehlen, werden die Default-Werte aus der MySQL-Tabellendefinition genommen.

In der folgenden Tabelle finden Sie in PHP geschriebene Beispielskripte für alle möglichen Anwendungsfälle:

DateinameGröße
 client_add.php2870 Bytes
 client_change_password.php944 Bytes
 client_delete.php945 Bytes
 client_delete_everything.php980 Bytes
 client_get.php912 Bytes
 client_get_by_username.php919 Bytes
 client_get_id.php909 Bytes
 client_get_sites_by_user.php954 Bytes
 client_templates_get_all.php868 Bytes
 client_update.php1360 Bytes
 dns_a_add.php1137 Bytes
 dns_a_delete.php923 Bytes
 dns_a_get.php882 Bytes
 dns_a_update.php1128 Bytes
 dns_aaaa_add.php1154 Bytes
 dns_aaaa_delete.php929 Bytes
 dns_aaaa_get.php888 Bytes
 dns_aaaa_update.php1137 Bytes
 dns_alias_add.php1152 Bytes
 dns_alias_delete.php931 Bytes
 dns_alias_get.php890 Bytes
 dns_alias_update.php1140 Bytes
 dns_cname_add.php1152 Bytes
 dns_cname_delete.php931 Bytes
 dns_cname_get.php890 Bytes
 dns_cname_update.php1140 Bytes
 dns_hinfo_add.php1159 Bytes
 dns_hinfo_delete.php931 Bytes
 dns_hinfo_get.php890 Bytes
 dns_hinfo_update.php1140 Bytes
 dns_mx_add.php1144 Bytes
 dns_mx_delete.php925 Bytes
 dns_mx_get.php884 Bytes
 dns_mx_update.php1131 Bytes
 dns_ns_add.php1140 Bytes
 dns_ns_delete.php925 Bytes
 dns_ns_get.php884 Bytes
 dns_ns_update.php1131 Bytes
 dns_ptr_add.php1156 Bytes
 dns_ptr_delete.php927 Bytes
 dns_ptr_get.php886 Bytes
 dns_ptr_update.php1134 Bytes
 dns_rp_add.php1184 Bytes
 dns_rp_delete.php926 Bytes
 dns_rp_get.php885 Bytes
 dns_rp_update.php1132 Bytes
 dns_rr_get_all_by_zone.php857 Bytes
 dns_srv_add.php1157 Bytes
 dns_srv_delete.php928 Bytes
 dns_srv_get.php887 Bytes
 dns_srv_update.php1135 Bytes
 dns_txt_add.php1161 Bytes
 dns_txt_delete.php926 Bytes
 dns_txt_get.php887 Bytes
 dns_txt_update.php1135 Bytes
 dns_zone_add.php1258 Bytes
 dns_zone_delete.php927 Bytes
 dns_zone_get.php888 Bytes
 dns_zone_get_by_user.php961 Bytes
 dns_zone_set_status.php965 Bytes
 dns_zone_update.php1137 Bytes
 get_function_list.php896 Bytes
 mail_alias_add.php1095 Bytes
 mail_alias_delete.php945 Bytes
 mail_alias_get.php920 Bytes
 mail_alias_update.php1197 Bytes
 mail_blacklist_add.php1097 Bytes
 mail_blacklist_delete.php961 Bytes
 mail_blacklist_get.php944 Bytes
 mail_blacklist_update.php1235 Bytes
 mail_catchall_add.php1102 Bytes
 mail_catchall_delete.php957 Bytes
 mail_catchall_get.php938 Bytes
 mail_catchall_update.php1224 Bytes
 mail_domain_add.php1025 Bytes
 mail_domain_delete.php949 Bytes
 mail_domain_get.php926 Bytes
 mail_domain_get_by_domain.php944 Bytes
 mail_domain_set_status.php973 Bytes
 mail_domain_update.php1206 Bytes
 mail_fetchmail_add.php1241 Bytes
 mail_fetchmail_delete.php961 Bytes
 mail_fetchmail_get.php944 Bytes
 mail_fetchmail_update.php1230 Bytes
 mail_filter_add.php1103 Bytes
 mail_filter_delete.php949 Bytes
 mail_filter_get.php926 Bytes
 mail_filter_update.php1206 Bytes
 mail_forward_add.php1112 Bytes
 mail_forward_delete.php1001 Bytes
 mail_forward_get.php1054 Bytes
 mail_forward_update.php1231 Bytes
 mail_policy_add.php2114 Bytes
 mail_policy_delete.php980 Bytes
 mail_policy_get.php928 Bytes
 mail_policy_update.php1214 Bytes
 mail_spamfilter_blacklist_add.php1122 Bytes
 mail_spamfilter_blacklist_delete.php1015 Bytes
 mail_spamfilter_blacklist_get.php954 Bytes
 mail_spamfilter_blacklist_update.php1251 Bytes
 mail_spamfilter_user_add.php1144 Bytes
 mail_spamfilter_user_delete.php1003 Bytes
 mail_spamfilter_user_get.php952 Bytes
 mail_spamfilter_user_update.php1267 Bytes
 mail_spamfilter_whitelist_add.php1122 Bytes
 mail_spamfilter_whitelist_delete.php1015 Bytes
 mail_spamfilter_whitelist_get.php954 Bytes
 mail_spamfilter_whitelist_update.php1251 Bytes
 mail_transport_add.php1086 Bytes
 mail_transport_delete.php999 Bytes
 mail_transport_get.php944 Bytes
 mail_transport_update.php1236 Bytes
 mail_user_add.php1726 Bytes
 mail_user_delete.php953 Bytes
 mail_user_filter_add.php1140 Bytes
 mail_user_filter_delete.php999 Bytes
 mail_user_filter_get.php940 Bytes
 mail_user_filter_update.php1239 Bytes
 mail_user_get.php900 Bytes
 mail_user_update.php1205 Bytes
 mail_whitelist_add.php1093 Bytes
 mail_whitelist_delete.php961 Bytes
 mail_whitelist_get.php944 Bytes
 mail_whitelist_update.php1236 Bytes
 server_get.php933 Bytes
 server_get_serverid_by_ip.php948 Bytes
 sites_cron_add.php1175 Bytes
 sites_cron_delete.php972 Bytes
 sites_cron_get.php908 Bytes
 sites_cron_update.php1160 Bytes
 sites_database_add.php1296 Bytes
 sites_database_delete.php996 Bytes
 sites_database_get.php935 Bytes
 sites_database_get_all_by_user.php956 Bytes
 sites_database_update.php1213 Bytes
 sites_database_user_add.php1077 Bytes
 sites_database_user_delete.php1011 Bytes
 sites_database_user_get.php950 Bytes
 sites_database_user_update.php1275 Bytes
 sites_ftp_user_add.php1330 Bytes
 sites_ftp_user_delete.php967 Bytes
 sites_ftp_user_get.php936 Bytes
 sites_ftp_user_update.php1204 Bytes
 sites_shell_user_add.php1272 Bytes
 sites_shell_user_delete.php1010 Bytes
 sites_shell_user_get.php948 Bytes
 sites_shell_user_update.php1224 Bytes
 sites_web_aliasdomain_add.php2045 Bytes
 sites_web_aliasdomain_delete.php1012 Bytes
 sites_web_aliasdomain_get.php954 Bytes
 sites_web_aliasdomain_update.php1248 Bytes
 sites_web_domain_add.php2041 Bytes
 sites_web_domain_delete.php994 Bytes
 sites_web_domain_get.php924 Bytes
 sites_web_domain_set_status.php979 Bytes
 sites_web_domain_update.php1329 Bytes
 sites_web_subdomain_add.php2041 Bytes
 sites_web_subdomain_delete.php1003 Bytes
 sites_web_subdomain_get.php943 Bytes
 sites_web_subdomain_update.php1227 Bytes
 soap_config.php177 Bytes

 

Zurück zu den Anleitungen

Finden Sie den passenden Tarif

Unser Tarifberater hilft Ihnen dabei, das passende Paket zu finden. Bei Fragen berät Sie unser Sales-Team sehr gerne unter +49 (0) 4131 / 22 78 1-25 oder sales@timmehosting.de.

Bitte beachten Sie: Der Tarifberater dient nur der groben Orientierung. Ihr tatsächlicher Bedarf kann durch den Ressourcenbedarf Ihrer Anwendung(en), tageszeitabhängige/saisonale/aktionsbedingte Schwankungen des Besucheraufkommens, geplantes Wachstum und weitere Faktoren von der Empfehlung abweichen.

  • 1
  • 2
  • 3
  • 4
  • 5

Was möchten Sie hosten?

Möchten Sie einen oder mehrere Shops hosten? (Eine Multishop-Installation gilt als ein Shop.)

Möchten Sie eine oder mehrere Websites hosten? (Eine Multisite-Installation gilt als eine Website.)

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Besucher haben Sie insgesamt pro Tag?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviele Artikel haben Sie insgesamt in Ihrem Shop/Ihren Shops (inkl. Varianten)?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wieviel Speicherplatz benötigen Sie insgesamt?

Wir empfehlen Ihnen unser

Managed vServer Hosting

Zu den Managed vServer Paketen

Managed Server Hosting

Zu den Managed Server Paketen

Private Cloud Hosting

Zu den Private Cloud Paketen