CentOS-5安装配置PowerDNS服务器

PowerDNS简介

PowerDNS是高性能的域名服务器,除了支持普通的BIND配置文件,PowerDNS还可以从MySQL,Oracle,PostgreSQL等的数据库读取数据。PowerDNS安装了Poweradmin,能实现Web管理DNS记录,非常的方便。本文我们以MySQL为后端数据库和Poweradmin网页管理DNS,在CentOS-5安装PowerDNS。

安装MySQL

  1. yum -y install mysql mysql-server

设置mysql开机自启并启动mysql

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

修改mysql root密码:

  1. mysqladmin -u root password yourrootsqlpassword

安装PowerDNS

  1. yum -y install pdns pdns-backend-mysql

连接mysql:

  1. mysql -u root -p

创建powerdns数据库:

  1. CREATE DATABASE powerdns;

为PowerDNS创建powerdns数据库用户:

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

请替换power_admin_password成自己的密码。
现在创建数据表:

  1. USE powerdns;
  1. CREATE TABLE domains (
  2. id INT auto_increment,
  3. name VARCHAR(255) NOT NULL,
  4. master VARCHAR(128) DEFAULT NULL,
  5. last_check INT DEFAULT NULL,
  6. type VARCHAR(6) NOT NULL,
  7. notified_serial INT DEFAULT NULL,
  8. account VARCHAR(40) DEFAULT NULL,
  9. primary key (id)
  10. );
  1. CREATE UNIQUE INDEX name_index ON domains(name);
  1. CREATE TABLE records (
  2. id INT auto_increment,
  3. domain_id INT DEFAULT NULL,
  4. name VARCHAR(255) DEFAULT NULL,
  5. type VARCHAR(6) DEFAULT NULL,
  6. content VARCHAR(255) DEFAULT NULL,
  7. ttl INT DEFAULT NULL,
  8. prio INT DEFAULT NULL,
  9. change_date INT DEFAULT NULL,
  10. primary key(id)
  11. );
  1. CREATE INDEX rec_name_index ON records(name);
  2. CREATE INDEX nametype_index ON records(name,type);
  3. CREATE INDEX domain_id ON records(domain_id);
  1. CREATE TABLE supermasters (
  2. ip VARCHAR(25) NOT NULL,
  3. nameserver VARCHAR(255) NOT NULL,
  4. account VARCHAR(40) DEFAULT NULL
  5. );

最后退出mysql shell:

  1. quit;

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

  1. vi /etc/pdns/pdns.conf

增加如下内容到pdns.conf

  1. [...]
  2. #################################
  3. # launch        Which backends to launch and order to query them in
  4. #
  5. # launch=
  6. launch=gmysql
  7. gmysql-host=127.0.0.1
  8. gmysql-user=power_admin
  9. gmysql-password=power_admin_password
  10. gmysql-dbname=powerdns
  11. [...]

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

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

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

安装Poweradmin

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

  1. 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。

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

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

  1. yum install php-pear-DB php-pear-MDB2-Driver-mysql

现在Poweradmin所需的环境已经配置完成,我们将把Poweradmin安装在目录/var/www/html,这是apache默认的文档根目录。
到https://www.poweradmin.org/trac/wiki/GettingPoweradmin找到最新的版本下载:

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

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

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

现在打开浏览器运行安装程序(如:https://www.centos.bz/poweradmin/install或http://192.168.0.100/poweradmin/install)。
1、选择语言为英文,并点击Go to step 2

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

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

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

5、继续点击下一步。

6、现在poweradmin安装完成。

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

  1. rm -fr /var/www/html/poweradmin/install/

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

标签:DNSCentos 发布于:2019-10-14 04:29:13