Added powerdns support for debian Linux in the installer.
2 files added
9 files modified
| | |
| | | $conf['mydns']['config_dir'] = '/etc';
|
| | | $conf['mydns']['init_script'] = 'mydns';
|
| | |
|
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit
|
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation
|
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit';
|
| | |
| | | $conf['mydns']['config_dir'] = '/etc'; |
| | | $conf['mydns']['init_script'] = 'mydns'; |
| | | |
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit |
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | |
| | | $conf['mydns']['config_dir'] = '/etc';
|
| | | $conf['mydns']['init_script'] = 'mydns';
|
| | |
|
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit
|
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation
|
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit';
|
| | |
| | | $conf['mydns']['config_dir'] = '/etc';
|
| | | $conf['mydns']['init_script'] = 'mydns';
|
| | |
|
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit
|
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation
|
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit';
|
| | |
| | | $dist['mydns']['config_dir'] = '/etc'; |
| | | $dist['mydns']['init_script'] = 'mydns'; |
| | | |
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | |
| | | $conf['mydns']['config_dir'] = '/etc';
|
| | | $conf['mydns']['init_script'] = 'mydns';
|
| | |
|
| | | //* PowerDNS |
| | | $conf['powerdns']['installed'] = false; // will be detected automatically during installation |
| | | $conf['powerdns']['database'] = 'powerdns'; |
| | | $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; |
| | | $conf['powerdns']['init_script'] = 'pdns'; |
| | | |
| | | //* Jailkit
|
| | | $conf['jailkit']['installed'] = false; // will be detected automatically during installation
|
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit';
|
| | |
| | | swriteln('Configuring Pureftpd'); |
| | | $inst->configure_pureftpd(); |
| | | |
| | | //* Configure MyDNS |
| | | //* Configure DNS |
| | | if($conf['powerdns']['installed'] == true) { |
| | | swriteln('Configuring PowerDNS'); |
| | | $inst->configure_powerdns(); |
| | | } else { |
| | | swriteln('Configuring MyDNS'); |
| | | $inst->configure_mydns(); |
| | | } |
| | | |
| | | //* Configure Apache |
| | | swriteln('Configuring Apache'); |
| | |
| | | if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); |
| | | if($conf['apache']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); |
| | | if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); |
| | | if($conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); |
| | | if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); |
| | | if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); |
| | | |
| | | }else{ |
| | | |
| | |
| | | if($conf['pureftpd']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); |
| | | } |
| | | |
| | | //** Configure MyDNS |
| | | //** Configure DNS |
| | | if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') { |
| | | $conf['services']['dns'] = true; |
| | | //* Configure DNS |
| | | if($conf['powerdns']['installed'] == true) { |
| | | swriteln('Configuring PowerDNS'); |
| | | $inst->configure_powerdns(); |
| | | if($conf['powerdns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); |
| | | } else { |
| | | swriteln('Configuring MyDNS'); |
| | | $inst->configure_mydns(); |
| | | if($conf['mydns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | |
| | | } |
| | | |
| | | //** Configure Apache |
| | | swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the 'Configure Apache Server' option.\n"); |
| | | if(strtolower($inst->simple_query('Configure Apache Server',array('y','n'),'y')) == 'y') { |
| | |
| | | if(is_installed('pure-ftpd') || is_installed('pure-ftpd-wrapper')) $conf['pureftpd']['installed'] = true; |
| | | if(is_installed('mydns') || is_installed('mydns-ng')) $conf['mydns']['installed'] = true; |
| | | if(is_installed('jk_chrootsh')) $conf['jailkit']['installed'] = true; |
| | | if(is_installed('pdns_server') || is_installed('pdns_control')) $conf['powerdns']['installed'] = true; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | public function configure_powerdns() { |
| | | global $conf; |
| | | |
| | | //* Create the database |
| | | if(!$this->db->query('CREATE DATABASE IF NOT EXISTS '.$conf['powerdns']['database'].' DEFAULT CHARACTER SET '.$conf['mysql']['charset'])) { |
| | | $this->error('Unable to create MySQL database: '.$conf['powerdns']['database'].'.'); |
| | | } |
| | | |
| | | //* Create the ISPConfig database user in the local database |
| | | $query = "GRANT ALL ON `".$conf['powerdns']['database']."` . * TO '".$conf['mysql']['ispconfig_user']."'@'localhost';"; |
| | | if(!$this->db->query($query)) { |
| | | $this->error('Unable to create user for powerdns database Error: '.$this->db->errorMessage); |
| | | } |
| | | |
| | | //* Reload database privelages |
| | | $this->db->query('FLUSH PRIVILEGES;'); |
| | | |
| | | //* load the powerdns databse dump |
| | | if($conf['mysql']['admin_password'] == '') { |
| | | caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", |
| | | __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); |
| | | } else { |
| | | caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", |
| | | __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql'); |
| | | } |
| | | |
| | | //* Create the powerdns config file |
| | | $configfile = 'pdns.local'; |
| | | if(is_file($conf["powerdns"]["config_dir"].'/'.$configfile)) copy($conf["powerdns"]["config_dir"].'/'.$configfile,$conf["powerdns"]["config_dir"].'/'.$configfile.'~'); |
| | | if(is_file($conf["powerdns"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["powerdns"]["config_dir"].'/'.$configfile.'~'); |
| | | $content = rf("tpl/".$configfile.".master"); |
| | | $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content); |
| | | $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content); |
| | | $content = str_replace('{powerdns_database}',$conf['powerdns']['database'],$content); |
| | | $content = str_replace('{mysql_server_host}',$conf["mysql"]["host"],$content); |
| | | wf($conf["powerdns"]["config_dir"].'/'.$configfile,$content); |
| | | exec('chmod 600 '.$conf["powerdns"]["config_dir"].'/'.$configfile); |
| | | exec('chown root:root '.$conf["powerdns"]["config_dir"].'/'.$configfile); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public function configure_apache() |
| | | { |
| | | global $conf; |
New file |
| | |
| | | CREATE TABLE IF NOT EXISTS `domains` ( |
| | | `id` int(11) NOT NULL auto_increment, |
| | | `name` varchar(255) NOT NULL, |
| | | `master` varchar(128) default NULL, |
| | | `last_check` int(11) default NULL, |
| | | `type` varchar(6) NOT NULL, |
| | | `notified_serial` int(11) default NULL, |
| | | `account` varchar(40) default NULL, |
| | | `ispconfig_id` int(11) NOT NULL, |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `name_index` (`name`) |
| | | ) ENGINE=MyISAM; |
| | | |
| | | CREATE TABLE IF NOT EXISTS `records` ( |
| | | `id` int(11) NOT NULL auto_increment, |
| | | `domain_id` int(11) default NULL, |
| | | `name` varchar(255) default NULL, |
| | | `type` varchar(6) default NULL, |
| | | `content` varchar(255) default NULL, |
| | | `ttl` int(11) default NULL, |
| | | `prio` int(11) default NULL, |
| | | `change_date` int(11) default NULL, |
| | | `ispconfig_id` int(11) NOT NULL, |
| | | PRIMARY KEY (`id`), |
| | | KEY `rec_name_index` (`name`), |
| | | KEY `nametype_index` (`name`,`type`), |
| | | KEY `domain_id` (`domain_id`) |
| | | ) ENGINE=MyISAM; |
| | | |
| | | CREATE TABLE IF NOT EXISTS `supermasters` ( |
| | | `ip` varchar(25) NOT NULL, |
| | | `nameserver` varchar(255) NOT NULL, |
| | | `account` varchar(40) default NULL |
| | | ) ENGINE=MyISAM; |
New file |
| | |
| | | # Here come the local changes the user made, like configuration of |
| | | # the several backends that exist. |
| | | |
| | | launch=gmysql |
| | | |
| | | gmysql-host={mysql_server_host} |
| | | gmysql-user={mysql_server_ispconfig_user} |
| | | gmysql-password={mysql_server_ispconfig_password} |
| | | gmysql-dbname={powerdns_database} |
| | |
| | | } |
| | | |
| | | if($conf['services']['dns']) { |
| | | //** Configure MyDNS |
| | | //* Configure DNS |
| | | if($conf['powerdns']['installed'] == true) { |
| | | swriteln('Configuring PowerDNS'); |
| | | $inst->configure_powerdns(); |
| | | } else { |
| | | swriteln('Configuring MyDNS'); |
| | | $inst->configure_mydns(); |
| | | } |
| | | } |
| | | |
| | | if($conf['services']['web']) { |
| | |
| | | if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); |
| | | } |
| | | if($conf['services']['dns']) { |
| | | if($conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); |
| | | if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); |
| | | if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | } |
| | | |