2005年09月08日

一个测试计划样例


原创作者:Jerry
转载请注明:来自Sawin系统分析之窗
最后修改时间:2005-2-22

 

*************JAVA
测试总体计划书
历史纪录
日期
版本
描述
作者
2005-02-21
1.0
Created
**



1引言

1.1编写目的

本测试计划书的读者对象技术经理,软件测试工程师以及软件测试人员

1.2背景

说明:
软件系统的名称:*************JAVA
本项目在*************中位于**层上部分,应用层下部分,是应用程序与交互媒体平台的接口。接受端业务运行系统是******的一个部分。
   (图略)

1.3定义

****:************************ **********************
****:************************* **********************
1.4参考资料
Ø       ********平台系统规范-应用程序编程接口
Ø       各包软件说明书
2测试项目
本次测试主要针对JAVA类程序作底层测试,主要包括包功能测试,各函数完整性测试以及事件监听测试。测试之前需要根据测试用例书写测试代码,运行测试代码进行测试。

3 被测特性

Ø       包功能测试
主要测试包内各函数,各类之间的调用关系;
Ø       函数完整性测试
包括函数正确性测试和错误参数测试:
函数正确性:测试为在正确输入参数情况下测试函数的功能,如果函数输出为get*函数,并且可以打印出来,需要把获得的结果通过system.out.println()打印在屏幕上;
错误参数测试:主要测试输入参数在非法的条件下程序运行的情况(比如从存储器中读出数据的长度输入参数为int length,当length<0的时候);
Ø       监听测试
测试系统等待监听,直到所需要的事件出现,如果有需求把事件中的信息捕捉出来,显示在屏幕上。

4 不被测特性

Ø       构造函数
对类进行测试,通过构造函数创建这个类。所以不专门测试构造函数,对构造函数错误参数的测试也没有实际的意义;
Ø       异常类
由于产生异常的条件比较复杂,牵扯到硬件软件,数据库和存储设备等等,所以再次对于这些类不进行测试;
Ø       protect函数
由于protect函数是被继承类调用的,不是被应用程序调用的,通过测试继承类中的函数,间接的测试该类函数;
Ø       private函数:
由于private函数是被该类中其他函数调用的,也不是被应用程序调用的,通过测试调用函数,间接的测试该类函数。

5 测试方法

书写测试测试用例;
Ø       根据测试用例编写测试脚本;
Ø       运行测试脚本,进行测试。(测试结果填写测试结果报告单,缺陷填写在bugzilla软件中,以便于开发人员进行交流,进行回归测试)

6 测试通过标准

Ø       如果测试结果与预期结果一致测试通过,否则不通过。

6.1测试结果审批过程

测试工作执行完毕,质量经理书写测试总结报告,召开测试总结会议,讨论产品是否可以发布(评审标准:测试案例是否完全,测试程序是否正确,测试结果是否令人满意,…)。

7 测试挂起和恢复条件

Ø       测试挂起条件:
由于程序中存在重大问题或者问题过多,测试无法正常进行,测试人员申请测试挂起,经领导审批通过;
由于存在其他优先级更高的任务,通过批准,测试挂起。
Ø       测试恢复条件:
重大问题被解决或者程序通过重新修正;
优先级更高的任务被完成。

8应提供的测试文件

Ø       测试总体计划书
Ø       测试用例(计划)
Ø       测试手册
Ø       测试脚本代码
Ø       测试纪录(纪录测试通过或者不通过状态,如果未通过在bugzilla中书写错误情况,包括包名,函数名,输入参数,错误表现几个方面)
Ø       测试总结书

9测试任务

Ø       书写测试总体计划书
Ø       书写测试用例(计划)和测试手册
Ø       编写测试代码
Ø       测试测试代码
Ø       进行测试工作
Ø       进行测试总结

10测试环境需求

10.1硬件需求

Ø       测试代码运行机器
Ø       仿真器
Ø       数据广播系统
Ø       机顶盒
Ø       监视器
Ø       数据传输介质

10.2软件需求

Ø       ***软件
Ø       ***数据库
Ø       ***其他模块

10.3测试工具

10.4测试需要的条件

10.4.1 需要的文档

Ø       软件说明书

10.4.2需要完成的任务

Ø       被测试程序已经完成,并且通过代码审核和初步的程序员级测试;
Ø       测试脚本已经完成,并且通过测试。

11角色和职责

Ø       测试设计师:书写测试计划(用例)和手册
Ø       测试开发人员:编写测试代码(通常由测试脚本的编写为非开发该项目的开发人员编写)
Ø       测试人员:进行测试工作
Ø       测试管理人员:管理测试进度,进行测试评估

12 人员和培训

