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

        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號
        主站蜘蛛池模板: 亚洲精品麻豆av| 国产精品v片在线观看不卡| 久久精品国产亚洲AV无码娇色| 99久久免费只有精品国产| 国产在线精品一区二区在线观看| 久久精品中文字幕第23页| 国内精品久久久久| 久久精品国产第一区二区三区| 亚州日韩精品专区久久久| 国产乱子伦精品无码专区| 老司机69精品成免费视频| 精品人无码一区二区三区| 欧美日韩国产精品| 国产精品最新国产精品第十页 | 亚洲国产精品久久久久久| 国内精品51视频在线观看| 宅男在线国产精品无码| 精品一区二区三区高清免费观看| 香蕉久久夜色精品国产小说| 99精品人妻无码专区在线视频区| 亚洲AV无码久久精品蜜桃| 在线精品动漫一区二区无广告| 久久国产精品免费一区| 国产精品热久久无码av| 69堂午夜精品视频在线| 亚洲国产精品自在在线观看| 久久99精品国产99久久| 99热国内精品| 99视频精品全部在线观看| 久久99国产综合精品女同| 久久永久免费人妻精品下载| 亚洲国产精品特色大片观看完整版| 无码人妻精品一区二区三区99不卡 | 国产精品亚洲欧美大片在线观看| 88国产精品欧美一区二区三区| 亚洲精品欧美综合| 99久久精品免费看国产一区二区三区| 欧美精品一本久久男人的天堂| 精品久久一区二区| 亚洲综合精品香蕉久久网97| 999久久久免费国产精品播放|