BIND9 MySQL 連携

 必要パッケージ
本体
BIND9

BINDとMySQLの接続ドライバ
mysql-bind var.0.2
mysql-bind var.0.2 2008/10/14現在
http://sourceforge.net/projects/mysql-bind/


 ソースファイル展開
# tar zxvf bind-9.5.0-P2.tar.gz
# tar zxvf mysql-bind.tar.gz
# cp mysql-bind/mysqldb.c bind-9.5.0-P2/bin/named/
# cp mysql-bind/mysqldb.h bind-9.5.0-P2/bin/named/include/
# cp mysql-bind/mysqldb.h bind-9.5.0-P2/bin/named/
# cp mysql-bind/zonetodb.c bind-9.5.0-P2


 bind-9.5.0-P2/bin/named/mysqldb.c 編集
-#include <named/mysqldb.h> +#include <include/mysqldb.h>


 bind-9.5.0-P2/bin/named/main.c 編集
_/* #include "xxdb.h" */
#include "mysqldb.h"

_/* xxdb_init(); */
mysqldb_init();

_/* xxdb_clear(); */
mysqldb_clear();


 bind-9.5.0-P2/bin/named/Makefile.in 編集
DBDRIVER_OBJS = mysqldb.@O@
DBDRIVER_SRCS = mysqldb.c
DBDRIVER_INCLUDES = -I/usr/local/mysql/include/mysql
DBDRIVER_LIBS = -rdynamic -L/usr/local/mysql//lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm

DBDRIVER_INCLUDESに書く値は、# /usr/local/mysql/bin/mysql_config --cflags を実行して返って来た値
DBDRIVER_LIBSに書く値は、# /usr/local/mysql/bin/mysql_config --libs を実行して返って来た値

 インストール
# cd bind-9.5.0-P2
# ./configure
# make
# make install


 設定
--
-- テーブルの構造 `hoge_com`
--

CREATE TABLE IF NOT EXISTS `hoge_com` (
`name` varchar(255) default NULL,
`ttl` int(11) default NULL,
`rdtype` varchar(255) default NULL,
`rdata` varchar(255) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=ujis;


 ゾーン設定
# cd /home/hoge
# /usr/local/apache2/bin/htpasswd -c .htpasswd username
# chmod 604 .htpasswd


 httpd.conf
<Directory />
AllowOverride AuthConfig
</Directory>


 httpd.conf
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/hoge/.htpasswd
AuthName "Please Enter Username and Password"
Require valid-user
.htaccessを用いずに直接httpd.confに記述するほうが推奨されてある。

参考URL
Apache チュートリアル


更新 2017.08.13