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

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

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

mydns-1.1.0.tar.bz2

mysql-5.6.10.tar.gz cmake-2.8.10.2.tar.gz(用于编译mysql源码)

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是否安装成功

clip_image002

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

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

然后执行#cmake .

在执行#make && make install

clip_image004

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

先添加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

clip_image006

使用mysql

/usr/local/mysql/bin/mysql

clip_image008

查看状态,安装成功啦。

clip_image010

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 install

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

添加mydns用户

#useradd mydns

#passwd mydns 这里密码改为123456

编辑mydns.conf

clip_image012

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

clip_image014

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

/usr/local/mysql/bin/mysql

mysql> create database mydns; 
mysql> grant all on mydns.* to mydns@localhost identified by mysql> '123456'; 
mysql> flush privileges; 
mysql> 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

之后打开浏览器测试

clip_image016

安装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 < 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 &

#service httpd restart

启动结果

clip_image018

接下来就是重点啦,那就是在网页上测试啦,打开浏览器,在地址栏输入http://127.0.0.1/mydnsconfig/之后就会出现下面的登录界面

clip_image020

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

clip_image022

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

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

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

<?php

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

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

print("Connected successfully");

mysql_close($err);

?>

然后继续打开浏览器输入http://127.0.0.1/test.php测试

clip_image024

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

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

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

clip_image026

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

clip_image028

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

clip_image030

然后点击鼠标所指的位置

clip_image032

继续点击“Records”

clip_image034

clip_image036

点击“Add New Record”

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

clip_image038

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

clip_image040

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

clip_image042

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

clip_image044

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