天天看点

mydns+mysql+myconfig实现可视化管理dns服务器

上一篇博客小编讲的是powerDNS的使用,今天小编来和大家聊聊mydns的配置以及使用,网上有很多有关于mydns的配置,小编我也参考过,可是做到myconfig的web管理(后面小编会讲到)就会卡壳,当然小编既然提到这,肯定是有办法解决啦,解决方法小编在后面的实现步骤上详细附上啦。下面开始动手搞定mydns吧。

step 1:系统环境以及软件需求

小编用的虚拟系统的用的是red hat enterprise linux 5.4

<a href="http://sourceforge.net/projects/mydns-ng/files/latest/download">mydns-1.1.0.tar.bz2</a>

apache服务器以及相关组件

MyDNSConfig-1.1.0.tar.gz(用于web管理)

step 2:因为mydns的域以及记录信息都是依托于mysql数据库的,所以先安装mysql数据库,因为原有linux 5.4 下附带的mysql版本太低,这里小编就下载了一个最新版本的mysql-5.6.10,至于安装过程小编原来有一篇博客有详细的说明,如果不想看的话小编这里一不厌其烦的附上啦

将mysql和cmake的源码文件解压到/usr/local/src文件夹下

#tar -zxvf mysql-5.6.10.tar.gz -C /usr/local/src/

#tar –zxvf cmake-2.8.10.2.tar.gz –C /usr/local/src

切换到cmake目录下

#cd /usr/local/src/cmake-2.8.10.2/

按照安装说明分别执行:

#./ bootstrap

#make

#make install

之后使用which cmake查询cmake是否安装成功

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982191geHY.jpg"></a>

之后就进行mysql的安装了,先切换到mysql的源码解压目录

#cd /usr/local/src/mysql-5.6.10/

然后执行#cmake .

在执行#make &amp;&amp; make install

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982215SOcm.jpg"></a>

执行过程相当的长啊。。。。。。。。

先添加mysql用户吧

#groupadd mysql 

#useradd -r -g mysql mysql

mysql会自动安装到/usr/local/mysql目录下,然后我们将用户和用户组 修改一下

#chown -R mysql.mysql /usr/local/mysql

切换到脚本目录下

#cd /usr/local/mysql/scripts

执行后续脚本

#./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

之后要将相应的配置文件(放在/usr/local/mysql/support-files)cp 到/etc目录下

#cd /usr/local/mysql/support-files

#cp mysql.server /etc/rc.d/init.d/mysql 为了能使用service命令控制

#cp my-default.cnf /etc/my.cnf

之后修改mysql的开机启动级别

#chkconfig --add mysql

#chkconfig --level 35 mysql on

启动mysql

#service mysql start

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982241xfPz.jpg"></a>

使用mysql

/usr/local/mysql/bin/mysql

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_13649822458sZO.jpg"></a>

查看状态,安装成功啦。

step 3:安装配置mydns

解压缩 mydns-1.1.0.tar.gz,并且切换到解压后的目录下

#tar -zxvf mydns-1.1.0.tar.gz -C /usr/local/src

#cd /usr/local/src/ mydns-1.1.0

安装(老三步,每一步执行完之后都会有下一步的提示)

#./configure --prefix=/usr/local/mydns (指名安装路径) 

#make 

#make conf 这一步很关键,生成配置文件

添加mydns用户

#useradd mydns

#passwd mydns 这里密码改为123456

编辑mydns.conf

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_13649822901DrL.jpg"></a>

因为当下还没有为mydns创建数据库,虽然配置文件指名了,下面就登录mysql创建mydns的后台数据库,数据库名小编这里用的是mydns

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982303ibc5.jpg"></a>

如果使用/usr/local/mysql/bin/mysql -u -root -p 无法登录的话就直接使用

mysql&gt; create database mydns; 

mysql&gt; grant all on mydns.* to mydns@localhost identified by mysql&gt; '123456'; 

mysql&gt; flush privileges; 

mysql&gt; quit ;

创建完数据库,读者会想,接下来就是创建相应的表结构啦,但是小编这里提醒啦,因为咱要使用mydnsConfig这个web管理工具,当配置这个管理工具的时候也涉及到建表的工作,它们都是针对于mydns这个数据库的啦,所以我们这里配置mydns的时候可以不用建表,等到配置mydnsConfig的时候再建立

