# wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
# yum install -y mysql80-community-release-el7-2.noarch.rpm
# yum install -y mysql-community-server
备注:官网YUM的rpm的安装包链接
# systemctl enable mysqld
# systemctl start mysqld
创建 powerdns 用户并授权本地登录,密码为helloworld
# grep 'temporary password' /var/log/mysqld.log (查看mysql root 初始密码)
2019-04-12T09:33:42.903384Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TJuJ+ok ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@elmeast2019'; (修改数据库密码,要求:大小写字母+数字+特殊符号,可通过‘set global validate_password.policy=0;’ 和 ‘set global validate_length.policy=1;’ 减小密码复杂度,注意安全问题)
mysql> CREATE DATABASE powerdns;
mysql> CREATE USER 'powerdns'@'localhost' IDENTIFIED BY 'helloworld';
mysql> GRANT ALL ON powerdns.* TO 'powerdns'@'localhost';
mysql> FLUSH PRIVILEGES;
构建表结构
mysql> use powerdns;
mysql> 创建表结构; (参考以下链接)
创建表结构参考(以PowerDNS Authoritative Server 4.0 参考)
创建表结构过程,可能遇到字段长度问题,可根据实际情况做调整。(4.1 和4.2 表结构存在调整,在后续操作poweradmin 界面会报错 ,推荐4.0)
至此,mysql 配置完成
# yum install -y pdns pdns-backend-mysql
可能不存在pdns 包 ,请执行(存在则忽略):
# yum install epel-release yum-plugin-priorities -y
# curl -o /etc/yum.repos.d/powerdns-auth-master.repo https://repo.powerdns.com/repo-files/centos-auth-master.repo
# vim /etc/pdns/pdns.conf
launch=gmysql
gmysql-host=localhost
gmysql-user=powerdns
gmysql-password=helloworld
gmysql-dbname=powerdns
systemctl enable pdns
systemctl start pdns
备注:通过 systemctl status pnds 查看pdns是否正常启动,如果不正常启动,通过journalctl -xe 查看具体报错信息,如果完全按照以上配置mysql ,会存在一个报错(和mysql 版本相关),发现pdns 无法正常启动。报错信息如下:
[root@localhost pdns]# journalctl -xe
gmysql Connection failed: Unable to connect to database: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/my
发现是由于MySQL在8.0后验证方式由mysql_native_password变为caching_sha2_password (以前配置过几次,没有报错,这次用了最新的mysql 8.0 ,竟然还遇到坑。。。)
调整即可
alter user powerdns@localhost identified with mysql_native_password by 'helloworld';
# yum install -y bind-utils
# dig @127.0.0.1
备注:status 为REFUSED 或者NOERROR 均可
# 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
# yum install php-pear-DB php-pear-MDB2-Driver-mysql
systemctl enable httpd.service
systemctl start httpd.service
# cd /var/www/html
# git clone https://github.com/poweradmin/poweradmin.git
# chown -R apache:apache /var/www/html/poweradmin/
https://github.com/poweradmin/poweradmin
https://cloud.tencent.com/developer/article/1098794
https://doc.powerdns.com/md/authoritative/backend-generic-mysql/