• 傅抱石《琵琶行诗意》1.035亿元成交 2019-12-01
  • 一语惊坛(5月21日):不忘初心,将改革开放进行到底,中国梦一定实现! 2019-11-28
  • 一香港男子携女友泰国自驾游身亡 香港入境处跟进 2019-11-28
  • 注意了!报考这个专业须先参加面试 2019-11-27
  • 一只浣熊都这么努力,你还有什么理由不上进! 2019-11-27
  • 张艺谋玩起艺术与科技的碰撞 现代舞与机械臂齐登场 2019-11-26
  • 《泄密者》佘诗曼出演正义记者 追问学生:我和周秀娜谁漂亮 2019-11-26
  • 东电欲报废福岛第二核电站 开始考虑具体时间表 2019-11-22
  • 惊魂一刻!沙特国家队飞机半空中起火 2019-11-20
  • 感触名家笔下的端午文化 吃香粽原来可以这样"文艺" 2019-11-20
  • 机关党建工作巡礼——长春市直机关“两锋(风)行动” 2019-11-18
  • 《国家人文历史》杂志社荣膺“中国妇女儿童慈善奖” 2019-11-18
  • 高原净土·大美青海--旅游频道 2019-11-17
  • 晋中市直机关将开展纪念建党97周年“红色+”系列活动 2019-11-13
  • 土地是自然存在的地球的一部分,不是人类劳动成果,正如“深山老林”是自然存在的地球的一部分,不是人类劳动成果一样。懂吗? 2019-11-13
  • Jquery中文网 码报 www.okkrb.tw
    Jquery中文网 >  服务器技术  >  DNS服务器  >  正文 FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解

    码报2018年第130期:FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解

    发布时间:2014-07-20   编辑:码报 www.okkrb.tw
    FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解

    码报 www.okkrb.tw FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解。
    很久的一篇文章了,不过对于正在研究freebsd下bind9与mysql结合的朋友,还是很有帮助的。
     
    用到的软件包:
    mysql-4.1.9.tar.gz
    httpd-2.0.54.tar.gz
    php-4.3.11.tar.gz 
    bind-9.3.2.tar.gz  //www.isc.org/products/BIND/
    mysql-bind-0-1.tgz //sourceforge.net/projects/mysql-bind/

    软件包均放在 /root/software 下

    1. 安装mysql-4.1.9.tar.gz
    ——我总是习惯把它安装在 /home/soft/mysql4 下面
    #### 解压解包
    cd /root/software
    tar xvfz mysql-4.1.9.tar.gz
    #### 配置安装到 /home/soft/mysql,支持中文gbk
    cd mysql-4.1.9
    ./configure --prefix=/home/soft/mysql4 --with-charset=gbk
    #### 编译时间主要看机器配置,一般机子会超过 10 分钟。
    make
    make install
    #### 建立mysql组
    groupadd mysql
    #### 建立mysql用户并且加入到mysql组中
    useradd mysql -g mysql
    #### 初始化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权
    ./scripts/mysql_install_db --user=mysql
    cd /home/soft/mysql4
    #### 设定root能访问/home/soft/mysql4
    chown -R root .
    #### 设定mysql用户能访问/home/soft/mysql4/var ,里面存的是mysql的数据库文件
    chown -R mysql var
    #### 设定mysql用户能访问/home/soft/mysql4/var下的所有文件
    chown -R mysql var/.
    #### 设定mysql用户能访问/home/soft/mysql4/var/mysql下的所有文件
    chown -R mysql var/mysql/.
    #### 设定mysql组能够访问/home/soft/mysql4
    chgrp -R mysql .
    #### 运行 mysql, 正常运行将显示进程号
    /home/soft/mysql4/bin/mysqld_safe --user=mysql &
    #### 修改mysql密码,因为默认为空密码(***** 自行设定)
    /home/soft/mysql4/bin/mysqladmin -uroot password *****
    ---------mysql安装全部完成

    2.安装apache
    ——我总是习惯把它安装在 /home/soft/apache 下面
    cd /root/software
    #### 解压解包
    tar xvfz httpd-2.0.54.tar.gz
    cd httpd-2.0.54
    #### 编译配置 apache , 一般说来这样就够用了, 也可以精细调整 --enable-module 和 --enable-shared
    #### 详细参照 则用 ./configure --help
    ./configure --prefix=/home/soft/apache --enable-module=most --enable-shared=max
    make
    make install
    #### 如下命令可以察看编译进apache的???br /> /home/soft/apache/bin/httpd -l
    #### 如下命令启动或停止或重启 apache server:
    /home/soft/apache/bin/apachectl start
    /home/soft/apache/bin/apachectl stop
    /home/soft/apache/bin/apachectl restart
    #### apache 功能强大,配置文件是 /home/soft/apache/conf/httpd.conf
    ----apache安装全部完成

    3. 安装php
    #### 注意配置指定安装的 apache 和 mysql 的路径即可
    ./configure --with-mysql=/home/soft/mysql4 --with-apxs2=/usr/local/httpd/bin/apxs 
    make
    make install
    #### 将php.ini-dist复制到/usr/local/lib/,并重命名为php.ini
    cp php.ini-dist /usr/local/lib/php.ini
    #### 让 Apache 能够直接解析 php, 我们还要进行一些配置 httpd.conf
    #### 编辑 /home/soft/apache/conf/httpd.conf
    #### 添加如下两行
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    #### 应该将以上两句添加在其他AddType之后。
    #### 查看确认文件中有以下一句话,没有就自己添加在所有 LoadModule 之后(一般说来会有,否则php安装不算成功)。
    LoadModule php4_module modules/libphp4.so
    #### 保存 httpd.conf 文件。
    启动apache server:
    /usr/local/httpd/bin/apachectl start
    ---php安装配置完成

    4.安装bind
    tar xfzv bind-9.3.2.tar.gz
    tar xfzv mysql-bind-0-1.tgz
    cp mysql-bind-0.1/mysqldb.c bind-9.3.2/bin/named
    cp mysql-bind-0.1/mysqldb.h bind-9.3.2/bin/named/include
    cd bind-9.3.2
    #### 编辑 bin/named/Makefile.in 将
    DBDRIVER_OBJS =
    DBDRIVER_SRCS =
    DBDRIVER_INCLUDES =
    DBDRIVER_LIBS =
    #### 作如下配置
    DBDRIVER_OBJS = [email protected]@
    DBDRIVER_SRCS = mysqldb.c
    DBDRIVER_INCLUDES = -I'/home/soft/mysql4/include/mysql'
    DBDRIVER_LIBS = -L'/home/soft/mysql4/lib/mysql' -lmysqlclient
    #### 修改 bin/named/main.c 文件
    #### 在 bin/named/main.c 中找到如下内容
    /*
    * Add calls to register sdb drivers here.
    */
    /* xxdb_init(); */
    #### 在此后添加如下内容
        mysqldb_init();
    #### 再找如下内容
    /*
    * Add calls to unregister sdb drivers here.
    */
    /* xxdb_clear(); */
    #### 在此后添加如下内容
        mysqldb_clear();
    #### 安装三部曲:
    #### --enable-threads 开启多线程处理能力
    ./configure --prefix=/home/soft/named --enable-threads
    make
    make install
    #### 手工建立目录 etc
    mkdir /home/soft/named/etc
    #### 生成 rndc 控制命令的 key 文件
    #### 需注意,这一步要求操作系统配有随机数发生器 /dev/random
    #### 因此需要启动文件 /etc/rc.conf 中配上 rand_irqs="3 14 15" 并重启使之起作用(不知有没有不重启的方案)
    #### 否则这一步,将会卡住,象没了反应一样
    cd /home/soft/named
    sbin/rndc-confgen > etc/rndc.conf
    #### 从 rndc.conf 文件中提取 named.conf 用的 key 生成 named.conf 文件
    cd /home/soft/named/etc
    tail -10 rndc.conf | head -9 | sed 's/# //g' > named.conf
    #### 此时,named.conf 内容为:
    key "rndc-key" {
            algorithm hmac-md5;
            secret "O0SuB34RK+E3r+m5Fbh2eA==";
    };
    controls {
            inet 127.0.0.1 port 953
                    allow { 127.0.0.1; } keys { "rndc-key"; };
    };
    #### dig 命令直接生成 named.root 文件,这个文件是很标准的东东,
    #### 有了它,本地 dns 不能解的就上总部去问
    cd /home/soft/named/etc
    dig > named.root
    #### 建立 localhost.rev 文件
    #### 用操作系统自带的 /etc/namedb/make-localhost 生成
    cd /home/soft/named/etc
    sh /etc/namedb/make-localhost
    #### 将会生成 localhost-v6.rev 与 localhost.rev 两个文件
    #### 使用它应当先配置好主机名等内容如 rc.conf 中的主机名
    #### 建立named.local文件
    #### 配置 named.conf
    #### 增加如下内容:
    //
    // a caching only nameserver config
    //
    zone "." IN {
        type hint;
        file "named.root";
    };   
    zone "localhost" IN {
        type master;
        file "localhost.rev";
        allow-update { none; };
    };
    zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
    };
    zone "mydomain.com" {
    type master;
    database "mysqldb bind9 mydomain localhost bind passwd";
    };
    zone "19.202.220.in-addr.arpa" {
    type master;
    database "mysqldb bind9 ptr      localhost bind passwd";
    };
    #### 上述内容中配置自己的
    #### 数据库名(bind9),表名(mydomain),MYSQL主机(localhost),
    #### MYSQL用户(bind),MYSQL密码(passwd需自行更改)
    #### 当然,前提条件是在 mysql 建库,建用户 bind 改密码并授权。
    ----BIND安装完成

    5. 建立数据
    ####用 MYSQLADMIN 来建立数据库的和倒数据,确实会非常方便,当然你需要先安装它。
    ####手工建数据也可以,如下连库后
    /home/soft/mysql4/bin/mysql -uroot -ppassword
    #### 连上数据库后,建库 binddb,如果搞得复杂点,专为 bind 建库用户也行呀,这样
    #### 配置 bind 的配置文件时就用咱新建的用户
    create database binddb;
    use binddb;
    ####参照 mysql-bind-0-1 目录下的 README 建立数据库 dnsdb
    ####正向解析数据库 mydomain 表结构
    CREATE TABLE mydomain (
    name varchar(255) default NULL,
    ttl int(11) default NULL,
    rdtype varchar(255) default NULL,
    rdata varchar(255) default NULL
    ) TYPE=MyISAM;
    ####以下是正向解析示范可以直接倒入
    INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'SOA', 'mydomain.com. www.mydomain.com. 200505101 28800 7200 86400
    28800');
    INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'NS', 'ns0.mydomain.com.');
    INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'NS', 'ns1.mydomain.com.');
    INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'MX', '10 mail.mydomain.com.');
    INSERT INTO mydomain VALUES ('w0.mydomain.com', 259200, 'A', '192.168.1.1');
    INSERT INTO mydomain VALUES ('w1.mydomain.com', 259200, 'A', '192.168.1.2');
    INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
    INSERT INTO mydomain VALUES ('mail.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
    INSERT INTO mydomain VALUES ('ns0.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
    INSERT INTO mydomain VALUES ('ns1.mydomain.com', 259200, 'Cname', 'w1.mydomain.com.');
    INSERT INTO mydomain VALUES ('www.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
    INSERT INTO mydomain VALUES ('ftp.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');

    #### 反向解析数据库ptr表结构
    CREATE TABLE ptr (
    name varchar(255) default NULL,
    ttl int(11) default NULL,
    rdtype varchar(255) default NULL,
    rdata varchar(255) default NULL
    ) TYPE=MyISAM;
    #### 以下是反向解析示范可以直接倒入
    INSERT INTO `ptr` VALUES ('45.202.220.in-addr.arpa', 17600, 'SOA', 'mydomain.com. www.mydomain.com. 200505101 28800 7200
    86400 28800');
    INSERT INTO `ptr` VALUES ('45.202.220.in-addr.arpa', 17600, 'NS', 'ns0.mydomain.com.');
    INSERT INTO `ptr` VALUES ('45.202.220.in-addr.arpa', 17600, 'NS', 'ns1.mydomain.com.');
    INSERT INTO `ptr` VALUES ('188.19.202.220.in-addr.arpa', 17600, 'PTR', 'mail.mydomain.');
    ------数据库创建完成

    6. 启动 BIND 测试其是否正常工作
    /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &
    #### 然后在你WINDOWS机器上将这个配置了 BIND 的 IP 设置为 DNS 然后运行 nslookup 测试
    #### 如果出现证明反向解析正常
    nslookup
    server ....( 运行bind机器的IP )
    w0.mydomain.com
    ... (此时应当返回域名记录)
    ...
    #### 如果 w0.mydomain.com
    #### 解析地址为所输入的,则证明正向工作正常
    注:反向解析未做测试
     
    7. 结语
    #### 在增加 A 记录 MX 记录 PTR 记录都不需要重新启动 BIND,
    #### 但每增加一个正向的解析域,都必须在 named.conf 正增加如下内容
    zone "youname.com" {
    type master;
    database "mysqldb dnsdb mydomain localhost root passwd"
    };

    您可能感兴趣的文章:
    FreeBSD 4.10 下 bind-9.3.2 + mysql-4.1.9 配置详解
    Linux下启用MySQL数据库远程访问
    把 bind 数据保存进mysql
    Linux中Bind9(dns)配置详解
    ubuntu下mysql配置
    freebsd安装后做一些简单的设置
    Starting MySQL...The server quit without updating PID file的解决方法
    centos5.4下mysql主从复制配置分享
    Debian下配置DNS(Bind9)服务器详解
    squid反向代理配置(web服务器的前端内容缓存器)

    [关闭]
  • 傅抱石《琵琶行诗意》1.035亿元成交 2019-12-01
  • 一语惊坛(5月21日):不忘初心,将改革开放进行到底,中国梦一定实现! 2019-11-28
  • 一香港男子携女友泰国自驾游身亡 香港入境处跟进 2019-11-28
  • 注意了!报考这个专业须先参加面试 2019-11-27
  • 一只浣熊都这么努力,你还有什么理由不上进! 2019-11-27
  • 张艺谋玩起艺术与科技的碰撞 现代舞与机械臂齐登场 2019-11-26
  • 《泄密者》佘诗曼出演正义记者 追问学生:我和周秀娜谁漂亮 2019-11-26
  • 东电欲报废福岛第二核电站 开始考虑具体时间表 2019-11-22
  • 惊魂一刻!沙特国家队飞机半空中起火 2019-11-20
  • 感触名家笔下的端午文化 吃香粽原来可以这样"文艺" 2019-11-20
  • 机关党建工作巡礼——长春市直机关“两锋(风)行动” 2019-11-18
  • 《国家人文历史》杂志社荣膺“中国妇女儿童慈善奖” 2019-11-18
  • 高原净土·大美青海--旅游频道 2019-11-17
  • 晋中市直机关将开展纪念建党97周年“红色+”系列活动 2019-11-13
  • 土地是自然存在的地球的一部分,不是人类劳动成果,正如“深山老林”是自然存在的地球的一部分,不是人类劳动成果一样。懂吗? 2019-11-13
  • 青海快三走势图带连线 秒速飞艇历史开奖结果 足球彩票4场进球 国彩游戏 淘客机器人葳fxsh33赚钱 福建15选5开奖结果 湖北十一选五预测号码 中超足球直播 北京单场参考数据 广东南粤36选7好彩1