step 4:安装配置 MyDNSConfig-1.1.0.tar.gz

MyDNSConfig 是基于PHP 的基础上开发的。所以你的服务器一定要能支持

PHP 和MySQL 才行。mysql小编已经配置过了,那就是配置apache和php的工作了,这里可以使用linux 5.4 自带的软件包就行了

#yum install httpd php php-mysql php-mbstring mysql-connector-odbc

#chkconfig --levels 235 httpd on

#service httpd start

之后打开浏览器测试

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982319hqVv.jpg"></a>

安装MyDNSConfig

#tar xvfz MyDNSConfig-1.1.0.tar.gz -C /usr/loacl/src

#cd /usr/local/src/MyDNSConfig-1.1.0

#mkdir /usr/share/mydnsconfig

#cp -rf interface/* /usr/share/mydnsconfig/

#ln -s /usr/share/mydnsconfig/web/ /var/www/html/mydnsconfig

创建域表以及记录表等,这里直接可以使用MyDNSConfig自带的脚本来快速创建

# mysql -u mydns -p mydns &lt; install/mydnsconfig.sql

这样一来建表的工作就完成了

编辑MyDNSConfig 的配置文件

#vim /usr/share/mydnsconfig/lib/config.inc.php(修改认证密码即可)

$conf["db_type"] = 'mysql';

$conf["db_host"] = 'localhost';

$conf["db_database"] = 'mydns';

$conf["db_user"] = 'mydns';

$conf["db_password"] = '123456';

step 5:集中测试

首先把所有的服务都起来

#service mysql restart

# /usr/local/mydns/sbin/mydns &amp;

#service httpd restart

启动结果

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982353Ov3g.jpg"></a>

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_136498237580Am.jpg"></a>

默认的用户名和密码都是admin,可是当你输入完成后点击login你会发现下面的场景

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_13649824049diX.jpg"></a>

这是什么情况,难道登录帐号和密码不是admin,小编也曾怀疑过啊,但是这个怀疑经过小编我的不懈努力给打消了,因为源码安装有个好处啊,能读到MyDNSConfig的php源码啊,我仔细调试了一下MyDNSConfig的登录页面,

最终发现问题出现在底层php连接mysql数据库的mysql_connect()函数没有拿到正确的结果,当然原有的代码把错误友好显示了,我这里为了解决问题,我自己写了一个简单的调试php页面来显示错误信息,以便解决

#vim /var/www/html/test.php 写下以下内容并保存

&lt;?php

$err=mysql_connect("localhost","root","123456")

or die("Could not connect:".mysql_error());

print("Connected successfully");

mysql_close($err);

?&gt;

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982461EFMp.jpg"></a>

看到错误信息了吧,它说找不到mysql.sock文件,这个就简单啦,小编源码安装的mysql把这个文件放到/tmp目录下了,咱可以把这个文件链接到/var/lib/mysq/目录下

# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

接下来再测试,打开浏览器输入http://127.0.0.1/mydnsconfig/ 再次输入用户名和密码后点击“Login”就会有以下界面

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_136498246450kB.jpg"></a>

点击“Add New Zone”,现在小编来添加一个域zzutest.com

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982468hHeb.jpg"></a>

填写相关信息后点击“Save”

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_13649824721Dj7.jpg"></a>

然后点击鼠标所指的位置

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982476AcAB.jpg"></a>

继续点击“Records”

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982480nkUr.jpg"></a>

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982484jLtO.jpg"></a>

点击“Add New Record”

这里有很多种类型的记录可以添加,小编添加了一条ns记录,和三条A记录,记录可以根据类型来查看就是中间的那个下拉框啦

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982488azEs.jpg"></a>

选择“A”的时候能看到小编添加的三条A记录

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982490EOMd.jpg"></a>

选择“NS”的时候能看到小编添加的一条NS记录

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982491z8IX.jpg"></a>

最后一步,小编来测试以下解析结果啦

<a href="http://wnqcmq.blog.51cto.com/attachment/201304/3/5200614_1364982493iFi4.jpg"></a>

都很正确,大功告成,接下来的练习教给读者你哈,有啥问题可以及时留言和小编我联系哈

本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1170326