bind mysql django_GitHub - Mikechenjs/Bind-Web: Bind-DLZ + Django + Mysql DNS管理平台

Bind-DLZ + Django + Mysql DNS管理平台

系统环境:CentOS 6.5 X64

软件版本:

bind-9.9.5.tar.gz

mysql-5.6.16.tar.gz

Python 2.7.6

Django 1.11.x

描述:

数据库安装就不在絮叨,了解运维的同学都应该知道

一.源码安装配置Bind:

1.源码编译安装

tar -zxvf bind-9.9.5.tar.gz #解压压缩包

cd bind-9.9.5

./configure --prefix=/usr/local/bind/ \

--enable-threads=no \

--enable-newstats \

--with-dlz-mysql \

--disable-openssl-version-check

#官网说明强调编译关闭多线程,即--enable-threads=no

make

make install #源码编译安装完成

2.环境变量配置

cat >> /etc/profile <

PATH=$PATH:/usr/local/bind/bin:/usr/local/bind/sbin

export PATH

EOF

source /etc/profile #重新加载一下环境变量

named -v #如下图,说明环境变量正常

1.png?raw=true

3.用户添加授权目录

useradd -s /sbin/nologin named

chown -R named:named /usr/local/bind/

4.配置Bind

注意: bind 的数据库即是 管理平台使用的数据库,这里配置的库名和,后面管理平台的数据库名一样

vi /usr/local/bind/etc/named.conf

options {

directory "/usr/local/bind/";

version "bind-9.9.9";

listen-on port 53 { any; };

allow-query-cache { any; };

listen-on-v6 port 53 { ::1; };

allow-query { any; };

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto;

};

key "rndc-key" {

algorithm hmac-md5;

secret "C4Fg6OGjJipHKfgUWcAh+g==";

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { "rndc-key"; };

};

view "ours_domain" {

match-clients {any; };

allow-query-cache {any; };

allow-recursion {any; };

allow-transfer {any; };

dlz "Mysql zone" {

database "mysql

{host=127.0.0.1 dbname=devops1 ssl=false port=3306 user=root pass=123456}

{select zone from dns_records where zone='$zone$'}

{select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"') when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum) else data end from dns_records where zone = '$zone$' and host = '$record$'}";

};

zone "." IN {

type hint;

file "/usr/local/bind/etc/named.ca";

};

};

保存退出

5.生成 name.ca文件

(demo) -bash-4.1# cd /usr/local/bind/etc/

(demo) -bash-4.1# dig -t NS . >named.ca

二.配置Bind-Web 管理平台

1.克隆管理平台

(demo) -bash-4.1# git clone https://github.com/1032231418/Bind-Web.git #git 克隆下来

(demo) -bash-4.1# cd Bind-Web

2.安装Django框架

(demo) -bash-4.1# pip install -r requirement.txt

3.数据库配置:

1.) CREATE DATABASE devops1 CHARACTER SET utf8 COLLATE utf8_general_ci; #创建数据库

2.)配置文件devops/settings 里连接数据库

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME':'devops1',

'USER': 'root',

'PASSWORD': '123456',

'HOST': '127.0.0.1',

'PORT':'3306',

}

}

3.)表结构刷到数据库

python manage.py makemigrations

makemigrations.png

python manage.py migrate

migrate.png

4.)创建管理用户

(env) [root@pyvm devops]# python manage.py createsuperuser

createuser.png

5.)运行项目

(env) [root@pyvm devops]# python manage.py runserver 0.0.0.0:8001

http://ip/8001 访问WEB 界面 登录账户就是创建的管理用户

login.png

darshboard.png

userlist.png

namelist.png

三.启动Bind服务并设置开机启动脚本

1.启动 Bind 服务并设置开机启动脚本

(demo) -bash-4.1# /usr/local/bind/sbin/named

2.监控系统日志:

tail -f /var/log/messages

3.如下,说明服务启动正常

3.png?raw=true

测试bind连接数据库是否正常:

4.png?raw=true

4.设置 Bind 开机启动脚本

bind 本文档会附带,传到服务器 /etc/init.d/ 目录

(demo) -bash-4.1# chmod 755 /etc/init.d/bind

(demo) -bash-4.1# #mkdir /var/run/named/ && chown named:named -R /var/run/named

杀掉 named 服务,改用脚本启动

(demo) -bash-4.1# pkill named

(demo) -bash-4.1# /etc/init.d/bind start #监控日志,查看启动状态

(demo) -bash-4.1# chkconfig --add bind #加入开机启动

tail -f /var/log/messages

5.png?raw=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值