理解测试基本知识
Ø       掌握面向对象方法
Ø       熟悉产品基本功能特性
Ø       熟悉每个包和类的功能

13 测试进度

任务
时间
制定测试计划
2天/人
书写测试用例(计划)和测试手册
1.5月/人
编写测试代码
4月/人
执行测试任务
2月/人
测试总结
1周/人

14风险及应急计划

15审批

技术经理:
 
 
       

 

【作者介绍】 Jerry

97年毕业于北京某高校计算级专业,先后在软件公司和网络公司从事软件开发,系统分析和设计工作。2001年涉及软件质量保证,先后担任测试工程师,测试部经理,副经理。精通软件工程和测试流程,精通RUP, CMM, ISO, 6SIGMA软件质量保证工作。
作者Email地址:guxiang625@vip.sina.com.cn

2005年09月07日

邮件杀毒 AntiVir

Linux 上的邮件网关(杀病毒)AntiVir MailGate , 它有两种方法:

1. 直接作 mail 网关,然后利用“ 管道 ”调用 smtp 程序。支持标准的 smtp 程序: sendmail、postfix、qmail。

2. 也是作 mail 网关,在 /etc/sendmail.cf 里添加 avgatemail 选项 (这样 sendmail 在 825 端口监听),然后 再利用 825 端口转发邮件。意思是:25 即是 avmailgate 的 smtp 端口,然后它再利用 825(sendmail)端口转发邮件 !
请注意:但是人家还是可以利用你的 825 端口 (就是利用原来的 senmail 来给你发送病毒邮件!但是,这种情况很少的。)。这时你可以用防火墙来阻止来自外部的对本机的 825 端口的连接。


在 /etc/services 里面增加:
smtp-backdoor 825/tcp

修改 sendmail.cf 成:
# SMTP daemon options

#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
# 原来的。

# -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- gugong -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
#
# 红帽子 V7.x V8.0 所建立的本文件默认 “只” 对 localhost 即 127.0.0.1
# 提供服务,根据以往本文件的内容,修改为:
#
# SMTP daemon options
O DaemonPortOptions=Name=MTA, Port=smtp-backdoor

O DaemonPortOptions=Port=587, Name=MSA, M=E

# 若 不需要 avgatemail ,则应该是:
#O DaemonPortOptions=Name=MTA

#O DaemonPortOptions=Port=587, Name=MSA, M=E
# 在端口 587 提供 submission 服务(MSA)。
# -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- gugong -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-


请看:
邮件网关杀除病毒后返回的报告:

一、

*********************************************************************
AntiVir Virus Alert
*********************************************************************
This version of AntiVir MailGate is licensed for private and non-commercial use.
*********************************************************************

AntiVir found these viruses in the following mail:

Worm/Klez.E

The mail was not delivered.

You may force the delivery without further checking the mail using:

avq –deliver=04347-536A3823

but we would not advise to do so. You should delete it with:

avq –remove=04347-536A3823

For more information, please read the manual page avmailgate(8).


———-Mail-Info———-
From: winson246 <winson246@sohu.com>
To: webmaster@fruitron.com.cn
Subject: Marginheight
Mail-From: suscono@pub.dgnet.gd.cn
Rcpt: webmaster@fruitron.com.cn
Queue-Id: 04347-536A3823
Status: The mail was not delivered!
—————————–


———–Log-File———-
info: extracting attachment 1 to /var/tmp/av-06051-U43SFi/av-0
(encoding="quoted-printable", name="(no name)", filename="(no name)")
info: extracting attachment 2 to /var/tmp/av-06051-U43SFi/av-1
(encoding="base64", name="Vebnq.pif", filename="(no name)")
info: extracting attachment 3 to /var/tmp/av-06051-U43SFi/av-2
(encoding="base64", name="frame", filename="(no name)")
checking file "/var/tmp/av-06051-U43SFi/av-0"
checking file "/var/tmp/av-06051-U43SFi/av-1"
checking file "/var/tmp/av-06051-U43SFi/av-2"
—————————–
*********************************************************************
For more information on AntiVir please visit our web site
http://www.antivir.de or http://www.hbedv.com
mailto: info@antivir.de

AntiVir is a registered trademark of
H+BEDV Datentechnik GmbH
*********************************************************************


二、

*********************************************************************
AntiVir Virus Alert
*********************************************************************
This version of AntiVir MailGate is licensed for private and non-commercial use.
*********************************************************************

AntiVir found these viruses in a mail for you from winson246 <winson246@sohu.com>:

Worm/Klez.E

The mail was not delivered.

AntiVir MailGate prevented a virus delivery. But if you need to
receive further email from winson246 <winson246@sohu.com>,
you should ask him/her to buy a professional antivirus software such
as AntiVir from H+BEDV Datentechnik GmbH. He/She can contact
mailto:sales@hbedv.com for further information.

