Skip to content

Commit 7dbea06

Browse files
committed
Implemented: FS#868 - Add support for BIND
1 parent f7333ac commit 7dbea06

File tree

16 files changed

+468
-1
lines changed

16 files changed

+468
-1
lines changed

install/dist/conf/centos52.conf.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
155155
$conf['powerdns']['init_script'] = 'pdns';
156156

157+
//* BIND DNS Server
158+
$conf['bind']['installed'] = false; // will be detected automatically during installation
159+
$conf['bind']['bind_user'] = 'root';
160+
$conf['bind']['bind_group'] = 'bind';
161+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
162+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
163+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
164+
$conf['bind']['init_script'] = 'named';
165+
157166
//* Jailkit
158167
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
159168
$conf['jailkit']['config_dir'] = '/etc/jailkit';

install/dist/conf/centos53.conf.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
155155
$conf['powerdns']['init_script'] = 'pdns';
156156

157+
//* BIND DNS Server
158+
$conf['bind']['installed'] = false; // will be detected automatically during installation
159+
$conf['bind']['bind_user'] = 'root';
160+
$conf['bind']['bind_group'] = 'bind';
161+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
162+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
163+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
164+
$conf['bind']['init_script'] = 'named';
165+
157166
//* Jailkit
158167
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
159168
$conf['jailkit']['config_dir'] = '/etc/jailkit';

install/dist/conf/debian40.conf.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
155155
$conf['powerdns']['init_script'] = 'pdns';
156156

157+
//* BIND DNS Server
158+
$conf['bind']['installed'] = false; // will be detected automatically during installation
159+
$conf['bind']['bind_user'] = 'root';
160+
$conf['bind']['bind_group'] = 'bind';
161+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
162+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
163+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
164+
$conf['bind']['init_script'] = 'bind9';
165+
157166
//* Jailkit
158167
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
159168
$conf['jailkit']['config_dir'] = '/etc/jailkit';

install/dist/conf/fedora9.conf.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
155155
$conf['powerdns']['init_script'] = 'pdns';
156156

157+
//* BIND DNS Server
158+
$conf['bind']['installed'] = false; // will be detected automatically during installation
159+
$conf['bind']['bind_user'] = 'root';
160+
$conf['bind']['bind_group'] = 'bind';
161+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
162+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
163+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
164+
$conf['bind']['init_script'] = 'named';
165+
157166
//* Jailkit
158167
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
159168
$conf['jailkit']['config_dir'] = '/etc/jailkit';

install/dist/conf/opensuse110.conf.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@
154154
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
155155
$conf['powerdns']['init_script'] = 'pdns';
156156

157+
//* BIND DNS Server
158+
$conf['bind']['installed'] = false; // will be detected automatically during installation
159+
$conf['bind']['bind_user'] = 'root';
160+
$conf['bind']['bind_group'] = 'bind';
161+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
162+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
163+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
164+
$conf['bind']['init_script'] = 'named';
165+
157166
//* Jailkit
158167
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
159168
$conf['jailkit']['config_dir'] = '/etc/jailkit';

