centos7安装PowerDNS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7安装PowerDNS相关的知识,希望对你有一定的参考价值。

centos7安装PowerDNS


第一部分:安装带有MariaDB后端的PowerDNS

 

1,首先,你需要为你的系统启用EPEL仓库,只需使用:

  yuminstall epel-release -y

2,下一步是安装MariaDB服务器。运行以下命令即可达成:

  yum-y install mariadb-server mariadb

3,接下来,我们将配置并启用MariaDB,并设置开机启动:

  systemctlenable mariadb.service

  systemctlstart mariadb.service

4,现在MariaDB服务运行起来了,我们将为MariaDB设置密码进行安全加固,运行以下命令:        mysql_secure_installation      

5MariaDB配置成功后,我们可以继续去安装PowerDNS。运行以下命令即可轻易完成:

  curl -o /etc/yum.repos.d/powerdns-auth-40.repo https://repo.powerdns.com/repo-files/centos-auth-40.repo

  yum -y install pdns pdns-backend-mysql

6,PowerDNS的配置文件位于/etc/pdns/pdns,在编辑之前,我们将为PowerDNS服务配置一个MariaDB数据库。首先,我们将连接到MariaDB服务器并创建一个名为powerdns的数据库:

  mysql -u root -p

  MariaDB[(none)]> CREATE DATABASE powerdns;

7,接下来,我们将创建一个名为powerdns的数据库用户:

  MariaDB[(none)]> GRANT ALL ON powerdns.* TO ‘powerdns‘@‘localhost‘ IDENTIFIED BY powerdns用户的设置密码’;

  MariaDB[(none)]> FLUSH PRIVILEGES;

8,我们继续创建PowerDNS要使用的数据库表。像堆积木一样执行以下这些:

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)
) Engine=InnoDB;

CREATE UNIQUE INDEX name_index ON domains(name);


CREATE TABLE records (
  id                    BIGINT AUTO_INCREMENT,
  domain_id             INT DEFAULT NULL,
  name                  VARCHAR(255) DEFAULT NULL,
  type                  VARCHAR(10) DEFAULT NULL,
  content               VARCHAR(64000) DEFAULT NULL,
  ttl                   INT DEFAULT NULL,
  prio                  INT DEFAULT NULL,
  change_date           INT DEFAULT NULL,
  disabled              TINYINT(1) DEFAULT 0,
  ordername             VARCHAR(255) BINARY DEFAULT NULL,
  auth                  TINYINT(1) DEFAULT 1,
  PRIMARY KEY (id)
) Engine=InnoDB;

CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE INDEX recordorder ON records (domain_id, ordername);


CREATE TABLE supermasters (
  ip                    VARCHAR(64) NOT NULL,
  nameserver            VARCHAR(255) NOT NULL,
  account               VARCHAR(40) NOT NULL,
  PRIMARY KEY (ip, nameserver)
) Engine=InnoDB;


CREATE TABLE comments (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  name                  VARCHAR(255) NOT NULL,
  type                  VARCHAR(10) NOT NULL,
  modified_at           INT NOT NULL,
  account               VARCHAR(40) NOT NULL,
  comment               VARCHAR(64000) NOT NULL,
  PRIMARY KEY (id)
) Engine=InnoDB;

CREATE INDEX comments_domain_id_idx ON comments (domain_id);
CREATE INDEX comments_name_type_idx ON comments (name, type);
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);


CREATE TABLE domainmetadata (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  kind                  VARCHAR(32),
  content               TEXT,
  PRIMARY KEY (id)
) Engine=InnoDB;

CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);


CREATE TABLE cryptokeys (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  flags                 INT NOT NULL,
  active                BOOL,
  content               TEXT,
  PRIMARY KEY(id)
) Engine=InnoDB;

CREATE INDEX domainidindex ON cryptokeys(domain_id);


CREATE TABLE tsigkeys (
  id                    INT AUTO_INCREMENT,
  name                  VARCHAR(255),
  algorithm             VARCHAR(50),
  secret                VARCHAR(255),
  PRIMARY KEY (id)
) Engine=InnoDB;

CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);

flush privileges;
quit;

        

9,最后,我们可以继续配置PowerDNS了,以MariaDB作为后台。请打开PowerDNS的配置文件:    

  vim/etc/pdns/pdns.conf

  查找类似:#launch= ;添加下面的内容:                          