———-Mail-Info———-
From: winson246 <winson246@sohu.com>
To: webmaster@fruitron.com.cn
Subject: Marginheight
—————————–

*********************************************************************
For more information on AntiVir please visit our web site
http://www.antivir.de or http://www.hbedv.com
mailto: info@antivir.de

AntiVir is a registered trademark of
H+BEDV Datentechnik GmbH
*********************************************************************


自动升级病毒库后的报告:

AntiVir has successfully updated itself.

–> /usr/lib/AntiVir/antivir.vdf

Machine: gugonghcs.fruitron.com.cn
Date: 09 May 2002
Time: 10:39:18


—————————–
Copyright (C) 1994-2002 by H+BEDV Datentechnik GmbH.
All rights reserved.

For private (non-commercial) use only.


请到 :

http://www.hbedv.com

下载 Linux 版本,并注册,Linux 的 版本可是免费的哟。

由于附件的后缀名限制,附加的文档的 .txt 结尾是我增加附加档案时添加上去的。

horde imp Webmail的安装与设置(摘录)

日期:2003-07-03   作者: 张绍忠

 Email已经成为互联网上最重要的服务之一。无论菜鸟或大虾,他可能没用过ftp,没上过BBS,没有自己的主页,但他一定有一个自己的电子邮箱。随着互联网的发展,电子邮箱收费已是大势所趋。虽然还有免费的存在,但网站们为了突出收费邮箱的“优势”,有意无意的降低了免费邮箱的服务标准,导致经常丢失信件。收费信箱是好,可是得出钱,而且还有容量限制,速度也不见得快。
园区网建起来后,如果能建设一个自己的邮件系统,向广大员工提供免费的、无空间限制、快速的电子邮箱,一定会大受欢迎。只要你有一台普通的PC,你就不需要花一分钱!因为我们采用的软件全部是Open Source(开放源代码)的,可免费获得。
更重要的是,这套系统可称得上是全功能的:可以实现一个流行的邮件系统所支持的几乎所有功能,包括发送附件、POP3或IMAP收信方式、用户文件夹管理、通讯录、修改密码等。如果你愿意,还可实现日历、记事本等功能。而这一切功能都可以通过Web方式实现,即Web mail。
怎么样,心动啦?那就随我来!内容较多,先把目录列出来:
【目录】
一.邮件系统的基本原理
二.需要的网络环境
三.安装操作系统
四.安装Sendmail
五.安装IMAP
六.安装Web mail支持——Apache、Mysql和PHP
七.安装Web mail
八.安装通讯录模块
九.安装修改密码模块

