#更改 config.inc.php 中
......
//$cfg['PmaAbsoluteUri'] = '';
$cfg['PmaAbsoluteUri'] = 'http://192.168.0.244/dbmanager'; // 原为空,改为入口路径
......
$i=0; // 用于多数据库时的管理,所以是个管理参数数组
$i ; // 此时 i=1, 由于Default是1 所以以下改的就是他
// 所以要注意在第一个 i 后改以下内容
//$cfg['Servers'][$i]['auth_type'] = 'config'; // 原为config,表示只在后台手工管理
$cfg['Servers'][$i]['auth_type'] = 'http'; // 改为 http,表示通过 Web 进行管理
// MySQL user,此处是 mysql 管理用户的名字,注意,必须先用 mysqladmin 为他配置口令,否则危险
// 这样,Web 前台登陆时,用户名/口令即是数据库管理用户 root 及他的数据库口令
//前面用mysqladmin配置的r00t2005
//
$cfg['Servers'][$i]['user'] = 'root';
//注意,$cfg['Servers'][$i]['password'] = ''; 不必修改。因为反正是到数据库内认证
......
// 不想受英文折磨而想要中文显示:
//$cfg['DefaultLang'] = 'en-iso-8859-1';
$cfg['DefaultLang'] = 'zh';
......
//$cfg['DefaultCharset'] = 'iso-8859-1';
$cfg['DefaultCharset'] = 'gb2312';
——至此,mysql的前台管理基本已搞定
5. 安装 pdns
下载安装包,http://sourceforge.net/projects/poweradmin/注意版本不能太高,因为咱这可是 FreeBSD 4.9
从 ports 中看到的版本为 2.9.11
够用就行,太新的说不好,能够试试。总之在 4.9 下 pdns_recurse 是编但是,libc 太低
首先要安装 gmake,因为使用 FreeBSD 自带 make 出来的东东易死菜,俺没试过,但是听人说过
cd /usr/ports/devel/gmake
make
这样,gmake 就装在了 /usr/local/bin 下
然后安装 pdns
./configure --prefix=/home/soft/dns --with-mysql=/home/soft/mysql4 --enable-pdns_server
缺省会把 gmysql 编进去的,放心好了。
# 后来发现 make 也是能够的,但 pdns 官方网站上说会有问题,因此俺们尊重始作俑者
/usr/local/bin/gmake
# make install 也可行,反正就是个拷贝的过程
/usr/local/bin/gmake install
此时,能够看到 /home/soft/dns下有了几个目录,sbin 下便是俺们的pdns_server二进制程式
/home/soft/dns/sbin/pdns_server便可启动,但此时他会一闪而过不工作,因为俺们未进行参
数配置,他起码是要连数据库找数据,所以俺们还要准备数据及配置
以后台进程启动,则是
/pdns_server --daemon
6. 为 pdns 初始化数据库表
关于配置文档及数据库表较周详的内容需参考:
http://doc.powerdns.com/generic-mypgsql-backends.html
http://doc.powerdns.com/configuring-db-connection.html
在 Mysql 的 Web 界面中建 pdns 用户,密码为 pdns,主机为 localhost,即只可由本地主机
登录;同样的,检查一下其他用户。多余用户全都干掉。
在前台中增加pdns后,应当出现两条记录,一条的“主机”字段是localhost,另一条的的则
是"%"。
此时,下到字符界面测试一下:
/home/soft/mysql4/bin/mysql -updns -ppdns -hlocalhost
/home/soft/mysql4/bin/mysql -updns -ppdns -h127.0.0.1
都应当能进入数据库
然后
/home/soft/mysql4/bin/mysql -uroot -pr00t2005 -hlocalhost
进入 mysql
此时为何不用pdns用户呢,因为他现在什么数据库操作的权限都没有。
Create database pdns;
use pdns;
create table domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(20) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
)type=InnoDB;
CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
)type=InnoDB;
CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
create table supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
GRANT SELECT ON supermasters TO pdns;
GRANT ALL ON domains TO pdns;
GRANT ALL ON records TO pdns;
这个时候,俺们很吝啬地给了点儿权限给pdns用户。
但是,在俺们要使用管理前台时,必须还大方些,不然他不干活儿。
插入一些数据:
INSERT INTO domains (name, type) values ('test.com', 'NATIVE');
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,'test.com','localhost ahu@ds9a.nl 1','SOA',86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,'test.com','dns-us1.powerdns.net','NS',86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,'test.com','dns-eu1.powerdns.net','NS',86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