launch=gmysql
gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=powerdns用户的密码

   然后保存退出。

10,现在,我们将启动并添加PowerDNS到系统开机启动列表:

   systemctlenable pdns.service

   systemctlstart pdns.service

   到这一步,你的PowerDNS服务器已经起起并运行了。要获得更多关于PowerDNS的信息,

  你可以参考手册http://downloads.powerdns.com/documentation/html/index.html

 

第二部分: 安装PowerAdmin来管理PowerDNS

 

11 现在,我们将安装PowerAdmin——一个界面友好的PowerDNS服务器的 Web 管理器。由于它是用php写的,我们将需要安装PHP和一台网络服务器(Apache):

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

   安装完成后,我们将需要启动并设置Apache开机启动:

   systemctlenable httpd.service

   systemctlstart httpd.service

12、由于已经满足PowerAdmin的所有系统要求,我们可以继续下载软件包。因为Apache默认的网页目录位于/var/www/html/,我们将下载软件包到这里。

  cd/var/www/html/

  wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz

  tar xfv poweradmin-2.1.7.tgz

13、现在,我们可以启动PowerAdmin的网页安装器了,只需打开:

   http://192.168.0.102/poweradmin-2.1.7/install/ 

   技术分享                            

  上面的页面会要求你为PowerAdmin选择语言,请选择你想要使用的那一个,

   然后点击“进入步骤 2”按钮。

14、安装器需要PowerDNS数据库:

  技术分享      

15、因为我们已经创建了一个数据库,所以我们可以继续进入下一步。你会被要求提供先前配置的数据库详情,你也需要为Poweradmin设置管理员密码:      

  技术分享

16 输入这些信息后,进入步骤 4。你将创建为Poweradmin创建一个受限用户。这里你需要输入的字段是:

  技术分享

  用户名(Username - PowerAdmin用户名。

  密码(Password 上述用户的密码。

  主机管理员(Hostmaster- 当创建SOA记录而你没有指定主机管理员时,该值会被用作默认值(可以不写)。

  主域名服务器 - 该值在创建新的DNS区域时会被用于作为主域名服务器。

  辅域名服务器 该值在创建新的DNS区域时会被用于作为辅域名服务器。            

 

17 在下一步中,Poweradmin会要求你在数据库表中创建一个新的受限数据库用户,它会提供你需要在MariaDB控制台输入的代码:

   技术分享

18 现在打开终端并运行: 

   以下这段命令就是复制上图17步骤中的命令,进入数据库粘贴即可。                 

mysql-u root -p

GRANTSELECT, INSERT, UPDATE, DELETE
ONpowerdns.*
TO‘powermarin‘@‘localhost‘
IDENTIFIEDBY ‘powermarin密码‘;

19 现在,回到浏览器中并继续下一步。安装器将尝试创建配置文件到/var/www/html/poweradmin-2.1.7/inc目录下,文件名是config.inc.php

   为防止该脚本没有写权限,你可以手动复制这些内容,手动创建上述文件中:

  技术分享

20 现在,进入最后页面,该页面会告知你安装已经完成以及如何访问安装好的PowerAdmin

   技术分享

    以下三部可以省略!

    你可以通过运行以下命令来启用用于其他动态DNS提供商的URL

     cp install/htaccess.dist.htaccess

    出于该目的,你将需要在Apache的配置中启用mod_rewrite

21 现在,需要移除从PowerAdmin的根目录中移除“install”文件夹,这一点很重要。使用以下命令:

   rm -rf /var/www/html/poweradmin/install/

   在此之后,你可以通过以下方式访问PowerAdmin

   http://192.168.0.102/poweradmin-2.1.7/

   技术分享

   在登录后,你应该会看到PowerAdmin的主页:

   技术分享


   到这里,安装已经完成了,你可以开始管理你的DNS区域了。

        

 

 


本文出自 “506554897” 博客,请务必保留此出处http://506554897.blog.51cto.com/2823970/1956635

以上是关于centos7安装PowerDNS的主要内容,如果未能解决你的问题,请参考以下文章

powerdns配置

Centos7.6下部署PowerDNS

PowerDNS + PowerDNS-Admin

PowerDNS简单教程:功能篇

PowerDNS简单教程:安装篇

PowerDNS安装和简单使用