Hi,
ISP-Config macht nichts weiter als die Zonen per Bind auf dem ausgewählten Server bereitszustellen. Den Rest mußt du lösen.(Entweder per AXFR oder RSYNC der Zonenfiles)
Wir haben das mit 4 PowerDNS Slaves gelöst die in den Zonen eingetragen werden. Der ISPC Bind ist dafür der Supermaster. Sobald die Zone auf dem ISPC Bind generiert wird schickt der an die Nameserver der Zone ein Notify. Diese legen die Zone selbst an (geht nur mit DB als Backend) und starten einen AXFR Zonentransfer. Wenn du jetzt im ISPC Interface mal was änderst dauert es max 1 Minuten bis alle Slave Server das Update gemacht haben. Der ISPC-Bind ist im Internet nicht sichtbar sondern nur die 4 Public Slaves.
-
Zum Konvertieren:
1. Zonen anlegen.
Voraussetzung eine Quelle mit Zonen und Client Zuordnung sowie die Templates.
Wie gesagt, bei mir war die Quelle eine PDNS-Datenbank. Aber hier mal die relevanten ISPC Aufrufe (PHP). Ich weiß , es geht auch über die RemoteAPI aber ich habe alle Daten (Kunden/Domain/Mails/DBs) so eingelesen da eben nicht alles über die API ging.
#Anmelden
Code:
unlink('/tmp/cookie') ;
system('curl --insecure -c /tmp/cookie --data "username=admin&passwort=admin&s_mod=login&s_pg=index" http://127.0.0.1:8080/content.php') ;
$sessionid = trim(exec("cat /tmp/cookie | grep PHP |awk '{print $7}'")) ;
#Domain anlegen
Code:
system ("curl -b /tmp/cookie --data \"template_id=$template&server_id=1&
client_group_id=".$kunde."&domain=$row->name&create=1&phpsessid=\$SESSION\" http://127.0.0.1:8080/dns/dns_wizard.php") ;
#zusätzliche Records anlegen
Code:
system("curl -b /tmp/cookie --data \"name=$host&data=$row2->content&ttl=86400&active
=Y&id=&zone=$helpid&type=$row2->type&next_tab=&phpsessid=\$SESSION\" http://127.0.0.1:8080/dns/dns_
".strtolower($row2->type)."_edit.php > /dev/null > /dev/null") ;