一. 邮件系统的基本原理
首先让我们来了解一下电子邮件系统的基本原理。这里只做一个简单介绍,详细的可参考有关书籍。
一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理将用户的信件传送至传输代理(如Outlook Express、FoxMail等)。邮件传输代理负责将邮件送到目标主机(如sendmail)。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱(如procmail)。
我们来模拟一封邮件从发出到收到的过程。用户使用Outlook Express(用户代理或叫做邮件客户端)向Sendmail(传输代理)请求发送电子邮件的服务,将邮件交给Sendmail。Sendmail根据邮件的目的地址,将邮件发送给邮件接收服务器,邮件接收服务器将邮件缓存(这也是Sendmail的工作)。接收邮件的用户用Outlook Express向邮件接收服务器发出取信的请求,邮件接收服务器将邮件发送给用户(这是IMAP或POP服务的工作)。至此,一封邮件从发送者的机器到达接收者的机器。
我们要建立的邮件服务器,以性能优越的RedHat Linux 7.3为操作系统。以Sendmail作邮件传输服务,IMAP作收信服务来构成邮件系统的基本框架。以Horde Imp作为邮件的Web客户端。剩下的就是Horde Imp的支持软件:以MySQL存储用户数据,以Apache+PHP作为Web服务器。我们还使用其它的模块来扩充本系统的功能:通讯录模块和修改密码模块。
我们将安装下列软件:
1. RedHat linux7.3
作用:操作系统
下载地址: http://freesoft.online.sh.cn:8888/mirrors/redhat/7.3/
2. Sendmail-8.11.6
作用:邮件传输和接收
下载地址:(RedHat linux7.3自带)
3. Imap
作用:IMAP和POP3服务器
下载地址:ftp://ftp.cac.washington.edu/imap/imap-2001a.tar.Z
4. Apache-1.3.24
作用:Web服务器
下载地址:http://freesoft.online.sh.cn:8888/mirrors/ftp.apache.org/httpd/apache_1.3.24.tar.gz
5. PHP-4.2.1
作用:CGI脚本语言
下载地址:http://www.php.net/do_download.php?download_file=php-4.2.1.tar.gz
6. PEAR-4.1.0
作用:PHP的功能扩展模块
下载地址:ftp://ftp.horde.org/pub/horde/tarballs/pear-4.1.0.tar.gz
7. MySql
作用:数据库,存储邮件用户数据和通讯录
下载地址:http://freesoft.online.sh.cn:8888/mirrors/Database/MySQL/mysql-3.23.49.tar.gz
8. Horde-2.1
作用:Imp的支持模块
下载地址:ftp://ftp.horde.org/pub/horde/tarballs/horde-2.1.tar.gz
补丁:ftp://ftp.horde.org/pub/horde/tarballs/patch-horde-2.0-2.1.gz
9. Imp-3.1
作用:Web mail的核心程序
下载地址:ftp://ftp.horde.org/pub/imp/tarballs/imp-3.1.tar.gz
补丁:ftp://ftp.horde.org/pub/imp/tarballs/patch-imp-3.0-3.1.gz
10.Turba-1.1
作用:提供通讯录功能的模块
下载地址:ftp://ftp.horde.org/pub/turba/tarballs/turba-1.1.tar.gz
补丁:ftp://ftp.horde.org/pub/turba/tarballs/patch-turba-1.0-1.1.gz
11.Poppassd-1.8.2
作用:修改密码的服务,与Passwd for imp结合提供Web方式修改用户密码的功能。
下载地址:http://echelon.pl/pubs/poppassd-1.8.2.tar.gz
12.Passwd for imp
作用:提供修改密码功能的模块
下载地址:https://mail.ph.utexas.edu/test2/patches/public/passwd/passwd.tgz
二. 需要的网络环境
本文假设用户希望在园区网中架设一个电子邮件服务器,为本单位用户提供邮件服务。该服务器拥有一个合法的IP地址202.99.11.200和一个合法的域名mail.example.com,并且example.com的DNS的MX记录指向mail.example.com。
注:为了满足域名需求,example.com的DNS的域数据文件应该包含以下内容:
IN MX 10 mail
mail IN A 202.99.11.200
三. 安装操作系统RedHat Linux7.3
RedHat Linux7.3的安装在很多资料中已有详细说明。这里只说一下分区的问题,作为一个邮件系统,主要的磁盘空间用于存储用户的邮件。我们把大部分软件安装在/usr,而用户收到的邮件存储在/var,用户处理(删除、移动等)后的邮件存储在/home。大家要根据自己的情况确定合理的分区方案。
四. 安装Sendmail
其实上,RedHat Linux7.3安装完成后,Sendmail就被安装了。如果没有,可从RedHat Linux7.3的第一张安装盘中用RPM包进行安装。接下来我们只对Sendmail进行一些简单的设置。
Sendmail的配置文件主要是/etc/sendmail.cf。这里,我们需要修改两个地方:
原内容: Cwlocalhost (大约在83行)
修改为: Cwexample.com
作用:定义邮件交换的域
原内容:O deamonPortoptions=Port=smtp,Addr=127.0.0.1 … (大约在260行)
修改为:(将此行注释掉)
作用:此行的作用是只允从本机使用smtp服务,作为一个邮件系统,这显然是不行的。
修改完成后,键入:
#/etc/rc.d/init.d/sendmail restart
重启sendmail,使修改生效。
五. 安装IMAP
IMAP提供IMAP及POP3两种服务,它们的作用都是提供用户收取信件的接口,这里我们只使用IMAP服务。
我们假设所有要安装的软件都已经下载到/tmp。本文涉及的命令都以root身份执行。
1.解压,安装:
# cd /tmp
# tar zxvf imap-2001a.tar.Z
# cd imap-2001a
# make slx

2.将生成的可执行文件拷贝到/usr/sbin
#cp imapd/imapd /usr/sbin

3.在/ect/xinetd.d下新建文件imap
#vi /etc/xinetd.d/imap
内容为:
# IMAP server at Port 143
service imap
{
  disable = no
  socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
}

4.重启xinetd
/ect/rc.d/init.d/xinetd restart

5.测试imap服务起来没有
#telnet localhost 143
如果看到欢迎信息,则说明IMAP服务器安装成功。注意,先不要删除IMAP的安装文件,我们在后面还会用到。

