uwe
Junior Member
Posts: 68
Joined: Feb 2008
Reputation: 0
|
[HowTo] powerdns and isp-control
Hello,
I've been trying to get ispcp and powerdns to work togather, here is what i do to get it, its not really generic and im using it in testing environment.
Install pdns-server and pdns-backend-mysql (im using debian)
create tables domains, records and supermasters in ispcp database following this doc http://doc.powerdns.com/generic-mypgsql-backends.html
configure pdns to use mysql-backend and set the username and password and database name ..etc, i also used bind backend to serve old domains i didnt have imported into pdns database, this can be also achieved by using bind2mysql script but i chose not to since im using domain ID from ispcp and not relaying on pdns to set the domain ID.
then i modify ispcp-dmn-mngr (/var/www/ispcp/engine)
in sub dmn_add_named_cfg_data
around the store_file function and before the return add:
PHP Code:
doSQL("INSERT INTO domains values (@$dmn_data[0],'$dmn_name',NULL,NULL,'MASTER',NULL,NULL)");
in sub dmn_del_named_cfg_data , around where we save a working copy
PHP Code:
doSQL("DELETE FROM domains where id = @$dmn_data[0]");
in sub dmn_add_named_db_data, around where we store generated data,(store_file) before the returns
PHP Code:
doSQL("INSERT INTO records values (NULL,@$dmn_data[0],'$dmn_name','SOA','ns1.$dmn_name. postmaster.$dmn_name. $time2 4800 3600 432000 21600',21600,0,1206429418)"); doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','', 'NS','ns1.$dmn_name',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','', 'NS','ns2.$dmn_name',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','', 'MX','mail.$dmn_name',21600,10,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','". $dmn_name . "', 'A','" . $dmn_ip . "',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','www', 'A','" . $dmn_ip . "',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$dmn_data[0]','$dmn_name.', 'TXT','\"v=spf1 a mx ip4:$dmn_ip ~all\"',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'localhost', 'A','127.0.0.1',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'mail', 'A','$base_svr_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'ns1', 'A','$base_svr_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'ns2', 'A','$sec_dns_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'imap', 'CNAME','mail',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'pop', 'CNAME','mail',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'pop3', 'CNAME','mail',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'smtp', 'CNAME','mail',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL',@$dmn_data[0],'ftp', 'CNAME','www',21600,0,1206426697 )") ;
and in dmn_del_named_db_data, before the returns, near del_file do:
PHP Code:
doSQL("DELETE FROM records where domain_id = @$dmn_data[0]");
and now we modify dmn-sub-mngr, here we modify two functions:
sub sub_add_named_cfg_data, near the store_file call, and before the return:
PHP Code:
doSQL("INSERT INTO records values ('NULL','@$sub_data[5]','$sub_pref', 'A','$dmn_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$sub_data[5]','www.$sub_pref', 'A','$dmn_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$sub_data[5]','ftp.$sub_pref', 'A','$dmn_ip',21600,0,1206426697 )") ; doSQL("INSERT INTO records values ('NULL','@$sub_data[5]','localhost.$sub_pref', 'A','127.0.0.1',21600,0,1206426697 )") ;
and sub sub_del_named_cfg_data, near storing prepared data (also store_file call) and before return:
PHP Code:
doSQL("DELETE FROM records where domain_id='@$sub_data[5]' AND name='$sub_pref' AND type='A'") ; doSQL("DELETE FROM records where domain_id='@$sub_data[5]' AND name='www.$sub_pref' AND type='A'") ; doSQL("DELETE FROM records where domain_id='@$sub_data[5]' AND name='ftp.$sub_pref' AND type='A'") ; doSQL("DELETE FROM records where domain_id='@$sub_data[5]' AND name='localhost.$sub_pref' AND type='A'") ;
(This post was last modified: 11-25-2008 03:09 AM by BeNe.)
|
|