您的位置:首页 > 运维架构 > Linux

LINUX主机上架设网上调查和在线考试系统

2009-12-11 11:27 447 查看
一、 引言
如今已进入WEB 2.0时代,各种网络应用也如雨后春笋般不断涌现,特别是企事业单位应用越来越广泛,从最初的C/S架构,到现如今的B/S架构。本文是通过在LINUX主机上架设基于APACH服务的PHP程序应用,介绍了《网络调查系统》和《网上考试系统》安装和使用手册,全部为作者个人经验之谈。源程序归作者所有,任何使用该程序者请遵守相关的使用协议。
二、 安装前的准备
a) LINUX系统:本文使用的是基于Fedora 8的linux系统,如使用其它版本的linux请安装系统对应的相关组件,当然上述两种PHP应用也可以安装在Windows 系统中,相关安装信息请参考相应的手册,这里只介绍基于linux系统。建议安装好操作系统后去掉一些不必要的服务,如蓝牙、SMART CARD等。
b) Webmin 的安装,为了方便使用请在相关网站下载Webmin,最好是RPM文件,安装好即可。
c) HTTP支持:使用的是Apache 2.2.6,将文件的字符集设定为默认,否则会产生乱码。
d) MYSQL支持:MYSQL 版本 5.0.45, 建立一个新的用户,并给予建立和修改数据库的权利。
e) PHP 版本:PHP 版本 5.2.5
f) 安装php-mbstring,此插件不是随PHP自行安装,需要另外安装,Linux光盘上有现成的RPM。
g) 本文所使用的组件全部是Fedora光盘中所带的组件,并且都是经过编译后的rpm文件,所以安装上省去了很多的麻烦。这种方法安装的弊端就是不能根据自己定义的方式进行安装,也不够灵活,所以安装目录也会和通过重新编译进行安装的程序会有一些区别。
h) 所用到的虚拟目录为 /var/www/html,为了安全考虑可以根据需要建立其他虚拟目录。
i) 本文为了方便并没有建立其他的用户和相应的权限,全部使用root用户进行操作,在实际工作中非常不可取,因为LINUX是以安全著称的,所以不建议大家像我这样设定。
j) 为了使用方便,使用了两个工具如下:
i. WinSCP 是一个支持SSH(Secure SHell)的SCP(Secure Copy)文件传输软件。只要文件主机支持SSH协定,你就可以安心的下载、上传文件。他的操作界面是参考NC(Norton Commander)的双视窗排列方式,使用起来不会有太大的困难。在WinSCP中,一般的文件操作都没有问题,如:复制、移动、更名文件或文件夹等。
ii. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议。还可用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。
k) 对PHP和MYSQL 进行测试,以保证其正常工作。请把下面文件放在虚拟目录相应的文件夹下。测试文件如下
Phpinfo.php
<?phpinfo();?>
Mysql.php
<?php
$link=mysql_connect('localhost','myadmin','999999');
if(!$link) echo "失败!";
else echo "成功!";
mysql_close();
?>
当程序出现PHP相关信息和数据库测试成功后,我们就可以进行接下来的安装了。
三、 网络调查系统(limesurvey)的安装和使用
a) Limesurvey介绍
LimeSurvey(前身为PHPSurveyor)是一款开源的在线问卷调查程序,它用PHP语言编写并可以使用MySQLPostgreSQL或者MSSQL等多种数据库,它集成了调查程序开发、调查问卷的发布以及数据收集等功能,使用它,用户不必了解这些功能的编程细节。系统包括了分支、自定义页面布局和设计(使用web template system),并且提供了基本的统计分析功能。调查可以匿名访问也可以限制为问卷“访问一次性”令牌的用户参加,从而我们能得到匿名数据或者参与者与结果相分离的数据。
b) 确定服务器符合以下要求
i. 约 40 兆的磁盘空间保存脚本
ii. MySQL 4.1.0 或以上版本或者Postgres 8.1 以上版本
iii. PHP 5.x 或以上版本并启用下列模块/链接库:
1. mbstring (Multibyte String Functions) 扩展库
2. mysql4 或 mysql5 PHP 链接库
3. pcre (regular expressions) - 见 http://de2.php.net/manual/en/book.pcre.php

