终于完成了bind9 + mysql-bind 的编译安装

从昨晚到现在,不停的修改编译,终于编译成功了,不过把一些选项去掉了,不知道执行还有没有问题。

中文参考http://blog.chinaunix.net/article.php?articleId=6314&blogId=406

从源码安装bind, 加载mysql支持

1 下载bind的源代码包, 和mysql-bind包
2 解压两个包, 将mysql-bind里的mysqldb.c 和mysqldb.h分别拷到bind的bind9/bin/named/include和bind9/bin/named目录下.
3 vi bind9/bin/named/Makefile.in; 设置里面的DBDRIVER_SRCS,DRIVER_OBJS,DBDRIVER_INCLUDES,DBDRIVER_LIBS等选项. 分别对应刚才的mysqldb.o和mysqldb.c, 以及你的mysql_config --cflags和 mysql_config --libs的输出.比如我的设置是:
DBDRIVER_OBJS = mysqldb.o
DBDRIVER_SRCS = mysqldb.c
DBDRIVER_INCLUDES = -I'/usr/local/mysql/include'
DBDRIVER_LIBS = -L'/usr/local/mysql/lib' -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv
接着vi bind9/bin/named/main.c, 在头文件中添加 #include "mysqldb.h". 然后在call to ns_server_create()添加mysqldb_init (); 在ns_server_destroy() 之前添加 mysqldb_clean().
4 进入bind9目录, ./configure, make, make install 安装bind9.
5 创建链接ln -s /usr/local/sbin/rndc /usr/sbin/rndc ln -s /usr/local/sbin/named /usr/sbin/named
6 创建rndc.conf配置文件。/usr/local/sbin/rndc-confgen > /etc/rndc.conf
7 创建rndc.key文件。将rndc.conf文件中注释部分关于key和controls的字段拷贝生成rndc.key.
8 创建named.conf文件并根据自己的实际需要编辑文件. 同时对应要创建相应的数据库.
这些就不细说了.

参考文章: http://bbs.chinaunix.net/forum/viewtopic.php?t=94879&show_type=new

但是在mysql-bind的说明文档中,mysqldb_clean()是添加在ns_server_destroy() 后的,有一点不同.

但我编译时说ld找不到lnss_files 和nss_dns,所以我把这相关的去掉了,变成了
DBDRIVER_LIBS = -L'/usr/local/mysql/lib' -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lresolv

另外,编译时要注意环境变量,我把所有的环境变量一下子加了进来了。:)

 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:/usr/ucb:/usr/local/mysql/bin:/usr/local/bin/flex
export PATH
  CC=gcc;export CC
 LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local:/usr/local/mysql/lib/mysql:/usr/local/mysql/include/mysql    export LD_LIBRARY_PATH

再进行服务器配置的测试,看看省略掉的有没有问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值