PowerDNS服务器在CentOS上安装和配置, PowerDNS在


PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本。 PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而在Linux/Unix下则使用mysql来记录DNS信息。无论是mdb亦或MySQL,备份是非常方便的事情。本文我们以MySQL为后端数据库和Poweradmin网页管理DNS,在CentOS 5上安装PowerDNS。

安装MySQL

# yum -y install mysql mysql-server

设置mysql开机自启并启动mysql

# chkconfig --levels 235 mysqld on
# /etc/init.d/mysqld start

修改mysql root密码:

# mysqladmin -u root password yourrootsqlpassword

安装PowerDNS

# yum -y install pdns pdns-backend-mysql

连接mysql:

# mysql -u root -p

创建powerdns数据库:

> CREATE DATABASE powerdns;

为PowerDNS创建powerdns数据库用户:

> GRANT ALL ON powerdns.* TO 'power_admin'@'localhost' IDENTIFIED BY 'power_admin_password';
> FLUSH PRIVILEGES;

请替换power_admin_password成自己的密码。

现在创建数据表:

> USE powerdns;

> CREATE TABLE domains (
> id INT auto_increment,
> name VARCHAR(255)  NOT NULL,
> master VARCHAR(128) DEFAULT NULL,
> last_check INT DEFAULT NULL,
> type VARCHAR(6) NOT NULL,
> notified_serial INT DEFAULT NULL,
> account VARCHAR(40) DEFAULT NULL,
> primary key (id)
> );

> CREATE UNIQUE INDEX name_index ON domains(name);

> CREATE TABLE records (
> id INT auto_increment,
> domain_id INT DEFAULT NULL,
> name VARCHAR(255) DEFAULT NULL,
> type VARCHAR(6) DEFAULT NULL,
> content VARCHAR(255) DEFAULT NULL,
> ttl INT DEFAULT NULL,
> prio INT DEFAULT NULL,
> change_date INT DEFAULT NULL,
> primary key(id)
> );

> CREATE INDEX rec_name_index ON records(name);
> CREATE INDEX nametype_index ON records(name,type);
> CREATE INDEX domain_id ON records(domain_id);
> CREATE TABLE supermasters (
> ip VARCHAR(25) NOT NULL,
> nameserver VARCHAR(255) NOT NULL,
> account VARCHAR(40) DEFAULT NULL
> );

最后退出mysql Shell:

> quit;

现在配置PowerDNS以使用mysql后端:

# vi /etc/pdns/pdns.conf

增加如下内容到pdns.conf

[...]
#################################
# launch which backends to launch and order to query them in
#
# launch=
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=power_admin
gmysql-password=power_admin_password
gmysql-dbname=powerdns
[...]

设置PowerDNS自启动并立即启动PowerDNS。

# chkconfig --levels 235 pdns on
# /etc/init.d/pdns start

现在PowerDNS已经正常运行,下面我们为PowerDNS安装Poweradmin实现Web管理。

安装Poweradmin

Poweradmin运行在PHP环境中,我们现在配置Web环境。

# yum -y install httpd php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mhash gettext

设置apache自启动,并启动apache。

# chkconfig --levels 235 httpd on
# /etc/init.d/httpd start

Poweradmin还需要安装两个PEAR软件包。

# yum install php-pear-DB php-pear-MDB2-Driver-mysql

现在Poweradmin所需的环境已经配置完成,我们将把Poweradmin安装在目录/var/www/html,这是apache默认的文档根目录。

到https://www.poweradmin.org/trac/wiki/GettingPoweradmin找到最新的版本下载:

# cd /tmp
# wget https://www.poweradmin.org/download/poweradmin-2.1.5.tgz

然后安装在/var/www/html/poweradmin目录。

# tar xvfz poweradmin-2.1.5.tgz
# mv poweradmin-2.1.5 /var/www/html/poweradmin
# touch /var/www/html/poweradmin/inc/config.inc.php
# chown -R apache:apache /var/www/html/poweradmin/

1、选择语言为英文,并点击Go to step 2

PowerDNS服务器在CentOS上安装和配置

2、点击“Go to step 3”到安装的第三步,填入数据库详细信息。输入root用户和密码,和输入Poweradmin的admin用户的密码。

PowerDNS服务器在CentOS上安装和配置

3、点击下一步,填入在安装powerdns那一步所创建的power_admin mysql用户的信息,并且填入域名服务器地址:

PowerDNS服务器在CentOS上安装和配置

4、下一步是需要执行mysql语句,我们不需要执行了,因为前面我们已经执行过了,直接点击下一步即可。

PowerDNS服务器在CentOS上安装和配置

5、继续点击下一步。

PowerDNS服务器在CentOS上安装和配置

6、现在poweradmin安装完成。

PowerDNS服务器在CentOS上安装和配置

7、为了安全,需要删除安装目录。

# rm -fr /var/www/html/poweradmin/install/

现在你可以进入http://192.168.0.100/poweradmin页面,输入用户admin和执行安装程序时设置的密码进入管理界面。

相关内容