(也是标配)
4. 已安裝iconv 扩展库(only for PHP 4 versions - needed for Excel export) (可选)
5. GD-Library with FreeType support installed (for captchas or nice charts in statistics) ,以图片形式展示数据,建议还是装一下吧。
6. 已安裝LDAP-Library (to import tokens using LDAP) (可选)这个是和LDAP进行结合的,默认已经在安装PHP的时候已经安装上了。
c) 下载程序解压缩
www.limesurvey.org下载最新版本的安装程序。现在程序的版本是1.85。程序的扩展名为tar.gz,将文件上传到虚拟目录(例如:/var/www/html/),利用tar命令将程序解压缩释放到此文件夹下面(不用另外建立limesurvey文件夹)。
cd /var/www/html
tar –zxvf limesurvey185rc3-build7008-20090604.tar.gz limesurvey

d) 确认一下信息
i. 网址(比如: http://my.domain.com/limesurvey) ii. MySQL 数据库的 IP/网络位置(如: localhost)
iii. 如果MySQL 数据库使用非标准端口, 就要找出端口号
iv. MySQL 数据库使用的用户名及密码 。
e) 配置 LimeSurvey
i. 利用文本编辑工具打开打开位于/limesurvey/ 根目录的文件config.php,休息下面参数
$databasetype = 'mysql'; //默认即可,无需修改
$databaselocation = 'localhost'; //服务器地址
$databasename = 'limesurvey' ; //建立的数据库名称(不用修改)
$databaseuser = 'root'; //mysql数据库用户名 (具有创建数据库权利的MYSQL用户)
$databasepass =''; //上面用户的密码。
$dbprefix= 'lime_'; //默认即可
f) 设定目录权限
i. 将limesurvey 目录设定为777权限
g) 安装并创建所需的数据库
i. 进入如下地址http://my.domain.com/limesurvey/admin/install/ (请根据主机的不同修改域名),点击“Create Database”提示Database has been created. 点击下面的Populate database, 提示Database `limesurvey` has been successfully populated.,成功创建数据库,点击后面返回管理员界面。
ii. 创建完数据库后会出来提示
Everything is fine - you just forgot to delete or rename your LimeSurvey installation directory (/admin/install). Please do so since it may be a security risk.
提示你删除/admin/install文件夹以保证安全。
iii. 登录并修改密码
1. 第一次登陆的用户名密码如下:
User: admin
Password: password
登录后会提示去更改密码。
不知道为什么本人用的IE6无论如何也进不了管理界面,但是用FIREFOX就可以了。
h) 使用limesurvey来创建一份问卷调查
i. 使用浏览器登录http://my.domain.com/limesurvey/admin/ 并输入用户名和密码



ii. 点击右上角的

按钮,进行新调查的创建。
iii. 填写调查信息:
1. 基础语言:调查问卷的语言,就是说你这份问卷是英文版的还是中文版的,或者是其他语言版的,当前版本已经支持简体中文。
2. 标题:这个不用说了,问卷的标题。
3. 描述:问卷内容的一些补充信息。
4. 欢迎信息:就是问卷开始时的欢迎信息。
5. 结束信息:就是问卷结束时的结束语。
6. 管理员、管理员邮件地址、你的邮件、传真:这个根据需要填写,如果已经架设了邮件服务器,会更加方便的直接给客户机发送邀请调查问卷。
7. 点击建立调查



iv. 编辑或者导入调查问卷
1. 建立后会给出调查识别号(自动生成的序列号信息),上图可以看到问卷还不可以启用,因为还没有题目。
2. 在添加题目之前,我们需要为题目建立分组,目的是让每组题目会具有相同的类型,或者相同属性,比如我建立一个日常生活品的调查,就需要首先建立一个用户基础信息组,比如年龄、籍贯等信息,然后我再建立一个组为我要调查的相关产品信息,比如某个产品是否使用过、使用满意程序等,这些都是与我要了解的产品相关的,所以为产品相关组。
3. 点击右上角的“问题分组”框品旁边的

按钮,进行增加新的题目组。
4. 填写题目组名和描述,点击新增组。增加后如下,这时候我们看到有三条信息栏了,第一条信息栏是问卷调查信息,第二条为某一个问题组相关的信息,而第三条为题目组内的题目信息。



5. 添加题目
a) 点击在第三栏右上角的按钮,添加题目