六. 安装Web mail支持——Apache、Mysql和PHP
这一步,我们要为Imp建立Web服务器及数据库支持。
1. 安装MySql
Web mail Imp将用户设置和通讯录存储在数据库中,我们选用常用的MySql。
1.1解压,配置编译、安装:
# cd /tmp
# tar zxvf mysql-3.23.47.tar.gz
# cd mysql-3.23.47
# ./configure –prefix=/usr/local/mysql
# make
# make install
完成后MySql被安装到/usr/local/mysql。
1.2建立用户mysql及组mysql
#groupadd mysql
#useradd mysql
#passwd mysql
1.3把MySql启动起来:
#cd /usr/local/mysql/bin
# ./mysql_install_db (安装MySql的基本数据库)
# ./safe_mysqld –uroot & (启动MySql并转入后台)
1.4测试MySql
# ./mysql
如果能连接数据库,则MySql安装完成。请注意修改MySql的root密码,以增加安全性。其它操作请参照有关资料。
2. 安装Apache、PHP及PEAR
Horde及Imp 是以PHP编写的,要使它能够运行,必须提供Web服务和PHP脚本语言支持,而PEAR是PHP的功能扩展模块,虽然PHP默认安装时已经安装了PEAR,但Horde需要较新的版本。
2.1解压:
# cd /tmp
# tar zxvf apache-1.3.24.tar.gz
# tar zxvf php-4.2.1.tar.gz
2.2预编译Apache
# cd apache-1.3.24
# ./configure
2.3配置、编译、安装PHP,根据imp的需要,加上相应的参数,可参照相关资料进行修改
# cd ../php-4.2.1
# ./configure –with-mysql=/usr/local/mysql –with-apache=../apache-1.3.24 –with-imap=../imap2001a –with-gettext –with-xml
# make
# make install

2.4配置、编译、安装Apache
# cd ../apache-1.3.24
# ./configure — prefix=/usr/local/apache –activate-module=src/modules/php4/libphp4.a

2.5拷贝PHP配置文件到/usr/local/lib
# cd ../php-4.2.1
# cp php.ini-recommended /usr/local/lib

2.6用新版本的PEAR替换旧版本
# cd /usr/local/lib
# mv php php.bak
# cp /tmp/ pear-4.1.0.tar.gz .
# tar zxvf pear-4.1.0.tar.gz
# mv pear-4.1.0 php
# chown root.root –R php

2.7针对PHP修改Apaceh配置文件/usr/local/apache/conf/http.conf
找到如下两行:
# AddType application/x-httpd-php .php
# AddType application/x-httpd-php-source .phps
将注释符去掉,这两行的作用是定义php文档的后缀。
还要修改默认的首页类型,找到:
DirectoryIndex index.htm
改成:
DirectoryIndex index.htm index.php default.htm default.php

2.8启动Apache
# /usr/local/apache/bin/apachectl start

2.9测试Apache和PHP
删除/usr/local/apache/htdocs/下所有文件
# cd /usr/local/apache/htdocs/
# rm –rf *
新建文件test.php,内容为:
<? phpinfo(); ?>
找一台能上网的机器,在浏览器地址栏中输入:http://mail.example.com/test.php,如果能看到PHP的有关信息,则说明Apache及PHP安装成功。
七. 安装Web mail
Imp 是http://horde.org/发布的。它是以PHP编写的一个功能完善的Web界面的邮件客户端程序。它用IMAP或POP3协议连接邮件服务器,完成邮件系统的各种功能。更值得一提的是它支持多种语言界面,包括简体中文。
Horde是http://horde.org/发布的Horde Application Framework(应用程序框架),http://horde.org/所发布的所有程序都要以Horde为基础,Imp也不例外。我们首先安装Horde。
1. 安装Horde
1.1拷贝Horde压缩包到Web服务器的根目录并解压
# cd /usr/local/apache/htdocs
# cp /tmp/horde-2.1.tar.gz .
# tar zxvf horde-2.1.tar.gz
# mv horde-2.1 horde

应用补丁:
# cd horde
# cp /tmp/patch-horde-2.0-2.1.gz .
# gunzip patch-horde-2.0-2.1.gz
# patch –p1 <patch-horde-2.0-2.1 -t
1.2为Horde 和Imp准备数据库
确定MySql在运行,我们将在MySql中建立Horde和Imp所需的数据库。利用Horde中一个SQL脚本文件自动完成这项工作,在进行之前,要修改数据库用户的密码。
# cd horde/scripts/db
# vi mysql_create.sql
找到如下内容:
REPLACE INTO user (host, user, password)
    VALUES (
        ‘localhost’,
        ‘horde’,
  — IMPORTANT: Change this password!
        password(‘horde’) // 用户密码
    );
