投稿者: chen

pdns的安装笔记[ZT] [by chen]

FreeBSD:: pdns的安装笔记[ZT]
FreeBSD 4.x 下安装配置具web管理功能的pdns

前言:
——有时做点笔记,挺好,有清空大脑内存,不必在下次搞类似工作时需要寻觅尘封的记忆。
关键词:
FreeBSD dns pdns mysql apache php phpMyAdmin PowerAdmin Pear

测试主机关于IP配置等原始状况

/etc/rc.conf 中是
hostname=”bsd.test.com”
ifconfig_lnc0=”inet 192.168.0.244 netmask 255.255.255.0″

/etc/hosts
::1 localhost.test.com localhost
127.0.0.1 localhost.test.com localhost
192.168.0.244 bsd.test.com bsd

为了方便目录管理,将一些工具软件安装在与系统目录相对独立的目录

root 身份下
#mysql
mkdir /home/soft/mysql4
#apache
mkdir /home/soft/apache
#pdns
mkdir /home/soft/dns
#mysql/pdns管理页面全在此
mkdir /home/soft/www

1. 安装 mysql

先下载 mysql-max-4.0.24-unknown-freebsd4.7-i386.tar.gz 的源代码版,地址:

http://dev.mysql.com/downloads/mysql/4.0.html

mv mysql-max-4.0.24-unknown-freebsd4.7-i386.tar.gz mysql-4.0.24.tar.gz
tar xvfz mysql-4.0.24.tar.gz
cd mysql-4.0.24

=========================================================

#建立mysql组 (Linux 下 groupadd mysql)
pw groupadd mysql
#建立mysql用户并且加入到mysql组中(Linux 下 useradd mysql)
pw useradd mysql -g mysql

cd mysql_src_home
./configure –prefix=/home/soft/mysql4 –without-debug
make
make install
#至此已经算是安装完了,安装在/home/soft/mysql4下

#初始化数据字典
scripts/mysql_install_db

# 先令mysql 的整个目录/home/soft/mysql4的属主为root
chown -R root:mysql /home/soft/mysql4
# 再令mysql 的根目录/home/soft/mysql4/var的属主及属组为mysql,因为最终以mysql身份运行
chown -R mysql:mysql /home/soft/mysql4/var
# 再令mysql 的整个目录/home/soft/mysql4的属组为mysql
chgrp -R mysql /usr/local/mysql
# 以下这步做不做影响不大,是说以中模式启动mysql
cp support-files/my-medium.cnf /etc/my.cnf
#
数据库管理者用户口令设定……
mysqladmin -uroot -pr00tr00t # 这是设口令时这么设
mysqladmin -uroot -pr00tr00t password r00t2005 # 这是改口令时这么改
安全考虑
最好干掉无关用户,可在装好管理页面后再在页面上干掉,此是后话

启动服务方法
/home/soft/mysql4/bin/safe_mysqld –user=mysql &
或者
/home/soft/mysql4/share/mysql/mysql.server start

停止服务方法
/home/soft/mysql4/bin/mysqladmin shutdown
或者
/home/soft/mysql4/share/mysql/mysql.server stop

可以看一看mysql.server的内容,其中目录指向是正确的,俺们有configure时就已经确定了

加在FreeBSD的启动目录中:
cd /usr/local/etc
echo “:”>startmysql.sh
echo “”>>startmysql.sh
echo “/home/soft/mysql4/share/mysql/mysql.server start” >>startmysql.sh

=========================================================

2. 安装 apache
先下载安装包, 然后解开
./configure –prefix=/home/soft/apache –enable-modules=”deflate headers proxy proxy-connect proxy-ftp proxy-http static-ab rewrite so cache file-cache disk-cache mem-cache”
make
make install
好了,apache 已经安装在/home/soft/apache下了。

3. 安装 php 成为 apache 的一个模块
先下载php4.X.XX的安装包, 然后解开
# –with-apxs=/home/soft/apache 就是说要编出来成为apache的一个模块,会放在apache的lib目录下的
#特别注意 –enable-pear,因为pdns的前台管理程序要用到它的数据库抽象层
./configure –with-mysql=/home/soft/mysql4 –with-apxs=/home/soft/apache –enable-track-vars –enable-pear
make
make install
cp php.ini-dist /usr/local/lib/php.ini
pear应当会被安装在/usr/local/lib/pear下,其中应有DB目录,对后续的pdns前台安装很重要,如果没有
这个扩展组件,pdns 前台跑不动

