歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> bind-9.3.1 + mysql-4.1.9 + web管理詳細配置全過程

bind-9.3.1 + mysql-4.1.9 + web管理詳細配置全過程

日期:2017/2/27 9:48:56   编辑:更多Linux
本人在AS3.0 RH9.0 下安裝沒問題
需要的軟件包如下:
mysql-4.1.9.tar.gz http://www.mysql.com
bind-9.3.1.tar.gz http://www.isc.org/prodUCts/BIND/
mysql-bind-0-1.tgz http://sourceforge.net/projects/mysql-bind/
httpd-2.0.54.tar.gz
PHP-4.3.11.tar.gz
1. 安裝mysql-4.1.9.tar.gz
cd /root
tar xfz mysql-4.1.9.tar.gz \\解壓縮
cd mysql-4.1.9
./configure --prefix=/usr/local/mysql --with-charset=gbk \\配置安裝到/usr/local/mysql支持中文gbk
make \\編譯時間比較長看你機器的配置高低了,大概12分鐘左右。
make install
groupadd mysql \\建立mysql組
useradd mysql -g mysql \\建立mysql用戶並且加入到mysql組中
./scripts/mysql_install_db --user=mysql \\初始化表並且規定用mysql用戶來訪問初始化表以後就開始給mysql和root用戶設定訪問權
cd /usr/local/mysql
chown -R root . \\設定root能訪問/usr/local/mysql
chown -R mysql var \\設定mysql用戶能訪問/usr/local/mysql/var ,裡面存的是mysql的數據庫文件
chown -R mysql var/. \\設定mysql用戶能訪問/usr/local/mysql/var下的所有文件
chown -R mysql var/mysql/. \\設定mysql用戶能訪問/usr/local/mysql/var/mysql下的所有文件
chgrp -R mysql . \\設定mysql組能夠訪問/usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql & \\運行mysql[1]
12814
以上提示表示mysql運行正常。
/usr/local/mysql/bin/mysqladmin -uroot passWord ***** \\修改mysql密碼默認為空密碼

----------------------------------------------------------------------------------mysql安裝全部完成
2.安裝apache

cd /root
tar xfz httpd-2.0.54.tar.gz \\解壓縮
cd httpd-2.0.54
./configure --prefix=/usr/local/httpd --enable-module=most --enable-shared=max \\配置apache
make
make install
/usr/local/httpd/bin/httpd -l \\察看編譯進apache的模塊
Compiled in modules:
core.c
mod_Access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
[root@Linux httpd-2.0.54]#以上提示表示apache支持dso方式了。這樣就可以用dso的方式把php的模塊加進來。
--------------------------------------------------------------------------------apache安裝完成

3. 安裝php

cd /root
tar xfz php-4.3.11.tar.gz
cd php-4.3.11
./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/httpd/bin/apxs \\配置指定安裝的apache和mysql的路徑



make
make install
cp php.ini-dist /usr/local/lib/php.ini \\將php.ini-dist復制到/usr/local/lib/,並重命名為php.ini
為了讓Apache能夠直接解析php,我們還要進行一些配置.
vi /usr/local/httpd/conf/httpd.conf
在httpd.conf文件中,添加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

應該將以上兩句添加在其他AddType之後。

確保文件中有以下一句話,沒有就自己添加在所有LoadModule之後。

LoadModule php4_module modules/libphp4.so

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。啟動apache server:

/usr/local/httpd/bin/apachectl start
------------------------------------------------------------------------php安裝配置完成

4.安裝bind

tar xfzv bind-9.3.1.tar.gz
tar xfzv mysql-bind-0-1.tgz
cp mysql-bind-0.1/mysqldb.c bind-9.3.1/bin/named
cp mysql-bind-0.1/mysqldb.h bind-9.3.1/bin/named/include
cd bind-9.3.1
vi bin/named/Makefile.in

DBDRIVER_OBJS =
DBDRIVER_SRCS =
DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
如下配置
DBDRIVER_OBJS = mysqldb.@O@
DBDRIVER_SRCS = mysqldb.c
DBDRIVER_INCLUDES = -I'/usr/local/mysql/include/mysql'
DBDRIVER_LIBS = -L'/usr/local/mysql/lib/mysql' -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv

修改main.c文件
vi 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();

./configure --prefix=/usr/local/named --enable-threads #--enable-threads開啟多線程處理能力
make
make install
cd /usr/local/named
mkdir etc 建立etc目錄
sbin/rndc-confgen > etc/rndc.conf 生成rndc控制命令的key文件
cd etc
tail -10 rndc.conf head -9 sed s/#\ //g > named.conf 從rndc.conf文件中提取named.conf用的key
自動在/usr/local/named/etc 生成named,conf文件
建立localhost.zone文件
vi localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; eXPiry
1D ) ; minimum

1D IN NS @
1D IN A 127.0.0.1

建立named.local文件
vi named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.

1 IN PTR localhost.


dig命令直接生成named.root文件
dig > named.root
配置 named.conf
增加如下內容:
controls {
inet 127.0.0.1 port 953
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 9.31 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
24,9

};

//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.root";
};