将斜体部分的内容改成自己的密码,这里假设被改成“xxx”。
建立数据库:
# /usr/local/mysql/bin/mysql < mysql_create.sql
注:如果你为Mysql的root设置了密码,则在上述命令中就要提供密码。
如果成功,则在MySql中建立了名为horde的数据库,此数据库的所有者是horde,密码是“xxx”。
用下面的命令测试数据库是否成功建立:
# mysql -h localhost -u horde -pxxx
mysql>exit
1.3设置Horde
Horde和Imp的设置存储在它们的配置文件中。
拷贝配置文件:
# cd horde/config
# for foo in *.dist; do cp -v $foo `basename $foo .dist`; done
编辑下列文件:
1.3.1 Horde的设置文件horde.php
// 以IMAP作为登录认证
$conf['auth']['driver'] = ‘imap’;
$conf['auth']['params'] = array();
$conf['auth']['params']['dsn'] = ‘{localhost/imap:143}INBOX’;

// 使用MySql存储用户资料
$conf['prefs']['driver'] = ’sql’;
$conf['prefs']['params'] = array();
$conf['prefs']['params']['phptype'] = ‘mysql’;
$conf['prefs']['params']['hostspec'] = ‘localhost’; // 数据库服务器
$conf['prefs']['params']['username'] = ‘horde’; // 数据库用户
$conf['prefs']['params']['password'] = ‘xxx’; // 建立数据库时设置的密码
$conf['prefs']['params']['database'] = ‘horde’; // 数据库
$conf['prefs']['params']['table'] = ‘horde_prefs’; // 表

// 使用Sendmail发送邮件
$conf['mailer']['type'] = ’sendmail’;

1.3.2 语言设置文件lang.php
$nls['defaults']['language'] = ‘zh_CN’; // 默认语言设成简体中文

1.4 测试Horde
找一台能上网的机器,在浏览器地址栏中输入:http://mail.example.com/horde/test.php,如果正常的话,将会看到 Horde的相关信息,如果发现错误,请检查前面的操作。特别注意当刷新此页面时,session测试部分的值应该会自动加1,如果没有,说明Apache或Horde的session设置不正确,这将导致不能登录到Web mail系统。
2. 安装Imp
2.1拷贝Imp压缩包到horde目录下,解压:
# cd /usr/local/apache/htdocs/horde/
# cp /tmp/imp-3.1.tar.gz .
# tar zxvf imp-3.1.tar.gz
# mv imp-3.1 imp

应用补丁
# cd imp
# cp /tmp/patch-imp-3.0-3.1.gz .
# gunzip patch-imp-3.0-3.1.gz
# patch –p1 < patch-imp-3.0-3.1 -t

2.2 为Imp设置Horde,使Imp运行于Horde之下。
编辑Horde配置文件horde/config/registry.php
// 取消下列行的注释
$this->registry['auth']['login'] = ‘imp’; // 以Imp作为登录和退出的界面
$this->registry['auth']['logout'] = ‘imp’;

//取消下列行的注释并做修改,这是在Horde中注册Imp
$this->applications['imp'] = array(
    ‘fileroot’ => dirname(__FILE__) . ‘/../imp’,
    ‘webroot’ => $this->applications['horde']['webroot'] . ‘/imp’,
    ‘icon’ => ‘/horde/imp/graphics/imp.gif’,
    ‘name’ => _("返回邮件"), // 出现在链接上文字
    ‘allow_guests’ => false,
    ’show’ => true
);

2.3 设置Imp配置文件
# cd horde/imp/config
# for foo in *.dist; do cp -v $foo `basename $foo .dist`; done

编辑下列文件:
2.3.1 连接服务器配置文件servers.php
// 修改下列行
$servers['imap'] = array(
    ‘name’ => ‘IMAP Server’,
    ’server’ => ‘localhost’, // IMAP服务器地址
    ‘protocol’ => ‘imap’, // 协议
    ‘port’ => 143, // 端口
    ‘folders’ => ‘mail/’, // 文件夹
    ‘namespace’ => ”,
    ‘maildomain’ => ‘example.com’, // 域名
    ’smtphost’ => ‘mail.example.com’, // 邮件服务器
    ‘realm’ => ”,
    ‘preferred’ => ‘true’
);
 
2.3.2 用户配置文件pref.php,设定用户的默认设置
//以下设置供参考,可根据自己的情况修改
// 用户使用的语言
$_prefs['language'] = array(
    ‘value’ => ‘zh_CN’, // 默认的语言为简体中文
    ‘locked’ => false, // 是否允许用户修改缺省值,false为允许
    ’shared’ => true,
    ‘type’ => ’select’,
    ‘desc’ => _("Select your preferred language:")
);

// 用户文件夹设置,这些文件夹将建立在用户目录下
$_prefs['folders'] = array(
    ‘value’ => ‘mail/’,
    ‘locked’ => true,
    ’shared’ => false,
    ‘type’ => ‘text’,
    ‘desc’ => _("Path to your mail folders:")
);

// 收件夹,这不能修改
$_prefs['mailbox'] = array(
    ‘value’ => ‘INBOX’,
    ‘locked’ => true,
    ’shared’ => false,
    ‘type’ => ‘implicit’
);

