设为首页 收藏本站
查看: 959|回复: 0

[经验分享] centos7安装PowerDNS

[复制链接]

尚未签到

发表于 2018-4-21 12:19:02 | 显示全部楼层 |阅读模式
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
  5,MariaDB配置成功后,我们可以继续去安装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/
DSC0000.png                            

  上面的页面会要求你为PowerAdmin选择语言,请选择你想要使用的那一个,
     然后点击“进入步骤 2”按钮。
  14、安装器需要PowerDNS数据库:
DSC0001.png

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

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

    用户名(Username) - PowerAdmin用户名。
    密码(Password)– 上述用户的密码。
    主机管理员(Hostmaster)- 当创建SOA记录而你没有指定主机管理员时,该值会被用作默认值(可以不写)。
    主域名服务器 - 该值在创建新的DNS区域时会被用于作为主域名服务器。
    辅域名服务器– 该值在创建新的DNS区域时会被用于作为辅域名服务器。
  17、 在下一步中,Poweradmin会要求你在数据库表中创建一个新的受限数据库用户,它会提供你需要在MariaDB控制台输入的代码:
DSC0004.png

  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。
     为防止该脚本没有写权限,你可以手动复制这些内容,手动创建上述文件中:
DSC0005.png

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

  以下三部可以省略!
  你可以通过运行以下命令来启用用于其他动态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/
DSC0007.png

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

  

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450028-1-1.html 上篇帖子: CentOS 7下管理firewalld 下篇帖子: CentOS7.3下的一个iptables配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表