LAMP应用之Mydns

Mydns

为便于管理dns服务器,今天我们来搭建一个dns服务器,我们还是在前面所说的LAMP环境下实现它,它需要通过网页实现对dns的管理(dns内容信息存在于mysql数据库内,这里我们使用mydnconfig),这种简单的交互式管理界面,方便了我们对dns的管理使用。

搭建所需要安装服务有:(搭建环境红帽5.4

LAMP环境(前面已经有详细介绍)

mydns-1.1.0

MyDNSConfig-1.1.0(只是一个web管理工具)

LAMP环境搭建完整的前提下,接下来我们就去安装mydns

同样的解压,编译并安装

[root@localhost ~]# tar -zxvf mydns-1.1.0.tar.gz -C /usr/local/src/

[root@localhost ~]# cd /usr/local/src/mydns-1.1.0/

[root@localhost mydns-1.1.0]# ./configure --prefix=/usr/local/mydns

Make

Make install

接下来执行make  conf 来生成mydns的配置文件

接下来去编辑mydns的配置文件/etc/mydns.conf

登录我们之前我们搭建好的mysql数据库,添加用户并创建mydns数据库,这里最好给用户所有权限

下图为mydns用户和数据库

至于mydns内的表等我们用到时再去创建

接下来去安装mydnsconfig

[root@localhost ~]# tar -zxvf MyDNSConfig-1.1.0.tar.gz -C /usr/local/src/

创建一个mydnsconfig目录

[root@localhost MyDNSConfig-1.1.0]# mkdir /usr/share/mydnsconfig/

[root@localhost lib]# ln -s /usr/share/mydnsconfig/web/ /usr/local/apache/htdocs/mydnsconfig编辑/mydnsconfig/lib/config.inc.php(更改一个登录密码)

[root@localhost MyDNSConfig-1.1.0]# mkdir /var/lib/mysql/

[root@localhost MyDNSConfig-1.1.0]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

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

(创建之前需要我们去做上面两个步骤)

[root@localhost MyDNSConfig-1.1.0]# mysql -u mydns -p mydns < install/mydnsconfig.sql

Enter password:

[root@localhost MyDNSConfig-1.1.0]# /usr/local/mydns/sbin/mydns &

[1] 27721

重启其他服务

打开浏览器输入http://192.168.129.251/mydnsconfig会出现下面的错误

通过上网查看资料得知

错误解释:

如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:

foo(&$var);

实际上,这样用法在php5.3中就会有提示,只是之前的仅仅会提示Deprecated而已。

 

view plaincopy to clipboardprint?

// 正确写法 

function myFunc(&$arg) { do something... } 

myFunc($var);//Call myFunc 

//错误写法 

function myFunc($arg) { do something... } 

myFunc(&$arg);//Call myFunc 

 

php.iniallow_call_time_pass_reference参数的意思

 

php手册中可以找到:allow_call_time_pass_reference boolean,在PHP5.3里是一个警告可以用:

allow_call_time_pass_reference = On 

 

来去掉,但是在PHP5.4里就成了一个错误,得修改,如下:

 

函数原型: 

private function encodeRecommendListHtmlTags($targetname = 'video', &$list) 

{ 

以前调用:$this->encodeRecommendListHtmlTags($target, &$list); 

修改调用:$this->encodeRecommendListHtmlTags($target, $list); //去掉这个&符号。 

 

按照大家所提供的解决办法,应该就差不多了吧