文章目录
- 1.安装带有mysql后端的PowerDNS
- 2.安装PowerAdmin来管理PowerDNS
- 3.启动PowerAdmin的网页安装器了
- 3.1选择安装语言
- 3.2安装器需要PowerDNS数据库,我们已经创建了一个数据库,所以我们可以继续进入下一步
- 3.3提供先前配置的数据库详情,你也需要为Poweradmin设置管理员密码
- 3.4为Poweradmin创建一个受限用户
- 3.5Poweradmin会要求你在数据库表中创建一个新的受限数据库用户,它会提供你需要在MariaDB控制台输入的代码
- 3.6安装器将尝试创建配置文件到/var/www/html/poweradmin-2.1.7/inc。文件名是config.inc.php。为防止该脚本没有写权限,你可以手动复制这些内容到上述文件中
- 3.7进入最后页面,该页面会告知你安装已经完成以及如何访问安装好的PowerAdmin
- 3.8可以通过以下方式访问PowerAdmin:
1.安装带有mysql后端的PowerDNS
1.1 启用EPEL仓库,mysql服务器,启用mysql,并设置开机启动
[root@localhost ~]# yum install -y wget
[root@localhost ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@localhost ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum install mysql mysql-devel mysql-server -y
[root@test-new ~]# systemctl enable mysql
[root@test-new ~]# service mysqld start
1.2安装PowerDNS
[root@test-new ~]# yum -y install pdns pdns-backend-mysql
1.3为PowerDNS服务配置一个MariaDB数据库
[root@test-new ~]# mysql
mysql> CREATE DATABASE powerdns;
Query OK, 1 row affected (0.04 sec)
mysql> GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' IDENTIFIED BY 'wscl1996.';
Query OK, 0 rows affected (0.30 sec)
mysql> GRANT ALL ON powerdns.* TO 'powerdns'@'centos7.localdomain' IDENTIFIED BY 'wscl1996.';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.03 sec)
1.4创建PowerDNS要使用的数据库表
创建用于PowerDNS的表domains
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 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 TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
Query OK, 0 rows affected (0.02 sec)
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;
mysql> exit
1.5配置PowerDNS
[root@test-new ~]# vim /etc/pdns/pdns.conf
# launch Which backends to launch and order to query them in
#
# launch=bind
launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns
gmysql-password=user-pass
gmysql-dbname=powerdns
[root@test-new ~]# systemctl enable pdns.service
[root@test-new ~]# systemctl start pdns.service
2.安装PowerAdmin来管理PowerDNS
2.1 安装PHP和Apache
[root@test-new ~]# yum 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
[root@test-new yum.repos.d]# yum -y install php-pear-DB php-pear-MDB2-Driver-mysql
[root@test-new yum.repos.d]# systemctl enable httpd.service
[root@test-new yum.repos.d]# systemctl start httpd.service
[root@test-new yum.repos.d]# cd /var/www/html/
[root@test-new html]# wget http://downloads.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz
[root@test-new html]# tar xf poweradmin-2.1.7.tgz
3.启动PowerAdmin的网页安装器了
http://ip/poweradmin-2.1.7/install/
3.1选择安装语言
3.2安装器需要PowerDNS数据库,我们已经创建了一个数据库,所以我们可以继续进入下一步
3.3提供先前配置的数据库详情,你也需要为Poweradmin设置管理员密码
3.4为Poweradmin创建一个受限用户
用户名(Username) - PowerAdmin用户名。
密码(Password) – 上述用户的密码。
主机管理员(Hostmaster) -
当创建SOA记录而你没有指定主机管理员时,该值会被用作默认值。
主域名服务器 - 该值在创建新的DNS区域时会被用于作为主域名服务器。
辅域名服务器 – 该值在创建新的DNS区域时会被用于作为辅域名服务器。
3.5Poweradmin会要求你在数据库表中创建一个新的受限数据库用户,它会提供你需要在MariaDB控制台输入的代码
[root@test-new html]# mysql
mysql> GRANT SELECT, INSERT, UPDATE, DELETE
-> ON powerdns.*
-> TO 'kongbai'@'localhost'
-> IDENTIFIED BY 'kb1996';
Query OK, 0 rows affected (0.00 sec)
3.6安装器将尝试创建配置文件到/var/www/html/poweradmin-2.1.7/inc。文件名是config.inc.php。为防止该脚本没有写权限,你可以手动复制这些内容到上述文件中
[root@test-new html]# vim /var/www/html/poweradmin-2.1.7/inc/config.inc.php
<?php
$db_host = 'localhost';
$db_user = 'kongbai';
$db_pass = 'kb1996';
$db_name = 'powerdns';
$db_type = 'mysql';
$db_layer = 'PDO';
$session_key = '-zrk@Ck%3Cp+Q5HU60fn7%{_FDuYSWqi}v0542wHBW%OtO';
$iface_lang = 'en_EN';
$dns_hostmaster = 'kongbai.example.net';
$dns_ns1 = 'ns1.example.net”';
$dns_ns2 = 'ns2.example.net';
3.7进入最后页面,该页面会告知你安装已经完成以及如何访问安装好的PowerAdmin
从PowerAdmin的根目录中移除“install”文件夹
[root@test-new html]# rm -rf /var/www/html/poweradmin-2.1.7/install/
3.8可以通过以下方式访问PowerAdmin:
ns1.example.net”:域名服务器,该值在创建新的DNS区域时会被用于作为主域名服务器
kongbai.example.net :主机管理员(Hostmaster),当创建SOA记录而你没有指定主机管理员时,该值会被用作默认值
2019021402 :创建时间
28800 :刷新时间
7200 :重新尝试启动时间
604800: 过期时间
86400:生存时间
soa:SOA记录设置一些数据版本和更新以及过期时间的信息