专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

PowerDNS可视化管理工具

  见字如面,大家好,我是小斐,这篇主要针对PowerDNS的管理做简单介绍。背景
  PowerDNS日常管理使用命令行不太便捷,而且在公司内部,可能还需要给其他运维或者研发人员开通添加域名管理权限,在此我推荐一套针对PDNS可视化UI管理工具PowerDNSAdmin。
  可以结合SAMLLDAPActiveDirectory用户认证,可以解决多人登录该域名管理系统的权限问题。部署
  前文提到安装PowerDNS后,域名区域数据不在使用bind文件格式存储,而直接使用后端连接MySQL数据库。
  已配置好相关数据库表格式,和数据库用户,在这在此示例下:PowerDNSAdmin的数据库不能使用PowerDNS的数据库必须分开到前文所说的主库中root登录mysql数据库创建powerdnsadmin数据库CREATEDATABASEpowerdnsadminCHARACTERSETutf8mb4COLLATEutf8mb4unicodeci;GRANTALLPRIVILEGESONpowerdnsadmin。TOpdnsadminuserIDENTIFIEDBYPowerDNSAdmin987;FLUSHPRIVILEGES;安装
  安装方式:docker和dockercompose或本地化部署
  系统:Ubuntu22。04。1LTS
  本地化部署说明:安装构建python库所需的包sudoaptinstallypython3devgitlibsasl2devlibldap2devlibssldevlibxml2devlibxslt1devlibxmlsec1devlibffidevpkgconfigapttransporthttpsvirtualenvbuildessentialcurl安装Node。jscurlfsSLhttps:deb。nodesource。comsetuplts。xsudoEbashsudoaptgetinstallynodejs安装yarn构建依赖文件sudocurlsShttps:dl。yarnpkg。comdebianpubkey。gpgaptkeyaddechodebhttps:dl。yarnpkg。comdebianstablemainsudoteeetcaptsources。list。dyarn。listsudoaptupdatesudoaptinstallyarn检查源代码并创建virtualenv源代码放在optwebpowerdnsadmin目录下gitclonehttps:github。comPowerDNSAdminPowerDNSAdmin。gitoptwebpowerdnsadmin安装virtualenv包创建virtualenvaptinstallpython3。10venv创建虚拟环境目录venv虚拟环境目录名称可自定义python3mvenv。venv或者virtualenvppython3venv激活虚拟环境source。venvbinactivatepipinstallupgradepip数据库依赖包安装aptinstalllibmysqlclientdevpip3installmysqlclient2。0。1安装python项目依赖包pipinstallrrequirements。txt配置文件位置cpoptwebpowerdnsadminconfigsdevelopment。pyoptwebpowerdnsadminconfigsproduction。py修改配置文件在下面说明vimoptwebpowerdnsadminconfigsproduction。py
  配置环境启动文件:vimoptwebpowerdnsadminconfigsproduction。pyimportosimporturllib。parsebasediros。path。abspath(os。path。dirname(file))BASICAPPCONFIGSALT随机加密字符串SALT2b12yLUMTIfl21FKJQpTkRQXCu安全密钥可以用Python生成pythoncimportsecrets;print(secrets。tokenhex(16))SECRETKEY3f17176a67336b4112b524295cc0e48a监听地址BINDADDRESS0。0。0。0监听端口PORT9191OFFLINEMODEFalseFILESYSTEMSESSIONSENABLEDFalseSESSIONCOOKIESAMESITELaxCSRFCOOKIEHTTPONLYTrueDATABASECONFIG配置MySQL数据库的基本信息SQLADBUSERpdnsadminuserSQLADBPASSWORDPowerDNSAdmin987SQLADBHOST192。168。10。120SQLADBNAMEpowerdnsadminSQLALCHEMYTRACKMODIFICATIONSTrueDATABASEMySQL启动MySQL数据库SQLALCHEMYDATABASEURImysql:{}:{}{}{}。format(urllib。parse。quoteplus(SQLADBUSER),urllib。parse。quoteplus(SQLADBPASSWORD),SQLADBHOST,SQLADBNAME)DATABASESQLiteSQLite数据库注释关闭SQLALCHEMYDATABASEURIsqlite:os。path。join(basedir,pdns。db)SAMLENABLEDFalseSAMLASSERTIONENCRYPTEDTrue
  手动启动:切换到目录optwebpowerdnsadminsource。venvbinactivate导入启动配置文件exportFLASKCONF。。configsproduction。py数据库表格式生成exportFLASKAPPpowerdnsadmininit。pyflaskdbupgradeyarn包管理器安裝一些JavaScript依赖项以及为PowerDNSAdmin生成静态文件yarninstallpurelockfileflaskassetsbuild前台运行。run。py退出虚拟环境deactivate
  到此已把环境准备好,包括相关数据库配置和应用程序配置,可以直接启动。
  但是在实际生成环境中,前面肯定还是需要Web服务器,比如nginx,但是Python应用程序如何和Web服务器进行交互呢,故需要一套WSGI容器链接Web服务器和Python应用程序,如下图:
  这里将采用NginxGunicorn,由于PowerDNSAdmin是基于Flask框架实现的,同时把应用服务器的启停注册为systemd管理。flaskvirtualenv中安装了gunicorn切换到venv环境下cdoptwebpowerdnsadminsource。venvbinactivatepipinstallgunicorn
  配置系统服务:创建运行服务的系统用户和组sudogroupaddpowerdnsadminsystem创建一个没有登录shell和密码的用户,适用于运行系统服务sudouseraddsystemgpowerdnsadminpowerdnsadmin授权新用户应用程序目录权限chownRpowerdnsadmin:powerdnsadminoptwebpowerdnsadmin创建系统用户sudovimetcsystemdsystempowerdnsadmin。service〔Unit〕DescriptionPowerDNSAdminRequirespowerdnsadmin。socketAfternetwork。target〔Service〕PIDFilerunpowerdnsadminpidUserpowerdnsadminGrouppowerdnsadminWorkingDirectoryoptwebpowerdnsadminEnvironmentFLASKCONF。。configsproduction。pyExecStartPremkdirprunpowerdnsadminExecStartPrechownpdns:pdnsRrunpowerdnsadminExecStartoptwebpowerdnsadminvenvbingunicornpidrunpowerdnsadminpidbindunix:runpowerdnsadminsocketpowerdnsadmin:createapp()ExecReloadbinkillsHUPMAINPIDExecStopbinkillsTERMMAINPIDPrivateTmptrue〔Install〕WantedBymultiuser。target
  环境说明:EnvironmentFLASKCONF。。configsproduction。py,这里是基于Python的运行环境venv;由于实际代码在optwebpowerdnsadminpowerdnsadmin中,故启动配置文件写相对路径放置在optwebpowerdnsadminconfigs中,故配置文件环境变量设置相对路径:。。configsproduction。py
  新建套接字单元配置:powerdnsadmin。socket套接字单元配置:powerdnsadmin。socket以。socket为后缀的单元文件,封装了一个用于进程间通信的套接字(socket)或管道(FIFO),以支持基于套接字的启动。sudovimetcsystemdsystempowerdnsadmin。socket〔Unit〕DescriptionPowerDNSAdminsocket〔Socket〕ListenStreamrunpowerdnsadminsocket〔Install〕WantedBysockets。target
  新建配置文件:sudovimetctmpfiles。dpowerdnsadmin。confpowerdnsadmin。conf必须新建runpowerdnsadmin自动创建并授权正确权限sudovimetctmpfiles。dpowerdnsadmin。confdrunpowerdnsadmin0755powerdnsadminpowerdnsadmin
  启动:sudosystemctldaemonreloadsudosystemctlstartpowerdnsadmin。socketsudosystemctlenablepowerdnsadmin。socket启动服务sudosystemctlstartpowerdnsadmin。servicesudosystemctlenablepowerdnsadmin。service反向代理配置
  安装nginx安装nginxaptinstallnginx配置80端口vimetcnginxconf。dpdns。confserver{listen:80;servername192。168。10。200;indexindex。htmlindex。htm;accesslogvarlognginxpowerdnsadmin。local。access。logcombined;errorlogvarlognginxerrorpowerdnsadmin。logerror;clientmaxbodysize10m;clientbodybuffersize128k;proxyredirectoff;proxyconnecttimeout90;proxysendtimeout90;proxyreadtimeout90;proxybuffers324k;proxybuffersize8k;proxysetheaderHosthttphost;proxysetheaderXSchemescheme;proxysetheaderXRealIPremoteaddr;proxysetheaderXForwardedForproxyaddxforwardedfor;proxysetheaderXForwardedProtoscheme;proxyheadershashbucketsize64;locationstatic{includeetcnginxmime。types;rootoptwebpowerdnsadminpowerdnsadmin;location。(jpgjpegpnggif){expires365d;}location。。(cssjs){expires7d;}}location{proxypasshttp:unix:runpowerdnsadminsocket;proxyreadtimeout120;proxyconnecttimeout120;proxyredirectoff;}}
  如果需要443域名并证书加密访问:server{listen80;servernamepdns。itkmi。net;return301https:httphostrequesturi;}server{listen443sslhttp2;servernamepdns。itkmi。net;indexindex。htmlindex。htm;errorlogvarlognginxerrorpowerdnsadmin。logerror;accesslogoff;sslcertificateetcletsencryptlivepdns。hwdomain。iofullchain。pem;sslcertificatekeyetcletsencryptlivepdns。hwdomain。ioprivkey。pem;ssldhparampathtoyourdhparam。pem;sslpreferservercipherson;sslciphersEECDHAESGCM:EDHAESGCM:AES256EECDH:AES256EDH;sslsessioncacheshared:SSL:10m;clientmaxbodysize10m;clientbodybuffersize128k;proxyredirectoff;proxyconnecttimeout90;proxysendtimeout90;proxyreadtimeout90;proxybuffers324k;proxybuffersize8k;proxysetheaderHosthttphost;proxysetheaderXSchemescheme;proxysetheaderXRealIPremoteaddr;proxysetheaderXForwardedForproxyaddxforwardedfor;proxysetheaderXForwardedProtoscheme;proxyheadershashbucketsize64;locationstatic{includeetcnginxmime。types;rootoptpowerdnsadminpowerdnsadmin;location。(jpgjpegpnggif){expires365d;}location。。(cssjs){expires7d;}}locationupload{includeetcnginxmime。types;rootoptpowerdnsadmin;location。(jpgjpegpnggif){expires365d;}location。。(cssjs){expires7d;}}location{proxypasshttp:unix:runpowerdnsadminsocket;proxyreadtimeout120;proxyconnecttimeout120;proxyredirecthttp:scheme:;}}
  至此完成PowerDNSAdmin的搭建,打开PowerDNSAdmin服务:先注册用户,第一个用户将处于管理员角色。第一次登录时,将被重定向到设置页面以配置PDNSAPI信息。
  我这里是80端口和IP访问打开的:http:192。168。10。200
  单击:Createanaccount账户,创建新账户,这第一个账户就是默认管理员账户。
  你现在应该获得PowerDNSAdmin仪表板。PowerDNSAdmin正在运行,但仍未连接到PowerDNS服务器。
  要使用PowerDNSAdmin设置PowerDNS服务器,你必须将通过PowerDNS服务器配置的API密钥添加到PowerDNSAdmin。
  这里需要修改下PowerDNS服务器的配置文件:启用webserverwebserveryeswebserver监听地址从127。0。0。1改为0。0。0。0webserveraddress0。0。0。0默认任意地址都可以访问实际环境建议限制下webserverallowfrom0。0。0。00
  添加域名:
  到此就完成PowerDNSAdmin的安装和配置,后续讲解下域名记录添加和解析相关问题。