i. 编号:题目编号,从1开始,以此类推
ii. 题目:
iii. 帮助:答题人在填写此题目时的一些帮助信息
iv. 题目类别:单选、多选,或者是问答形式
v. 组别:当前编辑的题目在哪个组下面
vi. 必须回答
vii. 有效性
viii. 题目属性
ix. 还可以利用编辑好的CSV文件,将题目导入到数据库中
6. 添加其他的题目
7. 测试问卷:点击

,对问卷进行测试,看看是否需要修改
8. 启用问卷调查:启用问卷点击



注意:在将问卷发放到用户之前,必须启用问卷,用户才可以看到.启用问卷之后就不可以对问卷里面的题目或者题目组进行修改了。
9. 删除题目、题目组以及整个问卷。







10. 将其他limesurvey问卷导入当前系统内
a) 点击右上角的


b) 点击“导入调查”
c) 浏览文件位置,扩展名为CVS,点击“导入调查”
v. 调查问卷的相关设定
a) 设定匿名可以参加问卷调查
i. 默认情况下如果不初始化TOKEN,问卷就为匿名并且是开放的,也就是说任何可以访问上面给出的地址的用户,都可以参加这个调查。如果你想把调查分发给指定的用户,必须通过初始化TOKEN,来生成邀请码,这样,只有特定的人员才能参加。
b) 初始化TOKEN
i. 点击

按钮,进行对问卷的操作码设置,点击后会有一段提示,警告
本调查的操作代码还未初始化。
If you initialise tokens for this survey then this survey will only be accessible to users who provide a token either manually or by URL.
Note: If you turn on the -Anonymous answers- option for this survey then LimeSurvey will mark your completed tokens only with a 'Y' instead of date/time to ensure the anonymity of your participants.
Do you want to create a token table for this survey?
点击初始化TOKEN就可以了
ii. 点击

,添加需要发送到人的姓名和邮箱,以及操作码的生成等一些信息。
iii. 点击

,可以根据个人需要,对上面一些信息增加需要的字段。
iv. 如果你需要对发送的邮件模板需要自己定制的话,可以点击

进行对原有模板的修改。
v. 发送邮件邀请和发送邮件提醒,点击

,相应的按钮,当然如果你系统架设了邮件服务功能的话,就可以直接发送邮件了。
c) 对问卷调查题目进行设定
i. 这个功能可以根据你的需要,对不符合要求的调查人员进行终止调查和限制进行后面的题目调查。
ii. 点击

进行设定。
vi. 查看问卷调查的结果
1. 选择好一份问卷
2. 点击


3. 点击

通过丙型图查看问卷调查结果



4. 数据导出:可以通过导出命令将结果通过EXCEL、PDF,WORD文件形式体现。不知道什么原因,凡是中文字体,导出的结果除excel,word以外,剩下的几种格式全部都是乱码,建议如果大家没有特殊需要的话可以导出到WORD 或者EXCEL。
i) 总结:上面介绍是一些建立一份简单问卷的基本步骤,没有很细致的去研究每一个功能,如有需要请参考相关文档,里面会介绍的比较详细。
四、 网络考试系统(phpexam)的安装和使用
a) 安装程序
i. 从http://www.ppframe.com 上下载源文件,将源文件解压缩后上传至APACHE的虚拟目录下,我这里是/var/www/html/ (特别注意:大家在上传的时候一定要选择“二进制”,这是必须的,否则你后面的抽取试卷过程中会报错而无法进行考试)并将ppframe设定为777权限。



