ISPConfig-API - Schnittstelle zur Automatisierung

ISPConfig-API - Schnittstelle zur Automatisierung

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

Diese API ist für Kunden eines Managed vServers, 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 $soap_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.php2923 Bytes
 client_change_password.php936 Bytes
 client_delete.php895 Bytes
 client_delete_everything.php929 Bytes
 client_get.php864 Bytes
 client_get_all.php846 Bytes
 client_get_by_customer_no.php939 Bytes
 client_get_by_username.php871 Bytes
 client_get_emailcontact.php933 Bytes
 client_get_groupid.php945 Bytes
 client_get_id.php861 Bytes
 client_get_sites_by_user.php905 Bytes
 client_template_additional_add.php982 Bytes
 client_template_additional_delete.php985 Bytes
 client_template_additional_get.php940 Bytes
 client_templates_get_all.php821 Bytes
 client_update.php1299 Bytes
 dns_a_add.php1077 Bytes
 dns_a_delete.php874 Bytes
 dns_a_get.php834 Bytes
 dns_a_update.php1072 Bytes
 dns_aaaa_add.php1094 Bytes
 dns_aaaa_delete.php880 Bytes
 dns_aaaa_get.php840 Bytes
 dns_aaaa_update.php1081 Bytes
 dns_alias_add.php1092 Bytes
 dns_alias_delete.php882 Bytes
 dns_alias_get.php842 Bytes
 dns_alias_update.php1084 Bytes
 dns_cname_add.php1092 Bytes
 dns_cname_delete.php882 Bytes
 dns_cname_get.php842 Bytes
 dns_cname_update.php1084 Bytes
 dns_hinfo_add.php1099 Bytes
 dns_hinfo_delete.php882 Bytes
 dns_hinfo_get.php842 Bytes
 dns_hinfo_update.php1084 Bytes
 dns_mx_add.php1084 Bytes
 dns_mx_delete.php876 Bytes
 dns_mx_get.php836 Bytes
 dns_mx_update.php1075 Bytes
 dns_ns_add.php1080 Bytes
 dns_ns_delete.php876 Bytes
 dns_ns_get.php836 Bytes
 dns_ns_update.php1075 Bytes
 dns_ptr_add.php1096 Bytes
 dns_ptr_delete.php878 Bytes
 dns_ptr_get.php838 Bytes
 dns_ptr_update.php1078 Bytes
 dns_rp_add.php1124 Bytes
 dns_rp_delete.php877 Bytes
 dns_rp_get.php837 Bytes
 dns_rp_update.php1076 Bytes
 dns_rr_get_all_by_zone.php808 Bytes
 dns_srv_add.php1097 Bytes
 dns_srv_delete.php879 Bytes
 dns_srv_get.php839 Bytes
 dns_srv_update.php1079 Bytes
 dns_templatezone_add.php1082 Bytes
 dns_txt_add.php1101 Bytes
 dns_txt_delete.php878 Bytes
 dns_txt_get.php839 Bytes
 dns_txt_update.php1079 Bytes
 dns_zone_add.php1194 Bytes
 dns_zone_delete.php879 Bytes
 dns_zone_get.php840 Bytes
 dns_zone_get_by_user.php911 Bytes
 dns_zone_get_id.php926 Bytes
 dns_zone_set_status.php915 Bytes
 dns_zone_update.php1081 Bytes
 domains_domain_add.php1102 Bytes
 domains_domain_delete.php957 Bytes
 domains_domain_get.php901 Bytes
 domains_get_all_by_user.php898 Bytes
 get_all_clients.php944 Bytes
 get_function_list.php848 Bytes
 mail_alias_add.php1040 Bytes
 mail_alias_delete.php897 Bytes
 mail_alias_get.php872 Bytes
 mail_alias_update.php1141 Bytes
 mail_aliasdomain_add.php1285 Bytes
 mail_aliasdomain_delete.php959 Bytes
 mail_aliasdomain_get.php934 Bytes
 mail_aliasdomain_update.php1224 Bytes
 mail_blacklist_add.php1042 Bytes
 mail_blacklist_delete.php913 Bytes
 mail_blacklist_get.php896 Bytes
 mail_blacklist_update.php1179 Bytes
 mail_catchall_add.php1047 Bytes
 mail_catchall_delete.php909 Bytes
 mail_catchall_get.php890 Bytes
 mail_catchall_update.php1168 Bytes
 mail_domain_add.php972 Bytes
 mail_domain_delete.php901 Bytes
 mail_domain_get.php878 Bytes
 mail_domain_get_by_domain.php895 Bytes
 mail_domain_set_status.php923 Bytes
 mail_domain_update.php1150 Bytes
 mail_fetchmail_add.php1182 Bytes
 mail_fetchmail_delete.php913 Bytes
 mail_fetchmail_get.php896 Bytes
 mail_fetchmail_update.php1174 Bytes
 mail_filter_add.php1047 Bytes
 mail_filter_delete.php901 Bytes
 mail_filter_get.php878 Bytes
 mail_filter_update.php1150 Bytes
 mail_forward_add.php1057 Bytes
 mail_forward_delete.php951 Bytes
 mail_forward_get.php1005 Bytes
 mail_forward_update.php1175 Bytes
 mail_policy_add.php2026 Bytes
 mail_policy_delete.php930 Bytes
 mail_policy_get.php880 Bytes
 mail_policy_update.php1158 Bytes
 mail_relay_recipient_add.php1243 Bytes
 mail_relay_recipient_delete.php1021 Bytes
 mail_relay_recipient_get.php928 Bytes
 mail_relay_recipient_update.php1179 Bytes
 mail_spamfilter_blacklist_add.php1066 Bytes
 mail_spamfilter_blacklist_delete.php965 Bytes
 mail_spamfilter_blacklist_get.php906 Bytes
 mail_spamfilter_blacklist_update.php1195 Bytes
 mail_spamfilter_user_add.php1088 Bytes
 mail_spamfilter_user_delete.php953 Bytes
 mail_spamfilter_user_get.php904 Bytes
 mail_spamfilter_user_update.php1211 Bytes
 mail_spamfilter_whitelist_add.php1066 Bytes
 mail_spamfilter_whitelist_delete.php965 Bytes
 mail_spamfilter_whitelist_get.php906 Bytes
 mail_spamfilter_whitelist_update.php1195 Bytes
 mail_transport_add.php1031 Bytes
 mail_transport_delete.php949 Bytes
 mail_transport_get.php896 Bytes
 mail_transport_update.php1180 Bytes
 mail_user_add.php1653 Bytes
 mail_user_backup.php1182 Bytes
 mail_user_backup_active.php1066 Bytes
 mail_user_backup_download_link.php1404 Bytes
 mail_user_backup_list.php1026 Bytes
 mail_user_delete.php905 Bytes
 mail_user_filter_add.php1082 Bytes
 mail_user_filter_delete.php949 Bytes
 mail_user_filter_get.php892 Bytes
 mail_user_filter_update.php1183 Bytes
 mail_user_get.php852 Bytes
 mail_user_instant_backup.php1067 Bytes
 mail_user_update.php1262 Bytes
 mail_whitelist_add.php1317 Bytes
 mail_whitelist_delete.php913 Bytes
 mail_whitelist_get.php896 Bytes
 mail_whitelist_update.php1180 Bytes
 mailquota_get_by_user.php872 Bytes
 quota_get_by_user.php868 Bytes
 server_get.php884 Bytes
 server_get_all.php863 Bytes
 server_get_functions.php939 Bytes
 server_get_php_versions.php880 Bytes
 server_get_serverid_by_ip.php899 Bytes
 server_get_serverid_by_name.php962 Bytes
 server_get_sys_datalog_status.php1026 Bytes
 server_ip_add.php1293 Bytes
 server_ip_delete.php941 Bytes
 server_ip_get.php932 Bytes
 server_ip_update.php1518 Bytes
 server_restart_php.php974 Bytes
 sites_cron_add.php1114 Bytes
 sites_cron_delete.php922 Bytes
 sites_cron_get.php860 Bytes
 sites_cron_update.php1104 Bytes
 sites_database_add.php1369 Bytes
 sites_database_delete.php946 Bytes
 sites_database_get.php887 Bytes
 sites_database_get_all_by_user.php906 Bytes
 sites_database_update.php1157 Bytes
 sites_database_user_add.php1024 Bytes
 sites_database_user_delete.php961 Bytes
 sites_database_user_get.php902 Bytes
 sites_database_user_update.php1219 Bytes
 sites_ftp_user_add.php1264 Bytes
 sites_ftp_user_delete.php918 Bytes
 sites_ftp_user_get.php888 Bytes
 sites_ftp_user_server_get.php951 Bytes
 sites_ftp_user_update.php1148 Bytes
 sites_redis_add.php1260 Bytes
 sites_redis_delete.php946 Bytes
 sites_redis_get.php898 Bytes
 sites_redis_get_all.php840 Bytes
 sites_redis_update.php1276 Bytes
 sites_shell_user_add.php1368 Bytes
 sites_shell_user_delete.php960 Bytes
 sites_shell_user_get.php900 Bytes
 sites_shell_user_update.php1168 Bytes
 sites_web_aliasdomain_add.php1994 Bytes
 sites_web_aliasdomain_delete.php962 Bytes
 sites_web_aliasdomain_get.php906 Bytes
 sites_web_aliasdomain_update.php1192 Bytes
 sites_web_domain_add.php3172 Bytes
 sites_web_domain_add_software.php1238 Bytes
 sites_web_domain_backup.php1167 Bytes
 sites_web_domain_backup_active.php1070 Bytes
 sites_web_domain_backup_download_link.php1423 Bytes
 sites_web_domain_backup_list.php1036 Bytes
 sites_web_domain_delete.php944 Bytes
 sites_web_domain_get.php876 Bytes
 sites_web_domain_instant_backup.php1084 Bytes
 sites_web_domain_set_status.php929 Bytes
 sites_web_domain_update.php1270 Bytes
 sites_web_folder_add.php1208 Bytes
 sites_web_folder_delete.php1010 Bytes
 sites_web_folder_get.php944 Bytes
 sites_web_folder_update.php1217 Bytes
 sites_web_folder_user_add.php1202 Bytes
 sites_web_folder_user_delete.php1024 Bytes
 sites_web_folder_user_get.php959 Bytes
 sites_web_folder_user_update.php1257 Bytes
 sites_web_subdomain_add.php1990 Bytes
 sites_web_subdomain_delete.php953 Bytes
 sites_web_subdomain_get.php895 Bytes
 sites_web_subdomain_update.php1172 Bytes
 sites_web_vhost_aliasdomain_add.php2316 Bytes
 sites_web_vhost_aliasdomain_delete.php1028 Bytes
 sites_web_vhost_aliasdomain_get.php964 Bytes
 sites_web_vhost_aliasdomain_update.php1275 Bytes
 sites_web_vhost_subdomain_add.php2455 Bytes
 sites_web_vhost_subdomain_delete.php1020 Bytes
 sites_web_vhost_subdomain_get.php956 Bytes
 sites_web_vhost_subdomain_update.php1255 Bytes
 soap_config.php166 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 folgende Lösungen:

ScaleServer oder Web Hosting

Zu den ScaleServer Paketen Zu den Web Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

ScaleServer oder Shop Hosting

Zu den ScaleServer Paketen Zu den Shop Hosting Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed vServer oder ScaleServer

Zu den Managed vServer Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen folgende Lösungen:

Managed Server oder ScaleServer

Zu den Managed Server Paketen Zu den ScaleServer Paketen

Wir empfehlen Ihnen unsere

Timme Cloud 2.0

Zur Timme Cloud 2.0