年度计划投资1。9万亿元!2023年省重点项目建设名单公布大河网讯发力项目建设,扩大有效投资!3月3日,河南省发展改革委公布了2023年省重点项目建设名单,入选项目共计2505个,年度计划投资约1。9万亿元,涵盖创新驱动能力提升基础设施建德勤2022全球零售250强名单京东再次上榜全球零售十强德勤最新发布2023全球零售力量研究报告显示,京东作为唯一入选的中国企业,已连续两年上榜全球零售十强,并以25。1的零售收入增速领衔(2021财年),成为全球十强中增长最快的零售商阿森纳的目标现在准备离开布莱顿阿利斯特是一名被通缉的球员,但在世界杯冠军归来后,他在上一个转会窗口忠于布莱顿。这位中场球员在比赛中为阿根廷队发挥了关键作用,为他在英格兰和欧洲赢得了更多的崇拜者。布莱顿在一月份成时隔两年,林孝埈重回伤心地!遭韩媒围追堵截,小林霸气回应重回韩国,林孝埈成为人们关注的焦点。这位曾是韩国短道速滑队的奥运冠军,如今已加入中国籍,成为中国队的一员。他在本月即将出征的短道速滑世锦赛上,将以中国选手的身份迎战昔日的队友们。林古老优美隽永深刻艺术里的奥林匹克带您解析黑绘双耳瓶中的文明印记丰富生动的人物整齐排列的动物精美繁复的花纹简洁规律的图形穿越千年破土而出中央美术学院修复学院院长王颖生首都体育学院奥林匹克研究中心主任茹秀英带您解析黑绘双耳瓶中的文明印记古希腊陶器半岁宝宝听力下降,病因让人意想不到,医生提醒这些因素不要忽视!来源湖北经视科学爱耳护耳实现主动健康3月3日是全国爱耳日,目前,有不少家长反应,孩子在出生时听力好好的,但长大后听力突然下降了。其实,在孩子成长过程中,有许多因素都会导致听力下降。别再纠结了!来看最值得幼儿园儿童学习的兴趣班1。美术课程这是培养儿童想象力和创造力的好方法。通过画画手工制作等活动,儿童可以锻炼自己的手部协调能力和创造性思维。2。音乐课程音乐可以激发儿童的感情和兴趣,帮助他们发展良好的情绪赵冬苓提议2024年以后出生的孩子免除学费直到大学毕业终于看到一个令人振奋且接地气的提议了。全国人大代表作家编剧赵冬苓女士提议为促进生育,降低育儿成本,对2024年以后出生的孩子免除学费,课本费,直至大学毕业。图片来源于网络侵删建议是儿童近视怎么办??在帮助孩子矫正视力时我们应该正确采取哪些措施?1。多多户外建议照度在1。5wlux,户外56小时,太阳太烈时,可选择阴凉地,照度在1。5w以上。建议不戴帽子,戴帽子后入眼照度100儿童使用氨溴索,应如何调整剂量?仅供医学专业人士阅读参考循证医学,合理用药氨溴索适用于伴有痰液分泌不正常及排痰功能不良的急性慢性肺部疾病。例如慢性支气管炎急性加重喘息型支气管炎及支气管哮喘的祛痰治疗。儿童使用氨溴这些耳朵畸形影响颜值和听力,治疗可享受最高3万元救助!湖南日报3月3日讯(全媒体记者王铭俊通讯员姚家琦)想要拥有正常的听觉,先决条件之一就是要有一对正常的耳朵。但有些孩子存在先天性耳廓大小形态及标志结构不同程度的变化,常伴有外耳道狭窄
自媒体结合aigc迭代速度,为自媒体人提供新思路随着新媒体时代的到来,自媒体领域也开始崭露头角。自媒体不仅有着低门槛广泛传播的优势,还可以在互联网上实现与读者的零距离互动。而如今,自媒体结合人工智能技术进行迭代升级,将为自媒体人象棋残棋连将杀训练题,难度不高,妙解的是高手中国象棋文化博大精深,源远流长,有广大的群雄基础,虽通俗易懂,却易学难精,那么有什么方法可以进步呢?还真的有,那就是学残棋,先容易,再困难。从古到今留下了无数的经典残棋,它们集合了襪套設計挹注NikeRosheTwoFlyknitV2版本四色亮相2016年時,Nike將旗下經典鞋款RosheOne推出第二代,並換上Flyknit鞋面,迎來了RosheTwoFlyknit。而就在一年後,品牌再度讓系列鞋款進化,延續著Rosh电讯报曼联预计将收到至少2份超50亿英镑报价有望创纪录直播吧3月21日讯据电讯报报道,曼联相信他们将在本周收到超过50亿英镑的报价,如果这个报价被格雷泽家族接受,这将创造体育俱乐部出售价格纪录。据悉,多达六个竞购团体预计将在周三晚的截外网热议皇马到底在踢什么?切尔西应该感到害怕吗?在此前结束的一场西班牙国家德比的比赛中,巴萨21战胜了皇马,领先白衣军团12分。本场比赛也引发了外网上不少球迷的热议皇马到底在踢什么?这是切尔西应该要感到害怕的球队吗?切尔西确实比上海确保全年就业岗位新增超55万个日前,上海市人社局发布2023年任务清单,明确将全面落实就业优先战略,确保全年新增就业岗位55万个以上,城镇调查失业率保持在5以内。上海坚持将高校毕业生就业作为重中之重,确保今年离余依婷夺金!镇海小将闪耀全国春季游泳锦标赛昨晚,在青岛体育中心游泳馆举行的全国春季游泳锦标赛上,由镇海培养输送的游泳小将余依婷以2分09秒96的成绩夺得女子200米个人混合泳决赛第一名。此次比赛,国内实力最强的两人包揽了冠全国政协委员上海来伊份股份有限公司总裁郁瑞芬深耕小产业闯出大荣光编者的话春暖万物苏。党的二十大以来,中国经济发展潜力和活力进一步释放,中国民营经济迎来新的发展机遇期。推动传统产业转型升级抢占新一轮科技革命先机提升企业核心竞争力担当企业社会责任广上海2022年实现地区生产总值44652。80亿元中证网讯(记者汪荔诚)据上海统计微信公众号3月22日消息,上海市2022年全年实现地区生产总值(GDP)44652。80亿元,其中,第一产业增加值96。95亿元第二产业增加值114CBA最新积分榜山西第10,同曦第14,广州第11,青岛第13上海第5北京时间3月21日,CBA常规赛第37轮继续进行,昨日共结束5场比赛,同曦95101广州,北控102107浙江东阳光,天津115101青岛,浙江10285山西,四川109112上海围观!29年前这许多上海囡囡的老照片,你见过吗?那些事那些人,暖到泪目3月17日,新民晚报头版头条发出失明前,想看一眼儿时照片!的消息,讲述先天残障的伍童向市政府领导信箱发出一封求助信,十分期盼能在新民晚报上向社会征集1980年至2000年间上海市儿
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网