zone "localhost" IN {
type master;
file "localhost.zone";
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 dnsdb mydomain localhost root passwd"; 配置你的數據庫名,表名,MYSQL主機,MYSQL用戶,MYSQL密碼
};

zone "19.202.220.in-addr.arpa" {
type master;
database "mysqldb dnsdb ptr localhost root passwd"; 配置你的數據庫名,表名,MYSQL主機,MYSQL用戶,MYSQL密碼
};

--------------------------------------------------------------------------------BIND安裝完成
5. 我是用MYSQLADMIN來建立數據庫的和倒數據的,APACHE下安裝MYSQLADMIN我這裡就不詳細講了。
到我的站點http://www.sy165.cn/soft/myadmin.tar 下載解壓縮到APACHE可訪問的目錄下就OK了

參照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. 200309181 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 ('19.202.220.in-addr.arpa', 17600, 'SOA', 'mydomain.com. www.mydomain.com. 200309181 28800 7200 86400 28800');
INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns0.mydomain.com.');
INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns1.mydomain.com.');
INSERT INTO `ptr` VALUES ('82.19.202.220.in-addr.arpa', 17600, 'PTR', 'mail.mydomain.');

--------------------------------------------------------------------------------數據庫建立完成


6. 啟動你的BIND 測試BIND是否能正常工作

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &



然後在你WINDOWS機器上將這個配置了BIND的IP設置為DNS然後運行nslookup測試
如果出現證明反向解析正常
Default Server: mail.mydomain
Address: 220.202.19.2

>
如果PING w0.mydomain.com
解析地址為192.168.1.1 證明正向工作正常

7.結束語

BIND + MYSQL 在增加A記錄 MX記錄 PTR記錄都不需要從新啟動BIND,每增加一個正向的解析域名都必須在named.conf正增加如下內容

zone "youname.com" {
type master;
database "mysqldb dnsdb mydomain localhost root passwd"; 配置你的數據庫名,表名,MYSQL主機,MYSQL用戶,MYSQL密碼
};

bind + mysql 配置就寫到這裡了,有錯誤之處請大家指正。余下的時間就是用PHP寫WEB腳本。



ttl int(11) default NULL,
rdtype varchar(255) default NULL,
rdata varchar(255) default NULL
) TYPE=MyISAM;

以下是反向解析示范可以直接倒入

INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'SOA', 'mydomain.com. www.mydomain.com. 200309181 28800 7200 86400 28800');
INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns0.mydomain.com.');
INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns1.mydomain.com.');
INSERT INTO `ptr` VALUES ('82.19.202.220.in-addr.arpa', 17600, 'PTR', 'mail.mydomain.');

--------------------------------------------------------------------------------數據庫建立完成


6. 啟動你的BIND 測試BIND是否能正常工作

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &

然後在你WINDOWS機器上將這個配置了BIND的IP設置為DNS然後運行nslookup測試
如果出現證明反向解析正常
Default Server: mail.mydomain
Address: 220.202.19.2

>
如果PING w0.mydomain.com
解析地址為192.168.1.1 證明正向工作正常

7.結束語

BIND + MYSQL 在增加A記錄 MX記錄 PTR記錄都不需要從新啟動BIND,每增加一個正向的解析域名都必須在named.conf正增加如下內容

zone "youname.com" {
type master;
database "mysqldb dnsdb mydomain localhost root passwd"; 配置你的數據庫名,表名,MYSQL主機,MYSQL用戶,MYSQL密碼
};

bind + mysql 配置就寫到這裡了,有錯誤之處請大家指正。余下的時間就是用PHP寫WEB腳本。



) TYPE=MyISAM; 以下是反向解析示范可以直接倒入 INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'SOA', 'mydomain.com. www.mydomain.com. 200309181 28800 7200 86400 28800'); INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns0.mydomain.com.'); INSERT INTO `ptr` VALUES ('19.202.220.in-addr.arpa', 17600, 'NS', 'ns1.mydomain.com.'); INSERT INTO `ptr` VALUES ('82.19.202.220.in-addr.arpa', 17600, 'PTR', 'mail.mydomain.'); --------------------------------------------------------------------------------數據庫建立完成 6. 啟動你的BIND 測試BIND是否能正常工作 /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf & 然後在你WINDOWS機器上將這個配置了BIND的IP設置為DNS然後運行nslookup測試 如果出現證明反向解析正常 Default Server: mail.mydomain Address: 220.202.19.2 > 如果PING w0.mydomain.com 解析地址為192.168.1.1 證明正向工作正常 7.結束語 BIND + MYSQL 在增加A記錄 MX記錄 PTR記錄都不需要從新啟動BIND,每增加一個正向的解析域名都必須在named.conf正增加如下內容 zone "youname.com" { type master; database "mysqldb dnsdb mydomain localhost root passwd"; 配置你的數據庫名,表名,MYSQL主機,MYSQL用戶,MYSQL密碼 }; bind + mysql 配置就寫到這裡了,有錯誤之處請大家指正。余下的時間就是用PHP寫WEB腳本。



Copyright © Linux教程網 All Rights Reserved