// 发件夹
$_prefs['sent_mail_folder'] = array(
    ‘value’ => ‘Sent’,
    ‘locked’ => false,
    ’shared’ => true,
    ‘type’ => ‘implicit’
);

// 垃圾箱
$_prefs['trash_folder'] = array(
    ‘value’ => ‘Trash’,
    ‘locked’ => false,
    ’shared’ => false,
    ‘type’ => ‘implicit’
);
 
以上设置为基本设置,其它设置可根据实际情况修改
3. 测试Imp
找一台能上网的机器,在浏览器地址栏中输入:http://mail.example.com/horde/imp,以系统用户登录,试着发送邮件给其它服务器,给本服务器的其它用户,从其它服务器发送邮件到本服务器等。如果有问题,查看前面的步骤,确定问题所在。
八. 安装通讯录模块
通讯录的功能由horde发布的另一个软件Turba来完成,在Horde的统一管理下,它能与Imp很好的结合成一个整体。
1.拷贝Turba到horde目录并解压:
# cd /usr/local/apache/htdocs/horde
# cp /tmp/turba-1.1.tar.gz .
# tar zxvf turba-1.1.tar.gz
# mv turba-1.1 turba
应用补丁
# cd turba
# cp /tmp/patch-turba-1.0-1.1.gz .
# gunzip patch-turba-1.0-1.1.gz
# patch –p1 < patch-turba-1.0-1.1 -t
2.为Turba设置Horde和Imp,使Turba运行在Horde之下
2.1在Horde中注册Turba ,编辑文件horde/config/registry.php
// 取消下列行的注释并修改,这是Horde中注册Turba
$this->applications['turba'] = array(
    ‘fileroot’ => dirname(__FILE__) . ‘/../turba’,
    ‘webroot’ => $this->applications['horde']['webroot'] . ‘/turba’,
    ‘icon’ => ‘/horde/turba/graphics/turba.gif’,
     ‘name’ => _("通讯录"), // 出现在链接中的文字
    ‘allow_guests’ => false,
     ’show’ => true
);
 
2.2 在Imp中链接Turba,编辑文件horde/imp/config/conf.php
$conf['menu']['apps'] = array(‘turba’);
 
3.配置Turba
# cd horde/turba/config
# for foo in *.dist; do cp -v $foo `basename $foo .dist`; done

3.1编辑文件horde/turba/config/conf.php,在Turba中链接Imp
$conf['menu']['apps'] = array(‘imp’);
 
3.2编辑文件horde/turba/config/prefs.php
// 设置Turba的语言
$_prefs['language'] = array(
    ‘value’ => ‘zh_CN’, // 简体中文
    ‘locked’ => true,
    ’shared’ => true,
    ‘type’ => ’select’,
    ‘desc’ => _("Select your preferred language:")
);
 
3.3 为Turba准备数据库,利用Turba提供的SQL脚本自动完成
# cd /horde/turba/scripts/drivers/
# /usr/local/mysql/bin/mysql < turba.sql

