diff --git a/install/dist/conf/centos52.conf.php b/install/dist/conf/centos52.conf.php index 5d1216be2e4285d4b9a665f96f60072236b86fe5..4a745f86381aa47f571c51ba85f4653f0f1136cb 100644 --- a/install/dist/conf/centos52.conf.php +++ b/install/dist/conf/centos52.conf.php @@ -154,6 +154,15 @@ $conf['powerdns']['database'] = 'powerdns'; $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; $conf['powerdns']['init_script'] = 'pdns'; +//* BIND DNS Server +$conf['bind']['installed'] = false; // will be detected automatically during installation +$conf['bind']['bind_user'] = 'root'; +$conf['bind']['bind_group'] = 'bind'; +$conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; +$conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; +$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; +$conf['bind']['init_script'] = 'named'; + //* Jailkit $conf['jailkit']['installed'] = false; // will be detected automatically during installation $conf['jailkit']['config_dir'] = '/etc/jailkit'; diff --git a/install/dist/conf/centos53.conf.php b/install/dist/conf/centos53.conf.php index 5d1216be2e4285d4b9a665f96f60072236b86fe5..4a745f86381aa47f571c51ba85f4653f0f1136cb 100644 --- a/install/dist/conf/centos53.conf.php +++ b/install/dist/conf/centos53.conf.php @@ -154,6 +154,15 @@ $conf['powerdns']['database'] = 'powerdns'; $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; $conf['powerdns']['init_script'] = 'pdns'; +//* BIND DNS Server +$conf['bind']['installed'] = false; // will be detected automatically during installation +$conf['bind']['bind_user'] = 'root'; +$conf['bind']['bind_group'] = 'bind'; +$conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; +$conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; +$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; +$conf['bind']['init_script'] = 'named'; + //* Jailkit $conf['jailkit']['installed'] = false; // will be detected automatically during installation $conf['jailkit']['config_dir'] = '/etc/jailkit'; diff --git a/install/dist/conf/debian40.conf.php b/install/dist/conf/debian40.conf.php index cdfdb26f27c3be8ce4381dc0190173f923551eff..a124489f4d581d5aa5267df63c96e76e44f7fc8a 100644 --- a/install/dist/conf/debian40.conf.php +++ b/install/dist/conf/debian40.conf.php @@ -154,6 +154,15 @@ $conf['powerdns']['database'] = 'powerdns'; $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; $conf['powerdns']['init_script'] = 'pdns'; +//* BIND DNS Server +$conf['bind']['installed'] = false; // will be detected automatically during installation +$conf['bind']['bind_user'] = 'root'; +$conf['bind']['bind_group'] = 'bind'; +$conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; +$conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; +$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; +$conf['bind']['init_script'] = 'bind9'; + //* Jailkit $conf['jailkit']['installed'] = false; // will be detected automatically during installation $conf['jailkit']['config_dir'] = '/etc/jailkit'; diff --git a/install/dist/conf/fedora9.conf.php b/install/dist/conf/fedora9.conf.php index 0ab5a0ba79e8044576bf30ab5e22cf9b084e6cab..86693cb59ab024ed8137f9c403e2875290154eb0 100644 --- a/install/dist/conf/fedora9.conf.php +++ b/install/dist/conf/fedora9.conf.php @@ -154,6 +154,15 @@ $conf['powerdns']['database'] = 'powerdns'; $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; $conf['powerdns']['init_script'] = 'pdns'; +//* BIND DNS Server +$conf['bind']['installed'] = false; // will be detected automatically during installation +$conf['bind']['bind_user'] = 'root'; +$conf['bind']['bind_group'] = 'bind'; +$conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; +$conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; +$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; +$conf['bind']['init_script'] = 'named'; + //* Jailkit $conf['jailkit']['installed'] = false; // will be detected automatically during installation $conf['jailkit']['config_dir'] = '/etc/jailkit'; diff --git a/install/dist/conf/opensuse110.conf.php b/install/dist/conf/opensuse110.conf.php index 8c40a8813ad4f3470a3ecfc11dae103240fcbb68..5ebc5367ea22484f277b0a845b8c01a5c342ee58 100644 --- a/install/dist/conf/opensuse110.conf.php +++ b/install/dist/conf/opensuse110.conf.php @@ -154,6 +154,15 @@ $conf['powerdns']['database'] = 'powerdns'; $conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d'; $conf['powerdns']['init_script'] = 'pdns'; +//* BIND DNS Server +$conf['bind']['installed'] = false; // will be detected automatically during installation +$conf['bind']['bind_user'] = 'root'; +$conf['bind']['bind_group'] = 'bind'; +$conf['bind']['bind_zonefiles_dir'] = '/etc/bind'; +$conf['bind']['named_conf_path'] = '/etc/bind/named.conf'; +$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local'; +$conf['bind']['init_script'] = 'named'; + //* Jailkit $conf['jailkit']['installed'] = false; // will be detected automatically during installation $conf['jailkit']['config_dir'] = '/etc/jailkit'; diff --git a/install/install.php b/install/install.php index 544902898dedf051bd6aa2f6db021a618c224d26..5c19b54bfb39856aeec9f901e705afd6365e0b8c 100644 --- a/install/install.php +++ b/install/install.php @@ -194,6 +194,9 @@ if($install_mode == 'standard') { if($conf['powerdns']['installed'] == true) { swriteln('Configuring PowerDNS'); $inst->configure_powerdns(); + } elseif($conf['bind']['installed'] == true) { + swriteln('Configuring BIND'); + $inst->configure_bind(); } else { swriteln('Configuring MyDNS'); $inst->configure_mydns(); @@ -246,6 +249,7 @@ if($install_mode == 'standard') { 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']['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'); + if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); }else{ @@ -370,6 +374,10 @@ if($install_mode == 'standard') { swriteln('Configuring PowerDNS'); $inst->configure_powerdns(); if($conf['powerdns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); + } elseif($conf['bind']['installed'] == true) { + swriteln('Configuring BIND'); + $inst->configure_bind(); + if($conf['bind']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); } else { swriteln('Configuring MyDNS'); $inst->configure_mydns(); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 7b4eba88697ed75c326402fff0803ea47ec5aa38..9e79b5501ec393bb6fe0faf3e5415216899776a4 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -128,7 +128,7 @@ class installer_base { 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; - + if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true; } @@ -818,6 +818,13 @@ class installer_base { } + public function configure_bind() { + global $conf; + + //* Nothing to do + + } + public function configure_apache() diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 9cc4e6f144fd90feb833043fe6e3bd5376d74cb8..080f9fd713213c7475a4907f18355989d71aa0ba 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -43,6 +43,13 @@ apps_vhost_port=8081 apps_vhost_ip=_default_ apps_vhost_servername= +[dns] +bind_user=root +bind_group=bind +bind_zonefiles_dir=/etc/bind +named_conf_path=/etc/bind/named.conf +named_conf_local_path=/etc/bind/named.conf.local + [fastcgi] fastcgi_starter_path=/var/www/php-fcgi-scripts/[system_user]/ fastcgi_starter_script=.php-fcgi-starter diff --git a/install/update.php b/install/update.php index 01158e6e7ac55bedb5a4e1f629f814a342120171..479ad9e8dfcc3566b6325ce68a56684232806436 100644 --- a/install/update.php +++ b/install/update.php @@ -342,6 +342,9 @@ if($reconfigure_services_answer == 'yes') { if($conf['powerdns']['installed'] == true) { swriteln('Configuring PowerDNS'); $inst->configure_powerdns(); + } elseif($conf['bind']['installed'] == true) { + swriteln('Configuring BIND'); + $inst->configure_bind(); } else { swriteln('Configuring MyDNS'); $inst->configure_mydns(); @@ -413,6 +416,7 @@ if($reconfigure_services_answer == 'yes') { if($conf['services']['dns']) { 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'); + if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); } } diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 31f5542059c184019b73b6300ee96f8b6ad14018..7d9d493ecd8224a1126f8982488ac907b9037ca0 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -411,6 +411,75 @@ $form["tabs"]['web'] = array ( ) ); +$form["tabs"]['dns'] = array ( + 'title' => "DNS", + 'width' => 60, + 'template' => "templates/server_config_dns_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'bind_user' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'bind_user_error_empty'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'bind_group' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'bind_group_error_empty'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'bind_zonefiles_dir' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'bind_zonefiles_dir_error_empty'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'named_conf_path' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'named_conf_path_error_empty'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'named_conf_local_path' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', + 'errmsg'=> 'named_conf_local_path_error_empty'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); + $form["tabs"]['fastcgi'] = array ( 'title' => "FastCGI", 'width' => 80, diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index c3c7019e43d5243decb46bc62b315ecbaec4e91d..85828181438227696f8f5fa72eaf78e4e47b5fc1 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -50,4 +50,13 @@ $wb["loglevel_txt"] = 'Loglevel'; $wb["apps_vhost_port_txt"] = 'Apps-vhost port'; $wb["apps_vhost_ip_txt"] = 'Apps-vhost IP'; $wb["apps_vhost_servername_txt"] = 'Apps-vhost Domain'; +$wb["bind_user_txt"] = 'BIND User'; +$wb["bind_group_txt"] = 'BIND Group'; +$wb["bind_zonefiles_dir_txt"] = 'BIND zonefiles directory'; +$wb["named_conf_path_txt"] = 'BIND named.conf path'; +$wb["bind_user_error_empty"] = 'BIND user is empty.'; +$wb["bind_group_error_empty"] = 'BIND group is empty.'; +$wb["bind_zonefiles_dir_error_empty"] = 'BIND zonefiles directory is empty.'; +$wb["named_conf_path_error_empty"] = 'BIND named.conf path is empty.'; +$wb["named_conf_local_path_error_empty"] = 'BIND named.conf.local path is empty.'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_dns_edit.htm b/interface/web/admin/templates/server_config_dns_edit.htm new file mode 100644 index 0000000000000000000000000000000000000000..eee6626f3b0c4858051c15d04f8bd7b647123ef3 --- /dev/null +++ b/interface/web/admin/templates/server_config_dns_edit.htm @@ -0,0 +1,38 @@ +