此时,可以看到 /home/soft/apache/conf/httpd.conf 中被新添加了
LoadModule php4_module modules/libphp4.so
表明 php 模块在 apache 中已被激活
首先,找到DocumentRoot,将它改为俺们规划的/home/soft/www
然后,再在
/home/soft/apache/conf/httpd.conf 尾部添加下行
AddType application/x-httpd-php .php .php3 .phtml
令 apache 识别到 php 文档可直接调用 php 模块进行解释
还有,

DirectoryIndex index.html index.html.var

DirectoryIndex index.php index.html index.html.var
这样,当前台访问一个目录时,将被认为是访问这三个文件之一

加在FreeBSD的启动目录中:
cd /usr/local/etc
echo “:”>startapache.sh
echo “”>>startapache.sh
echo “/home/soft/apache/bin/apachectl start” >>startapache.sh
chmod +x startapache.sh

4. 安装 mysql 的管理前台
phpMyAdmin主页:http://www.htmlwizard.net/phpMyAdmin/
#下载安装包
#解开
tar xvfz phpMyAdmin.2.6.2.tgz

#打算放在/home/soft/www/dbmanager下
mkdir -p /home/soft/www/dbmanager
cp -R phpMyAdmin2.6.2/* /home/soft/www/dbmanager
#改变一下文件权限
chown -R nobody:nobody /home/soft/www/dbmanager

#更改 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)
VALUES (1,’www.test.com’,’199.198.197.196′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’mail.test.com’,’195.194.193.192′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’localhost.test.com’,’127.0.0.1′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’test.com’,’mail.test.com’,’MX’,120,25);

此时开始配置文件
cd /home/soft/pdns/etc
前面编译完后有个标准这里应当有 pdns-dist.conf
cp pdns-dist.conf pdns.conf

加上如下几行:
launch=gmysql
#配置连mysql之本地址配为127.0.0.1,于是才不致出现鸡蛋谁先有的问题(即无需再解析)
gmysql-host=127.0.0.1
gmysql-user=pdns
gmysql-password=pdns
gmysql-dbname=pdns

启动 pdns
#如果报错说找不到mysql相关的so
#/sbin/ldconfig /home/soft/mysql4/lib/mysql
cd /home/soft/pdns
cd sbin
./pdns_server –daemon

pdns_server 会自己找到 ../etc 下的 pdns.conf 来使用的,呵呵。
这样就作为后台进程执行了,这是手工启动,别忘了放在随主机一起启动的脚本中
另外,如果担心它会死菜,可以用 supervise 来进行监视,呵呵,罗嗦了。
想看调试信息,直接
./pdns_server
就行
以后不想看调试信息了,在前面 pdns 进行 configure 时,增加关闭调试信息的选项即可。

还有就是用启动脚本来启动,前面编译完后有执行脚本为 pdns ,它在 源程序目录/pdns 下
它当中已经记录了安装目录
例如你放在 /home/soft/pdns/bin 下,那么
/home/soft/pdns/bin/pdns monitor
然后是如下一堆东东打印在你的终端上让你看,此时已经可以进行测试了。
May 19 04:22:04 This is a standalone pdns
May 19 04:22:04 Listening on controlsocket in ‘/var/run/pdns.controlsocket’
May 19 04:22:04 UDP server bound to 127.0.0.1:53
May 19 04:22:04 TCP server bound to 127.0.0.1:53
May 19 04:22:04 PowerDNS 2.9.11 (C) 2001-2003 PowerDNS.COM BV (May 18 2005, 03:12:43) starting up
May 19 04:22:04 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to

redistribute it according to the terms of the GPL version 2.
May 19 04:22:04 Creating backend connection for TCP
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 About to create 3 backend threads
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 gmysql Connection succesful

如果显示connection 失败,必然是你的配置文件中mysql的连接用户及密码写错了,或前述的用户
建得不对。

/home/soft/pdns/bin/pdns start 是启动,与前述手工进行/home/soft/pdns/sbin/pdns_server –daemon一样

这时进行测试,反正前面已经灌进了数据

$ host www.test.com 127.0.0.1
www.test.com A 199.198.197.196

$ host -v -t mx test.com 127.0.0.1
Address: 127.0.0.1
Aliases: localhost

Query about test.com for record types MX
Trying test.com …
Query done, 1 answer, authoritative status: no error
test.com 120 IN MX 25 mail.test.com
Additional information:
mail.test.com 120 IN A 195.194.193.192

当然你也可用 dig 进行测试:
dig @127.0.0.1 www.test.com

; > DiG 8.3 > @127.0.0.1 www.test.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; res_nsend: Connection refused
bsd# dig @127.0.0.1 www.test.com

; > DiG 8.3 > @127.0.0.1 www.test.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUERY SECTION:
;; www.test.com, type = A, class = IN

;; ANSWER SECTION:
www.test.com. 2M IN A 199.198.197.196

;; Total query time: 214 msec
;; FROM: bsd.test.com to SERVER: 127.0.0.1
;; WHEN: Thu May 19 04:26:20 2005
;; MSG SIZE sent: 30 rcvd: 46

用nslookup也行,但要注意
如果你将本机的/etc/resolv.conf中,nameserver设定为127.0.0.1
直接进行nslookup 会有些问题。这与它的处理流程有关。
它会先去米国的dns-root反解析127.0.0.1是不是一个合法的NameServer
然后是当然地报错。
nslookup
*** Can’t find server name for address 127.0.0.1: Server failed
*** Can’t find server name for address ::: No response from server
*** Default servers are not available
此时可以这么办——
/etc/resolv.conf的内容还是用一个众所周知的DNS做nameserver如211.94.33.194
nslookup
>server 127.0.0.1 #指定本机为要测试的nameserver
>set type=A
>www.test.com

结果也会问出来的,于是证明安装无误。
cd /usr/local/etc
echo “:”>startpdns.sh
echo “”>>startpdns.sh
echo “/home/soft/pdns/sbin/pdns_server –daemon” >>startpdns.sh
chmod +x startpdns.sh

6. 安装 pdns 管理前台

下载pdns管理前台poweradmin1.x.x.tar.gz
放在 /home/soft/www 下,解开,得到poweradmin.1.x.x目录,改名为 PowerAdmin
下面有README,一看就明白的。
先把inc/config-block.inc.php拷贝成为config-inc.php
在其中去更改相关参数:
$dbhost = ‘localhost’; //这个不用改
$dbuser = ”;//这里是pdns用户
$dbpass = ”;//这里是pdns
$dbdatabase = ”; //这里是pdns库
$BASE_URL = “http://wwww.poweradmin.org”; //URL前缀:如http://192.168.0.244
$BASE_PATH = “/poweradmin.1.x.x/” // 相对路径:即刚才改的”/PowerAdmin/”

此时,俺们要放手让pdns去干活,于是需要mysql的管理前台去大胆地给pdns分配对于pdns库
的权限,凡非管理性的权限都给它吧,如增删改查,create/drop/alter等等。因为执行install.php时
要建新表,所以要求pdns有建表的权限

然后在确认apache启动的情况下:
访问http://192.168.0.244/PowerAdmin/install.php
它将建立应有的表/序列/索引等等。可能会报一些Notice,但只要显示successfull即宣告成功。
需要俺们在这里建立初始管理者及其口令等,要记住可别忘了。因为数据库
中将是MD5过后的密文。这里俺们建了pdnsadmin用户,口令是pdnsadmin2005

然后,你可以http://192.168.0.244/PowerAdmin/test_setup.php 来检查一下,如有问题,
页面会有红色框提示然后,需将install.php删去或改名,不然index.php不干活。俺们
把它改名为install.php.bk

于是 http://192.168.0.244/PowerAdmin 俺们将看到index.php干活了。
这时以先前的管理者及口令登入,即可看到一个test.com的域,那是俺们测pdns_server时测试用。
你可以干掉,然后重新添加域及记录。

新建域时,缺省是按模板建立,然后,俺们会发现有些记录中有非本域的内容,例如soa记录中
即不是本域的东东,可以修改它。那个域名其实是PowerAdmin作者的个人网站,俺们可访问访问,
可以欣赏他们的家庭照片。

7. 给 pdns 找个监工

注意,俺听说pdns_server有不干活而自行退出的情况,没关系,俺们可以下载一个daemonTools
来当监工监视着它干活。一旦它莫名退出,supervise会立即启动它。
关于daemonTools的使用非常简单,俺在这里就不做详述了。累。

——至此,俺们终于功德圆满了。好生休息一下。
——后来俺用pdns-2.9.17,也没有问题。

http://chinaitpower.com/2005September/2005-09-13/200746.html

Continue reading

笔记本电脑日文键盘终极解决方案[ZT] [by chen]

Windows:: 笔记本电脑日文键盘终极解决方案[ZT]
文章来源:电脑教育报

(注:日文版的笔记本电脑装了中文版系统后大家一定遇到键盘标点与键帽上不符的问题,下文是一种解决方案)

自从用了日文版的笔记本电脑以后,笔者就碰到键盘标点与键帽上不符的问题,对于用惯了英文键盘的朋友还可能熟练的盲打,但对于那些对键位不是很熟悉的人,比如笔者来说就不是那么方便了。有没有解决的办法呢?答案是肯定的!经过笔者反复实验,终于成功修改,特将经验拿来与大家分享,希望广大使用日文键盘的朋友可以调教好这个“顽固”的键盘,让它物尽其用,物超所值。

  基本原理:通过修改笔记本电脑键盘的驱动和相关注册表项来完成的。

  实际操作:

  修改键盘的驱动:通过“我的电脑”打开系统属性,选择硬件标签:打开设备管理器,我们发现中文Windows XP操作系统下,默认的键盘驱动是“标准101/102键或Microsoft自然PS/2键盘”。

  1. 右键点击选择更新驱动程序,会出现硬件更新向导:选择“从列表或指定位置安装(高级)”,单击“下一步”,选择“不要搜索。我要自己选择要安装的驱动程序。”

  单击“下一步”,进入“选择要为此硬件安装的设备驱动程序”页去掉复选框“显示兼容硬件”前的小勾。在“标准键盘型号”栏中选择“Japanese PS/2 Keyboard (106/109 Key)”,单击“下一步”,弹出“更新驱动程序警告”,点“是”。“确认设备安装”窗口继续点“是”。

  2. 完成硬件更新向导。重新启动计算机。

  修改注册表:单击“开始”菜单,点“运行”,输入“regedit”,打开注册表,进入“
HKEY_LOCAL_MACHINE
SYSTEM
ControlSet001
Control
Keyboard Layouts
”,里面有很多子项,通过观察我发现,以“0804”结尾的都是简体中文输入法。打开“E00E0804”,可以看到右侧子项里有“Layout File”子项,双击打开该项,将“数值数据”中的“kbdus.dll”改为“KBDJPN.DLL”,“确定”即可。依此类推,可以将所有的以“0804”结尾的子项中“Layout File”全部改为“KBDJPN.DLL”,具体就根据自己常用的输入法进行选择了。然后重新启动计算机就好了!

  其实改成日文键盘后你会发现很多常用的符号,比如像“:”就不用上档键了,当然对于一个用惯了英文键盘的人来说还需要一个适应的过程。经过以上一番修改,日文键盘就可以真正的物尽其用了,哈哈!其它语言的键盘可以依此类推了,在此就不赘述了,希望大家都能有好本本用,用好笔记本电脑!

Continue reading

TestLink1.6.0安装说明 [by chen]

Windows:: TestLink1.6.0安装说明
TestLink1.6.0安装说明

Judy Shen

TestLink是基于Web的,开源的测试管理和执行系统。它可以让测试团队在创建和管理测试用例的同时,在测试计划中对测试用例进行组织。TestLink可以和Bugzilla、Mantis、Jira等缺陷管理工具进行集成。因为网上TestLink的资料很少,考虑到测试用例的管理对于测试过程的有效开展很重要,所以,笔者把在安装TestLink1.6.0中碰到的问题及安装过程的注意事项进行了总结,供同行参考。

本文不包括对TestLink的优化及使用说明的介绍,这部分内容将在《TestLink1.6.0使用说明》中进行描述。

本文适用于对PHP、Apache、MySQL不熟的读者。本文的描述适用于在windows上的安装。

1 介绍
TestLink目前最新的版本是1.6.0,它的运行需要一些应用程序的支持。TestLink开发团队推荐的环境配置为:MySQL4.1.x+php4.3.x和更高的版本(php5不支持但估计也可以运行)+Webserver(Apache1.3.x或2.0.x,IIS3等)。这里要强调php和MySQL的版本问题,在TestLink1.6.0的环境搭建上,高版本不兼容低版本的php和MySQL。笔者刚开始时使用的环境配置为:PHP5.1.1+MySQL5.0.18+Apache2.0.55,但是经过努力,笔者发现对于1.6.0版本的TestLink,在WinXP下无法是使用这个环境配置将TestLink安装并正确运行。所以,笔者推荐的环境配置为:PHP4.4.1+MySQL4.1.16+Apache2.0.55。

下面我对这些应用程序的安装与配置步骤分别进行描述。

2 安装Apache2.0.55
Apache2.0.55安装程序可在Apache网站http://httpd.apache.org/下载。2.0.55版本的下载地址为:

http://dla.pchome.net/internet/server/web/apache_2.0.55-win32.msi

Apache的安装只需要按照安装界面的步骤进行即可。这里需要说明的是,如果你的机器上安装了其它web服务器,或者说你机器上的80端口已经被占用的话,那么安装时Apache服务不会成功创建。对于这个问题,有两个解决办法:

1. 将机器上的其它web服务器占用80端口的服务暂停

2. 虽然服务创建不成功,但是其它组件均已经安装了。可以修改Apache配置文件, Apache2confhttpd.conf,将80端口改为其它端口,如8080。然后重新运行安装程序即可。

安装Apache后,在任务栏的托盘上会显示Apache的图标。如果安装成功的话,在浏览器输入htpp://yoursite(如http://172.16.111.39:8080),会进入Apache测试界面。

3 安装PHP4.4.1
PHP有两种形式的安装包,一种是压缩包的方式,需要手工配置;另一种是安装包的方式,安装时自动配置IIS,PWS和Xitami,但是可扩展性较差。所以一般是建议下载压缩包,手工配置PHP。下面的安装步骤针对压缩包方式。

PHP4.4.1压缩包可在php网站http://www.php.net/上下载。4.4.1版本的下载地址为:

http://cn2.php.net/get/php-4.4.1-Win32.zip/from/cn.php.net/mirror

以下安装步骤都是针对PHP4,PHP5的安装步骤和它有些不同。PHP4安装步骤如下:

1. 将压缩包解压缩到C:PHP,可以选择其它的路径但最好不要用中间有空格的路径(例如:C:Program FilesPHP就不太好),如果这样做有些 web 服务器会崩溃。

2. 将位于dlls和sapi文件夹中的文件移动到主文件夹中(例如 C:PHP)
下面两个服务器模块是后面的步骤中要用到的:

l sapi/php4activescript.dll – ActiveScript 引擎,允许将 PHP 嵌入 Windows 应用程序中。

l sapi/php4apache2.dll – Apache 2.0.x 模块。

3. 将 PHP 目录添加到PATH环境变量中,目的是为了让CGI和web服务器模块需要使用的php4ts.dll文件能正确被搜索到,同时便于将来升级 PHP。

4. (可选)如果在 Windows NT、2000、XP 或 2003 中使用 NTFS 分区,确认运行 web 服务器的用户有权限读取 php.ini(例如将其设置为Everyone 可读)

5. 将php.ini-recommended拷贝到c:php目录下,重命名为php.ini

6. (可选)编辑新的 php.ini 文件。如果计划使用 OmniHTTPd,不要执行下一步。设置 doc_root 并指向 web 服务器的 doc_root。例如:

doc_root = c:inetpubwwwroot // for IIS/PWS

doc_root = c:apachehtdocs // for Apache

7. 注册动态链接库。准备好全部所需文件后,必须在系统中注册 DLL。做法是打开命令提示行窗口(位于开始菜单),然后输入类似cd C:php的命令进入 PHP 目录,最后输入regsvr32 php4activescript.dll注册该 DLL。
要测试ActiveScript是否正确工作,请创建一个新文件,命名为 test.wsf(这个扩展名很重要)然后输入:

保存并双击这个文件。如果您看到一个小窗口,内容为“Hello World!”,说明安装成功。

8. 将PHP集成到Apache 2.0。以Apache模块方式安装,将以下两行加入到 Apache 的 httpd.conf 配置文件中,用来设定Apache 2.0的 PHP 模块:

# 对 PHP 4 用这两行:

LoadModule php4_module “c:/php/php4apache2.dll”

# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!

AddType application/x-httpd-php .php

# 配置 php.ini 的路径

PHPIniDir “C:/php”

注:记得用自己 PHP 实际所在的路径替换掉上例中的 c:/php/。要留意在 LoadModule 指令中用的是 php4apache2.dll,而不是 php4apache.dll,后者是设计用于 Apache 1.3.x 的。

注:记住在 Windows 下给 Apache 的配置文件中加入路径值的时候,所有的反斜线例如 c:directoryfile.ext 必须转换成正斜线,如 c:/directory/file.ext。

9. 验证PHP是否正确安装。现在已经完成了 PHP 的配置,我们在命令行提示窗口执行一个简单的脚本,以测试安装。下面的代码是一个简单的 PHP 脚本,用于测试您的PHP环境。

将上述代码复制到一个名为test.php的文件中,并将它保存在 PHP 主目录中。在命令行提示窗口下,输入php c:phptest.php >1.txt(因为输出内容较多,所以将输出结果保存到文本文件)。界面上会显示PHP的环境信息。

你也可以将上面刚刚创建的 test.php 文件复制到 Web 服务器的 htdocs 目录下。然后打开浏览器,输入 http://yoursite/test.php,例如: http://172.16.111.39:8080/test.php,界面上将显示PHP的版本信息。

10. 设置Session存储路径。修改php.ini文件,设置session.save_path = C:windowstemp 。默认路径是UNIX上的写法,在Windows上不能正常工作。

4 安装MySQL4.1.16
MySQL4.1.16安装程序可在MySQL网站http://dev.mysql.com下载。4.1.16版本的下载地址为:

http://dev.mysql.com/get/Downloads/My … irror.vmmatrix.net/mysql/

MySQL的安装步骤比较简单,按照安装界面的默认设置逐步执行即可。注意以下几点:

1. 数据库编码选择utf-8编码,避免中文发生乱码现象。

2. root帐号是否选择修改密码。Root初始密码为空,在安装界面中默认是要修改密码的。

3. 是否允许root远程访问数据库。安装界面默认不允许root帐号远程访问数据库。

4. 如果服务器上启用了防火墙,那么需要在防火墙设置中添加一个例外端口,如端口号为3306。

5 安装TestLink1.6.0
TestLink1.6.0的安装包可在TestLink网站http://testlink.sourceforge.net/docs/testLink.php 下载。1.6.0版本的下载地址为:

http://nchc.dl.sourceforge.net/source … stlink/testlink_1_6_0.zip

在安装TestLink1.6.0前,需要完成以下步骤:

1. 安装运行所需要的环境:Webserver、php4和MySQL。可以参照前面的介绍进行安装。

2. 将TestLink安装包保存到服务器

3. 将TestLink安装包解压缩到Apache2的htdocs目录下,并重命名为testlink

TestLink的安装有两种方式,一是自动安装,二是手工安装的方式。

5.1 自动安装

1. 在浏览器输入访问地址http://yoursite/testlink/install/index.php,如:http://172.16.111.39:8080/testlink/install/index.php

2. 选择new install,在进入的页面中,输入登录MySQL的用户名和密码,如root,如果没有为TestLink新建一个专用的用户,也可以输入初始用户root。但是因为root权限过多,所以,建议为TestLink新建专用的用户,并为该用户赋予ALTER、SELECT、INSERT、UPDATE、INDEX、CREATE、DELETE和DROP权限。操作的sql语句见手工安装的步骤4

3. 提示安装成功。系统为testlink创建一个默认管理员账号,用户名和密码为:admin/admin。你可以使用这个账号访问TestLink

在自动安装过程中,安装程序主要做了以下事情:

1. 检查web server的参数、php配置、数据库版本

2. 创建数据库和表,并导入初始数据

3. 在完成安装后,系统会为testlink创建一个数据库配置文件config_db.inc.php。

5.2 手工安装

你也可以通过手工的方式来完成TestLink的安装。安装步骤如下:

1. 打开命令行窗口,输入:mysql –uroot –proot(注:假设安装MySQL时将root帐户的密码修改为root),进入MySQL

2. 创建数据库。mysql> create database testlink;

3. 使用新创建的testlink数据库。mysql> use testlink;

4. 创建用户,并赋予适当的权利。

mysql> grant select,insert,update,alter,index,create,delete,drop on testlink.* to tl@”%” identified by “123456”;

mysql> grant select,insert,update,delete,index,drop,create,alter on testlink.* to tl@”localhost” identified by “123456”;

如果不加上后面这句话,新建的用户只能用IP地址访问本机,而不用用localhost的方式来访问本机。

5. 修改root和新创建的tl帐号的密码。这个步骤主要是因为4.1版本后的MySQL使用了基于不同的密码算法的认证协议。如果服务器更新了版本,但是客户端API没有相应更新,就会出现认证失败的情况。这个情况可以通过执行以下sql语句来解决。

mysql> update mysql.user set password = OLD_PASSWORD(‘root’) where host = ‘localhost’ and user = ‘root’;

mysql> update mysql.user set password = OLD_PASSWORD(‘123456’) where host = ‘%’ and user = ‘tl’;

mysql> flush privileges;

记得用实际的用户的信息替换上述的“user”、“host”信息。“OLD_PASSWORD”后面的括号内输入新的密码。

最后一句命令flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令,这时非法用户还可以用root用户及空口令登陆,直到重启MySQL服务器。

6. 切换用户,使用tl用户。使用quit命令退出mysql,然后再次执行步骤2和步骤4,只是此时的root用户信息改为tl用户

7. 执行数据库初始化语句。依次将 Apache2htdocstestlinkinstallsql文件夹下的testlink_create_tables.sql和testlink_create_default_data.sql的内容在MySQL内执行。

8. 创建TestLink数据库配置文件。参照下面的代码创建/config_db.inc.php文件

http://172.16.111.39:8080/testlink/index.php,可以打开TestLink登陆界面。建议使用IP地址,而避免使用localhost。如果使用IP地址,在步骤9定义的配置文件中,DB_HOST也要用IP地址替换。

无论是自动安装还是手工安装,安装成功后,要将安装目录下的install目录移走,并在系统中修改admin的初始密码。

6 小结

TestLink1.6.0的安装过程如上面介绍的步骤进行。更多的信息可以访问testlink网站(http://testlink.sourceforge.net/docs/testlink.php),也可以在TestLink网站的论坛(http://www.testlink.org/tiki/tiki-forums.php)中获取更多的信息。另外,如果不想安装,只想使用TestLink,那么也可以访问TestLink网站上的Demo(http://testlink.org/demo/index.php)。

7 参考资料

l 《TestLink 1.6 Installation & Configuration Manual》 TestLink Development Team

l 《MySQL 5.0 Reference Manual》
http://dev.mysql.com/doc/refman/5.0/en/old-client.html) MySQL AB.

l 《PHP手册》(http://php.benscom.com/manual/zh/install.windows.php)The PHP Group

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=577148

Continue reading

Google Developer Day開催–「Google Gears」発表 [by chen]

Internet:: Google Developer Day開催–「Google Gears」発表
Googleのエンジニアたちは、インターネットユーザーが長年待ち望んでいた技術を実現した。それは、オフラインでもウェブアプリケーションが使えるようにするというもの。

 Google Gearsが作られた目的は、オフライン環境でもウェブアプリケーションを機能させるための、標準的な手法を確立することにあったと、GoogleのエンジニアリングディレクターLinus Upson氏は述べる。

 初期版のコードは、Ajaxスタイルのウェブアプリケーションを記述するJavaScript開発者を対象に公開される。Windows上のInternet Explorer、WindowsおよびMac OS、Linux上のFirefox、Mac OSのSafariに対応する。

 Google Gear自体は、ブラウザで稼働するローカルウェブサーバ、データ保存用オープンソースデータベース「SQLite」、複数のJavaScriptジョブを並列に実行するためのブラウザエクステンション、という3つのコンポーネントで構成されている。

詳しくは

http://japan.zdnet.com/oss/story/0,3800075264,20349880,00.htm

Continue reading