centos7安装PowerDNS

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

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要使用的数据库表。像堆积木一样执行以下这些:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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= ;添加下面的内容:                          

1
2
3
4
5
6
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/ 

   wKioL1mTmXniPF1JAADAs3Qo2kc755.png-wh_50                            

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

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

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

  wKioL1mTmZiR6_YUAAFvz0Xl-r8760.png-wh_50      

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

  wKiom1mTmaijObElAAJV7DHq3s4200.png-wh_50

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

  wKioL1mTmbvTMfqeAAFWt5sJJpg741.png-wh_50

  用户名(Username - PowerAdmin用户名。

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

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

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

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

 

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

   wKioL1mTmcmgO5ysAADorLR8k14228.png-wh_50

18 现在打开终端并运行: 

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

1
2
3
4
5
6
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

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

  wKiom1mTmduxtq3AAAEbXMO262g944.png-wh_50

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

   wKiom1mTmefRGl8BAAD9qScXfHE744.png-wh_50

    以下三部可以省略!

    你可以通过运行以下命令来启用用于其他动态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/

   wKioL1mTmf7Bm883AAAxRVS14ic417.png-wh_50

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

   wKioL1mTmgujKYDhAABEkh9H6a0712.png-wh_50


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

        

 


     本文转自506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1956635,如需转载请自行联系原作者





相关文章
|
5天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
53 20
|
1月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
82 25
|
28天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
52 16
|
29天前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
57 15
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
153 4
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
168 1
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
172 1
Linux系统之Centos7安装cockpit图形管理界面
|
3月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
4月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
198 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装