ii. 在进行安装网上考试系统时,必须安装ZendOptimizer。安装方法见上面提到的网络调查系统,下载ZendOptimizer,然后进入安装目录输入命令:./install
iii. 安装目录为/usr/local/Zend
iv. 默认PHP配置文件为/etc 不需要修改
v. Apache control utility 也不用修改,是默认的目录/usr/sbin/apachectl
vi. 安装进度过去后,会提示你是否要重新启动APACHE,你同意即可。
vii. 在浏览器敲入如下地址:http://mydoamin.com/ppframe/install.php 这里的ppframe为我考试系统文件夹,可以根据需要修改相应的目录。进入到下面的界面选择GBK版本
viii. 同意按照使用协议使用本软件。请大家尊重开发者的劳动成果。
ix. 输入相关信息:如数据库用户名、数据库密码、管理员用户名、管理员密码、密码重复等信息。点击“安装PPFRAME基础框架”,出现“Install PPFrame SUCCESS”安装成功,安装“通行证”和“考试系统”模块,最后“安装exam模块”出现“INSTALL SUCCESS”即可。
x. http://mydomain.com/ppframe/admin/ 为后台管理系统
xi. http://mydomain/ppframe/exam/ 为前台考试系统
b) 后台管理程序
i. 概念定义
题库
题库用来装试题的,或者说是试题的分类。每个试题必须从属于一个题库,也可以从属于多个题库一个题库可以有n个试题。题库有上下级关系
试题
试题就是单项的题目,他是组成考卷的元素。
试卷
试卷是对考卷的说明,实际上他只是一个定义,定义生成考卷的规则。
考卷
考卷是按照试卷定义的规则,生成的一份具体的考卷,他是试卷规则的具体实现。是特定时候试卷的一个映像!一份考卷必然从属于一份试卷。而一份试卷可以有很多考卷。
试卷分类
试卷分类,是对试卷的分类,用于检索。当试卷太多时,肯定用得到
ii. 创建题库
1. 进入exam——考试系统——题目管理——添加题库。注意:顶级题库下面必须只要要有一级题库。
iii. 试题管理
1. 进入exam——考试系统——试题管理——添加试题。注意:如果是单选题,一定要勾选出正确的答案,设定正确的分值,以及加入到正确的题库当中去。
iv. 试卷分类管理
1. 进入exam——考试系统——分类管理——添加试卷分类。注意:这一选项的要求和添加题库差不多,也是需要建立顶级分类后再至少建立一个下一级分类。
v. 配置一份简单的试卷
1. 进入exam——考试系统——试卷管理——配置一份试卷。填写试卷标题,选择题库和分类,最低答题时间(可选),考试次数每人最多考几次(可选,根据需要来保证试卷被一个人答题的次数),开放试卷(表示从现在开始就可以开始答题了),其他选项可根据需要进行自行设定。
2. 进入考试限制选项,可以根据需要对考卷进行合格率设定,以及面对范围的设定。
3. 进入题目配置选项,可以设定一份试卷包含的题目类型,以及试题数目,每题的分值,限定答题时间等。
4. 最后提交修改后的试卷即可。
vi. 其他
1. 考卷管理——当用户通过前台登录完成一份试卷的答题后,相应的试卷信息就会从这里体现出来了。也可以对试卷进行删除等操作。
2. 考卷批处理——对作废试卷进行删除,或者设定相应的时间来释放作废试卷。
3. 成绩总汇导出——可以将全部成绩到处到EXCEL里面。
4. 题目报错——在用户答题过程中,用户可以针对某些问题答案有异议的地方,并进行提交后,在这里就可以看到。
5. 我的展示——在进行测试之前,会有一些出题人的信息,这里就是用来输入一些相关信息的地方。
6. 禁用命名考卷:当然你可以根据自己需要当用户在考试前,会有一个功能是对考卷命名,如果不需要就将此功能去掉。操作方法:进入exam——基础管理——禁用考卷名——是。
c) 前台考试系统
i. 注册新用户,新用户需要注册后才可以进行考试,当然这些功能与后台的PASSPORT管理模块相关联。可以根据需要自行添加一些其他注册用户需要填写的信息。
ii. 前台考试系统有试卷搜索、试卷分类、分类列表以及试卷题目等。这些内容都是根据后台管理程序进行相关设置和添加后出现的。
iii. 关于分发考卷和开放考卷的区别
1. 分发考卷:可以将一份试卷指定分发给某个用户,或者具有相同属性的一组人,其他人是无法看到的。当用户用注册好的用户名登录到前台,在“我的试卷”就可以看到分发给他的考试试卷。
2. 开放试卷:一般开放试卷就是任何人都可以看到(当然必须是注册用户),并且可以参与。
上述功能都可以通过后台管理进行设定。
iv. 每份答卷后面都会有一个“排行”的超级链接,进入后可以看到答题者的成绩以及排名,用户名只会显示前两个字母,隐去了后面的字符,也是为了隐私考虑,比较人性化。
五、 总结
至此两个系统就介绍到这,像这样的开源程序还是非常多的,只是平时没有太多的关注。由于这两个系统就是基于PHP进行开发的,所以不涉及到版权问题。从WEB 2.0发展趋势来来看,也许以后PHP应该是微软.NET强有力的竞争对手。本文出自 “点滴成就非凡” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: