站長資訊網
        最全最豐富的資訊網站

        PowerDNS部署教程

        第1章環境描述:

        [root@ops-tmp-app-2~]#cat/etc/redhat-release

        CentOSLinuxrelease7.4.1708(Core)

        [root@ops-tmp-app-2~]#getenforce

        Disabled

        [root@ops-tmp-app-2~]#systemctlstatusfirewalld.service

        ●firewalld.service-firewalld-dynamicfirewalldaemon

        Loaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendorpreset:enabled)

        Active:inactive(dead)

        Docs:man:firewalld(1)

        第2章安裝pdns

        yuminstall-ypdnspdns-backend-mysql

        [root@ops-tmp-app-2~]#rpm-qa|greppdns

        pdns-4.0.6-2.el7.x86_64

        pdns-backend-mysql-4.0.6-2.el7.x86_64

        啟動pdns就可以了,這里粘貼一下配置文件

        [root@ops-tmp-app-2PowerDNS-Admin]#cat/etc/pdns/pdns.conf

        api=yes

        api-key=changeme

        api-logfile=/var/log/pdns.log

        cache-ttl=20

        daemon=yes

        default-ttl=30

        guardian=no

        launch=gmysql

        gmysql-host=10.3.2.15

        gmysql-port=3306

        gmysql-user=powerdns

        gmysql-dbname=powerdns

        gmysql-password=powerdns

        local-address=10.3.2.15

        master=yes

        setgid=pdns

        setuid=pdns

        webserver=yes

        webserver-address=0.0.0.0

        webserver-allow-from=0.0.0.0/0

        webserver-port=8081

        write-pid=yes

        allow-axfr-ips=10.3.2.15,10.3.2.5

        also-notify=10.3.2.15,10.3.2.5

        only-notify=10.3.2.15,10.3.2.5

        slave=no

        slave-cycle-interval=60

        log-dns-details=yes

        log-dns-queries=yes

        loglevel=6pdns日志默認輸出到message的系統日志中了,調試中可以把日志打印級別開大一點

        第3章后端數據庫配置

        3.1數據庫安裝

        yuminstallmariadb-servermariadb–y

        systemctlenablemariadb.service

        systemctlstartmariadb.service

        3.2設置密碼

        mysql_secure_installation

        首先是設置密碼,會提示先輸入密碼

        Enter current password for root (enter for none):<–初次運行直接回車

        Set root password [Y/n] <–是否設置root用戶密碼,輸入y并回車或直接回車

        New password: <–設置root用戶的密碼(比如123456)

        Re-enter new password: <–再輸入一次你設置的密碼

        3.3其他配置

        Remove anonymous users [Y/n] <–是否刪除匿名用戶,回車

        Disallow root login remotely [Y/n] <–是否禁止root遠程登錄,回車,

        Remove test database and access to it [Y/n] <–是否刪除test數據庫,回車

        Reload privilege tables now [Y/n] <–是否重新加載權限表,回車

        3.4統一字符集

        ->首先是配置文件/etc/my.cnf,在[mysqld]標簽下添加

        init_connect='SET collation_connection = utf8_unicode_ci'

        init_connect='SET NAMES utf8'

        character-set-server=utf8

        collation-server=utf8_unicode_ci

        skip-character-set-client-handshake

        ->接著配置文件/etc/my.cnf.d/client.cnf,在[client]中添加

        default-character-set=utf8

        ->然后配置文件/etc/my.cnf.d/mysql-clients.cnf,在[mysql]中添加

        default-character-set=utf8

        systemctl restart mariadb.service

        3.5創建數據

        [root@ops-tmp-app-2~]#mysql-p123456

        WelcometotheMariaDBmonitor.Commandsendwith;org.

        YourMariaDBconnectionidis2

        Serverversion:5.5.60-MariaDBMariaDBServer

        Copyright(c)2000,2018,Oracle,MariaDBCorporationAbandothers.

        Type'help;'or'h'forhelp.Type'c'toclearthecurrentinputstatement.

        MariaDB[(none)]>source/root/pdns.sql

        Sql文件的內容如下,復制一下自己創建sql文件即可

        CREATEDATABASEpowerdns;

        GRANTALLONpowerdns.*TO'powerdns'@'10.3.%'IDENTIFIEDBY'powerdns';

        FLUSHPRIVILEGES;

        usepowerdns;

        CREATETABLEdomains(

        idINTAUTO_INCREMENT,

        nameVARCHAR(255)NOTNULL,

        masterVARCHAR(128)DEFAULTNULL,

        last_checkINTDEFAULTNULL,

        typeVARCHAR(6)NOTNULL,

        notified_serialINTDEFAULTNULL,

        accountVARCHAR(40)DEFAULTNULL,

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEUNIQUEINDEXname_indexONdomains(name);

        CREATETABLErecords(

        idBIGINTAUTO_INCREMENT,

        domain_idINTDEFAULTNULL,

        nameVARCHAR(255)DEFAULTNULL,

        typeVARCHAR(10)DEFAULTNULL,

        contentVARCHAR(64000)DEFAULTNULL,

        ttlINTDEFAULTNULL,

        prioINTDEFAULTNULL,

        change_dateINTDEFAULTNULL,

        disabledTINYINT(1)DEFAULT0,

        ordernameVARCHAR(255)BINARYDEFAULTNULL,

        authTINYINT(1)DEFAULT1,

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEINDEXnametype_indexONrecords(name,type);

        CREATEINDEXdomain_idONrecords(domain_id);

        CREATEINDEXrecordorderONrecords(domain_id,ordername);

        CREATETABLEsupermasters(

        ipVARCHAR(64)NOTNULL,

        nameserverVARCHAR(255)NOTNULL,

        accountVARCHAR(40)NOTNULL,

        PRIMARYKEY(ip,nameserver)

        )Engine=InnoDB;

        CREATETABLEcomments(

        idINTAUTO_INCREMENT,

        domain_idINTNOTNULL,

        nameVARCHAR(255)NOTNULL,

        typeVARCHAR(10)NOTNULL,

        modified_atINTNOTNULL,

        accountVARCHAR(40)NOTNULL,

        commentVARCHAR(64000)NOTNULL,

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEINDEXcomments_domain_id_idxONcomments(domain_id);

        CREATEINDEXcomments_name_type_idxONcomments(name,type);

        CREATEINDEXcomments_order_idxONcomments(domain_id,modified_at);

        CREATETABLEdomainmetadata(

        idINTAUTO_INCREMENT,

        domain_idINTNOTNULL,

        kindVARCHAR(32),

        contentTEXT,

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEINDEXdomainmetadata_idxONdomainmetadata(domain_id,kind);

        CREATETABLEcryptokeys(

        idINTAUTO_INCREMENT,

        domain_idINTNOTNULL,

        flagsINTNOTNULL,

        activeBOOL,

        contentTEXT,

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEINDEXdomainidindexONcryptokeys(domain_id);

        CREATETABLEtsigkeys(

        idINTAUTO_INCREMENT,

        nameVARCHAR(255),

        algorithmVARCHAR(50),

        secretVARCHAR(255),

        PRIMARYKEY(id)

        )Engine=InnoDB;

        CREATEUNIQUEINDEXnamealgoindexONtsigkeys(name,algorithm);

        flushprivileges;

        第4章安裝powerDNS-admin的web管理界面

        這里沒有使用官方提供的poweradmin,是基于LAMP的,太重,部署很不方便

        4.1為powerDNS-admin準備數據庫和用戶

        MariaDB[(none)]>CREATEDATABASEpowerdnsadminCHARACTERSETutf8COLLATEutf8_general_ci;

        QueryOK,1rowaffected(0.00sec)

        MariaDB[(none)]>GRANTALLPRIVILEGESONpowerdnsadmin.*TO'pdnsadminuser'@'%'IDENTIFIEDBY'p4ssw0rd';

        QueryOK,0rowsaffected(0.00sec)

        MariaDB[(none)]>FLUSHPRIVILEGES;

        QueryOK,0rowsaffected(0.00sec)

        4.2克隆powerDNS-admin代碼

        gitclone

        https://github.com/ngoduykhanh/PowerDNS-Admin.git

        4.3進入主目錄修改.env配置文件,配置數據庫連接信息

        [root@ops-tmp-app-2PowerDNS-Admin]#cat.env

        ENVIRONMENT=development

        PDA_DB_HOST=10.3.2.15

        PDA_DB_NAME=powerdnsadmin

        PDA_DB_USER=pdnsadminuser

        PDA_DB_PASSWORD=p4ssw0rd

        PDA_DB_PORT=3306

        PDNS_DB_HOST=10.3.2.15

        PDNS_DB_NAME=powerdns

        PDNS_DB_USER=powerdns

        PDNS_DB_PASSWORD=powerdns

        PDNS_HOST=10.3.2.15

        PDNS_API_KEY=changeme

        PDNS_WEBSERVER_ALLOW_FROM=0.0.0.0

        4.4使用docker-compose構建

        docker-composebuild

        4.5啟動容器

        docker-compose up

        PS:只要powerdns-admin這個容器起來就可以了,其他都可以忽略或者直接干掉,因為數據庫是使用自己的,沒用compose文件中構建的

        [root@ops-tmp-app-2 PowerDNS-Admin]# docker ps

        CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES

        56b74d880448powerdns-admin"/entrypoint.sh"6 days agoUp 1 second0.0.0.0:9191->9191/tcppowerdns-admin

        打開瀏覽器訪問9191端口就可以了

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品爱搞视频网站| 久久久久久亚洲精品无码| 国产一区二区三区欧美精品| 奇米影视7777久久精品| 精品国产成人国产在线观看| 51午夜精品免费视频| 亚洲国产精品VA在线观看麻豆| 热99re久久国超精品首页| 欧美日韩精品系列一区二区三区国产一区二区精品 | 久久精品国产精品亚洲艾草网美妙| 国产精品久久久99| 99精品视频在线观看免费| 91精品国产福利尤物| 日韩美女18网站久久精品| 国产精品人人做人人爽人人添| 亚洲?V无码成人精品区日韩| 国产精品手机在线观看你懂的| 思思久久99热免费精品6| 国产精品无码国模私拍视频| 久久精品国内一区二区三区| 国产成人精品2021| 国内揄拍高清国内精品对白| 亚洲高清专区日韩精品| 亚洲国产欧美日韩精品一区二区三区| 国产精品VA在线观看无码不卡| 亚洲嫩草影院久久精品| 黑人精品videos亚洲人| 久久久免费精品re6| 亚洲精品99久久久久中文字幕 | 国产99久久九九精品无码| 99久久精品国产高清一区二区 | 国产成人精品一区在线 | 久久久无码人妻精品无码| 亚洲处破女AV日韩精品| 亚洲精品国精品久久99热一| 一级A毛片免费观看久久精品| 国产精品免费观看| 国产精品区一区二区三在线播放| 久久国产热这里只有精品| 久久精品成人免费观看97| 欧美激情精品久久久久久|