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

首先:系统环境以及软件需求
   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管理)
 
 
因为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是否安装成功
  
 
   之后就进行mysql的安装了,先切换到mysql的源码解压目录
   #cd /usr/local/src/mysql-5.6.10/
   然后执行#cmake .
   在执行#make && make install
  
   执行过程相当的长。。。需耐心等待。
 
   先添加 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
  
 
   使用 mysql
   /usr/local/mysql/bin/mysql
  
 
   查看状态,安装成功啦。
  
 
 
接下来就需要安装配置 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
  
  
 
因为当下还没有为mydns创建数据库,虽然配置文件指名了,下面就登录mysql创建mydns的后台数据库,我们数据库名这里用的是mydns
  
   如果使用 /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的时候再建立
接下来安装配置 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
   之后打开浏览器测试
 
安装 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';
 
然后便开始测试部分了
   首先把所有的服务都起来
   #service mysql restart
   # /usr/local/mydns/sbin/mydns &
   #service httpd restart
   启动结果
   接下来就是重点啦,那就是在网页上测试啦,但是我们还有一项任务要做:
源码安装的mysql把mysql.sock文件放到/tmp目录下了,我们需要把这个文件链接到/var/lib/mysq/目录下( 软连接,防止在登陆的时候,因为找不到mysql.sock文件而造成无法登陆的情况。)
# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
接下来再测试,打开浏览器输入http://127.0.0.1/mydnsconfig/ 再次输入用户名和密码后点击“ Login”就会有以下界面
 
点击“ Add New Zone”,现在我们来添加一个域zzutest.com
填写相关信息后点击“ Save”
 
然后点击鼠标所指的位置
继续点击“ Records”
 
点击“ Add New Record”

这里有很多种类型的记录可以添加,编者在这里添加了一条ns记录,和三条A记录,记录可以根据类型来查看就是中间的那个下拉框。
 
 
 选择“ A”的时候能看到我们刚才添加的三条A记录
选择“ NS”的时候能看到添加的一条NS记录
最后一步,我们来测试解析结果:
都很正确,大功告成,接下来的练习教给读者你了,有啥问题可以及时留言或者和文章原作者联系,文章参考: http://wnqcmq.blog.51cto.com/5200614/1170326