3.4 设置Turba使用MySQL存储通讯录数据
编辑文件horde/turba/config/sources.php
// 修改下列行
$cfgSources['localsql'] = array(
    ‘title’ => ‘IMP Address Book’,
    ‘type’ => ’sql’,
    ‘params’ => array(
        ‘phptype’ => ‘mysql’,
        ‘hostspec’ => ‘localhost’, // 数据库服务器
        ‘username’ => ‘horde’, // 用户名
        ‘password’ => ‘xxx’, // 前面设置的密码
        ‘database’ => ‘horde’, // 数据库
        ‘options’ => ”,
        ‘tty’ => ”,
        ‘port’ => ‘5432′,
        ‘protocol’ => ‘unix’,
        ‘table’ => ‘turba_objects’ // 表
    ),

4.测试Turba
登录到Imp单击“通讯录”进入,测试增加、删除联系人等是否正常。

九. 安装修改密码模块
修改密码的功能由Horde的一个非官方的模块Passwd for Imp完成。它通过向poppassd服务提交请求来完成修改密码的功能。
1. 安装Poppassd
1.1安装Poppassd
# cd /tmp
# tar zxvf poppassd-1.8.1.tar.gz
# cd poppassd-1.8.1
# make
# make install
1.2设置xinetd,创建文件/etc/xinetd.d/poppassd
# default: off
# The POPPASSD port 106.
service poppassd
{
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/poppassd
        log_on_success += USERID
        log_on_failure += USERID
}
重新启动xinetd
# /etc/rc.d/init.d/xinetd restart
1.3测试poppassd
# telnet localhost 106
如果看到欢迎信息,则poppassd成功安装

2. 安装Passwd for Imp
2.1拷贝Passwd for Imp到horde目录
# cd /usr/local/apache/htdocs/horde/
# cp /tmp/passwd.tgz .
# tar zxvf passwd.tgz

2.2配置Horde和Imp使Passwd工作在Horde之下
编辑文件horde/config/registry.php,增加以下内容:
// 在Horde中注册passwd
$this->applications['passwd'] = array(
    ‘fileroot’ => dirname(__FILE__) . ‘/../passwd’,
    ‘webroot’ => $this->applications['horde']['webroot'] . ‘/passwd’,
    ‘icon’ => $this->applications['horde']['webroot'] .
                 ‘/passwd/graphics/lock.gif’,
    ‘name’ => _("修改密码"), // 出现在链接上的文字
    ‘allow_guests’ => false,
    ’show’ => true
);
 
在Imp中链接Passwd,编辑文件horde/imp/config/conf.php
$conf['menu']['apps'] = array(‘turba’, ‘passwd’);

2.3配置passwd
# cd horde/passwd/config
# for foo in *.dist; do cp -v $foo `basename $foo .dist`; done

编辑文件horde/passwd/config/prefs.php
// 语言设置 事先要准备中文语言包
$_prefs['language'] = array(
    ‘value’ => ‘zh_CN’,
    ‘locked’ => false,
    ’shared’ => true,
    ‘type’ => ’select’,
    ‘desc’ => _("Select your preferred language:")
);
 
//在Passwd中链接Imp
$conf['menu']['apps'] = array(‘imp’);
3. 测试修改密码功能
登录到Imp,进入修改密码模块,看看能否正常修改密码。
至此,一个邮件系统成功建立了。接下来的问题就是修改Horde Imp的配置文件来完善她,如自定义起始页,加上本公司标志等。

2005年09月05日
春季要防过敏性鼻炎
2005-03-09

作者/张献怀

    又到春暖花开的季节,也是过敏性鼻炎的高发季节,解放军304医院耳鼻喉科每年入春以后,门诊过敏性鼻炎病人有时一天达20多人。该科副主任医师周承勇提醒人们,春季要防过敏性鼻炎。

  过敏性鼻炎是发生在鼻腔黏膜的变态反应性疾病,是耳鼻喉科常见疾病。随着工业化的发展,过敏性鼻炎的致病因素不断增加,该病的发病率正逐年上升。在西方国家,成人过敏性鼻炎的发病率一般为10%~20%,在我国北方发病率高达36%。引起过敏性鼻炎的过敏原包括尘螨、屋尘、动物皮屑、各种树木和草类的花粉,各种化学物质、某些食物、药品、化妆品,城市大气污染物如汽车尾气等,都可能导致过敏性鼻炎。其临床症状主要表现为鼻内发痒、打喷嚏、流清鼻涕、鼻堵塞,疾病发作时,常伴有眼内痒、流泪,甚至咽部有痒感等。

  过敏性鼻炎的症状与感冒相似,因此,有不少患者在发病初期常把过敏性鼻炎当成感冒,自行服用抗感冒药物或就诊于其他科室而不能得到及时正确的诊治。过敏性鼻炎不仅严重影响正常的生活和工作,降低生活质量,而且如果延误治疗或治疗不当,还可能诱发多种合并症,最常见的是支气管哮喘,有的还并发鼻窦炎、中耳炎、过敏性咽喉炎等,所以,对过敏性鼻炎不可忽视,一定要早防早治。

  过敏性鼻炎治疗的手段目前主要有两种,药物治疗和手术治疗。临床上常用的治疗药物有抗组织胺药物如扑尔敏、新敏乐等,减充血剂如麻黄素、呋麻合剂等。药物治疗一般不要超过7天,长期使用会引起药物性鼻炎。激素类药物如伯克钠、雷诺考特等,可减轻对过敏原的反应并抑制炎性反应,副作用较轻。

  严重的过敏性鼻炎可采用手术治疗方法。如激光、微波或者等离子消融等。等离子消融术是21世纪用于临床的最新技术,对过敏性鼻炎,尤其是重度过敏性鼻炎有明显的效果。

  周主任说,每年3-6月份是空气中花粉浓度较高的季节,也是过敏性鼻炎的高发季节,过敏体质的人这个季节应尽量减少外出,如一定要外出,也要注意尽量减少与花粉、干草、落叶等的接触,最好戴上口罩和眼镜;要经常打扫室内卫生,平时保持室内空气流通;对皮毛过敏者最好不要饲养宠物,如果家中有宠物也不要让它们上床;地面最好不要铺地毯。对于季节性过敏性鼻炎患者,在春秋季节植物扬花时,还需要提前使用药物预防,如鼻用皮质类固醇就可治疗和预防过敏性鼻炎。


转自《北京青年报》