install/install.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@
194194
if($conf['powerdns']['installed'] == true) {
195195
swriteln('Configuring PowerDNS');
196196
$inst->configure_powerdns();
197+
} elseif($conf['bind']['installed'] == true) {
198+
swriteln('Configuring BIND');
199+
$inst->configure_bind();
197200
} else {
198201
swriteln('Configuring MyDNS');
199202
$inst->configure_mydns();
@@ -246,6 +249,7 @@
246249
if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
247250
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');
248251
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');
252+
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');
249253

250254
}else{
251255

@@ -370,6 +374,10 @@
370374
swriteln('Configuring PowerDNS');
371375
$inst->configure_powerdns();
372376
if($conf['powerdns']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
377+
} elseif($conf['bind']['installed'] == true) {
378+
swriteln('Configuring BIND');
379+
$inst->configure_bind();
380+
if($conf['bind']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
373381
} else {
374382
swriteln('Configuring MyDNS');
375383
$inst->configure_mydns();

install/lib/installer_base.lib.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public function find_installed_apps() {
128128
if(is_installed('mydns') || is_installed('mydns-ng')) $conf['mydns']['installed'] = true;
129129
if(is_installed('jk_chrootsh')) $conf['jailkit']['installed'] = true;
130130
if(is_installed('pdns_server') || is_installed('pdns_control')) $conf['powerdns']['installed'] = true;
131-
131+
if(is_installed('named') || is_installed('bind') || is_installed('bind9')) $conf['bind']['installed'] = true;
132132

133133
}
134134

@@ -818,6 +818,13 @@ public function configure_powerdns() {
818818

819819
}
820820

821+
public function configure_bind() {
822+
global $conf;
823+
824+
//* Nothing to do
825+
826+
}
827+
821828

822829

823830
public function configure_apache()

install/tpl/server.ini.master

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ apps_vhost_port=8081
4343
apps_vhost_ip=_default_
4444
apps_vhost_servername=
4545

46+
[dns]
47+
bind_user=root
48+
bind_group=bind
49+
bind_zonefiles_dir=/etc/bind
50+
named_conf_path=/etc/bind/named.conf
51+
named_conf_local_path=/etc/bind/named.conf.local
52+
4653
[fastcgi]
4754
fastcgi_starter_path=/var/www/php-fcgi-scripts/[system_user]/
4855
fastcgi_starter_script=.php-fcgi-starter

install/update.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,9 @@
342342
if($conf['powerdns']['installed'] == true) {
343343
swriteln('Configuring PowerDNS');
344344
$inst->configure_powerdns();
345+
} elseif($conf['bind']['installed'] == true) {
346+
swriteln('Configuring BIND');
347+
$inst->configure_bind();
345348
} else {
346349
swriteln('Configuring MyDNS');
347350
$inst->configure_mydns();
@@ -413,6 +416,7 @@
413416
if($conf['services']['dns']) {
414417
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');
415418
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');
419+
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');
416420
}
417421
}
418422

interface/web/admin/form/server_config.tform.php

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,75 @@
411411
)
412412
);
413413

414+
$form["tabs"]['dns'] = array (
415+
'title' => "DNS",
416+
'width' => 60,
417+
'template' => "templates/server_config_dns_edit.htm",
418+
'fields' => array (
419+
##################################
420+
# Begin Datatable fields
421+
##################################
422+
'bind_user' => array (
423+
'datatype' => 'VARCHAR',
424+
'formtype' => 'TEXT',
425+
'default' => '',
426+
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
427+
'errmsg'=> 'bind_user_error_empty'),
428+
),
429+
'value' => '',
430+
'width' => '40',
431+
'maxlength' => '255'
432+
),
433+
'bind_group' => array (
434+
'datatype' => 'VARCHAR',
435+
'formtype' => 'TEXT',
436+
'default' => '',
437+
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
438+
'errmsg'=> 'bind_group_error_empty'),
439+
),
440+
'value' => '',
441+
'width' => '40',
442+
'maxlength' => '255'
443+
),
444+
'bind_zonefiles_dir' => array (
445+
'datatype' => 'VARCHAR',
446+
'formtype' => 'TEXT',
447+
'default' => '',
448+
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
449+
'errmsg'=> 'bind_zonefiles_dir_error_empty'),
450+
),
451+
'value' => '',
452+
'width' => '40',
453+
'maxlength' => '255'
454+
),
455+
'named_conf_path' => array (
456+
'datatype' => 'VARCHAR',
457+
'formtype' => 'TEXT',
458+
'default' => '',
459+
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
460+
'errmsg'=> 'named_conf_path_error_empty'),
461+
),
462+
'value' => '',
463+
'width' => '40',
464+
'maxlength' => '255'
465+
),
466+
'named_conf_local_path' => array (
467+
'datatype' => 'VARCHAR',
468+
'formtype' => 'TEXT',
469+
'default' => '',
470+
'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
471+
'errmsg'=> 'named_conf_local_path_error_empty'),
472+
),
473+
'value' => '',
474+
'width' => '40',
475+
'maxlength' => '255'
476+
),
477+
##################################
478+
# ENDE Datatable fields
479+
##################################
480+
)
481+
);
482+
414483
$form["tabs"]['fastcgi'] = array (
415484
'title' => "FastCGI",
416485
'width' => 80,

0 commit comments

Comments
 (0)