MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可时时生效。与传统DNS相比,MyDNS服务器的安装配置和管理更加简单容易实现 ,而且更容易理解。与传统和基于配置文件的DNS服务器相比,初学者更能快速入门。MyDNS从MySQL数据库中读取记录,当记录或区域增加、修改、删除的时候不用重新启动、加载服务器。MyDNSConfig是使用WEB的MyDNS配置接口,它可以创建所有类型的MyDNS记录

为了在redhat上搭建mydns,首先要搭建lamp,lamp指 linux +apache+mysql+php,是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但常常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的web应用程序。今天心血来潮,想用源码来安装这一强大的组合,至于为什么要用源码来安装,当然是要使用其更新更强的功能啦

首先我们要到各个程序的官网下载新版本的源码包,由于要使源码能正常安装且正常工作,我们要先检查系统预编译环境且系统是否安装了必需开发组件,即开发工具和开发库。为了操作起来方便,这里,我有yum来检测,当然要先配置本地yum,这里我由于我已经配置过了,就直接来用,利用yum grouplist命令来检测,检测发现,必要的组件和库文件已经具备:

 Development LibrariesDevelopment ToolX Software DevelopmentLegacy Software Development当然如果,没有的话,是要安装的,利用yum groupinstall 命令来安装即可。

接下来来安装apache mysql php ,这三个包,要先安装apache和mysql这两个包,因为php的安装是要关联apache和mysql的

这里我先来安装apache,这里我下载的是httpd-2.4.4,要安装需要额外安装另外两个文件apr,apr-util,所以先来安装这两个包(注意:如果系统里安装的有apache的话是要先卸载的)

tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/

 cd /usr/local/src/apr-1.4.6/

./configure --prefix=/usr/local/apr

 make

 make install

   tar -zxvf apr-util-1.4.1.tar.gz -C /usr/local/src/

   cd /usr/local/src/apr-util-1.4.1/

   ./configure --with-apr=/usr/local/apr/bin/apr-1-config 

   make

make install

此外,还要安装一个pcre-devel的包,这里我利用yum装的rpm包

接下来就来安装apache,这里我下载的版本为httpd-2.4.4,

 tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/

 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all(提示缺少gcc,用光盘提供的rpm装上即可

make

make install

接着要把apachectl的路径放到man的路径当中去vim /etc/man.config

然后对apache的include做一个符号链接

ln -s /usr/local/apache/include  /usr/include/apache

接下来就要去做apache的脚本了,并把其拷贝到/etc/init.d/目录下,并附加其可执行的权限

root@localhost ~]# cp httpd /etc/init.d/

[root@localhost ~]# chmod a+x /etc/init.d/httpd

service httpd start

chkconfig --add httpd

chkconfig httpd on

接下来安装mysql

Mysql有二进制和源码两种,这里我用的源码,所以要先安装cmake

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

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

./configure --prefix=/usr/local/cmake(会提示,缺少gcc-c++,装上就好

make

make install

后把cmake下的bin加入/etc/profile中

然后来安装mysql

添加mysql用户和用户组

groupadd mysql 

useradd -r -g mysql mysql

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

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

 cmake .(过程中会提示有两个包要安装,根据错误信息,把两个包ncurses-devel和bison装上即可,但在装之前要rm-f CMakeCache.txt

  make && make install

进入安装目录,数据目录的有权改为mysql用户,更新授权表

cd /usr/local/mysql/

chown -R mysql .

chgrp -R mysql .

切换到脚本目录下

 cd /usr/local/mysql/scripts

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

然后对所有者所属组进行修订

chown -R root .

chown -R mysql data(子目录的所有者要改为mysql

设置选项文件,将配置文件拷贝到/etc下

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

设置控制脚本

cp mysql.server /etc/rc.d/init.d/mysql

chmod a+x /etc/init.d/mysqld

配置profile文件

mysql配置密码

mysqladmin -u root -p password 'wgz0224gz'

lib库路径设为标准路径

在/etc/ld.so.conf.d下编辑一文件,把lib的路径/usr/local/mysql/lib加入里面

然后刷新ld.so.cache文件

ldconfig

为include文件做符号链接

ln -s /usr/local/mysql/include /usr/include/mysql

接下来安装php

tar -jxvf php-5.4.13.tar.bz2 -C /usr/local/src/

cd /usr/local/src/php-5.4.13/

./configure --prefix=/usr/local/php --sysconfdir=/etc --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-xml --with-freetype-dir(会提示错误 用yum装libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel 包即可)

make && make install

也要把php的bin否认路径放入profile文件里

在/etc/ld.so.conf.d下编辑一文件,把lib的路径/usr/local/php/lib加入里面

为include文件做符号链接

ln -s /usr/local/php/include /usr/include/php

测试

配置phpmyadmin

unzip phpMyAdmin-3.5.8-all-languages.zip

mv  phpMyAdmin-3.5.8-all-languages /usr/local/apache/htdocs/phpmyadmin

然后在/etc/httpd/httpd.conf中添加

下面来安装mydns

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生成主配置文件

 make conf

添加运行mydns 的用户 
     useradd mydns

创建mydns数据库

mysqladmin -u root -p create mydns

mysql>grant all on mydns.* to mydns@localhost identified by 'wgz0224gz'

mysql> flush privileges;

创建mydns表

cd /usr/local/mydns/sbin/

./mydns --create-tables |mysql -u root -p mydns

修改/etc/mydns.conf改里面的数据连接

设置mydns网页管理,把.php文件拷贝到apache的web目录下

cd mydns-1.1.0/contrib/

 cp -p *.php /usr/local/apache/htdocs/

修改admin.php中的数据库

cd /usr/local/apache/htdocs/

[root@localhost htdocs]# vim admin.php 

安装配置mydnsconfig

tar -zxvf MyDNSConfig-1.1.0.tar.gz -C /usr/local/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/ /usr/local/apache/htdocs/mydnsconfig

创建所需表

mysql -u root -p mydns <install/mydnsconfig.sql

编辑mydnsconfig的配置文件

vim /usr/share/mydnsconfig/lib/config.inc.php

启动mydns

/usr/local/mydns/sbin/mydns &

然后在linux的浏览器里输入http://localhost/mydnsconfig,登陆进行配置即可