红联Linux门户
Linux帮助

CentOS 6.x安装TCExam

发布时间:2016-06-18 14:54:50来源:linux网站作者:cmzsteven

公司培训部最近有在线考试的需求,而目前使用的在线考试的系统没有自动评分功能,全部的试题需要人工进行批阅,效率十分低下。为解决这个问题,我上网找了好多软件进行测试,但效果都不是很理想,直到遇到了TCExam这款开源软件。
TCExam是基于PHP开发的在线考试系统,安装环境为LAMP。其安装十分简单设置也不是很繁锁。


一、安装LAMP环境

虽然说tcexam需要的是lamp环境,但是官方文档中是需要通过yum安装的,我通过手工编译安装lamp环境后,在tcexam安装过程中遇到很多问题。所以我在这里使用的是通过yum安装lamp和其他相关的软件的。
1、安装epel-release源

yum install -y epel-release;

2、安装lamp

yum install -y  gd curl ImageMagick   texlive  zbar mysql-server php httpd php-mysql libdbi-dbd-mysql php-gd php-curl memcached

3、修改apache配置文件

vim /etc/httpd/conf/httpd.conf

修改ServerName

ServerName localhost:80

4、设置php时区

vim /etc/php.ini

修改 date.timezone

date.timezone = "Asia/Shanghai"

5、启动相关服务

#设置mysql服务
chkconfig mysqld on
service mysqld start

#设置apache服务
chkconfig httpd on
service httpd start

#设置memcached服务
chkconfig memcached on
service memcached start


二、下载TCExam
1、进入网站根目录:

cd /var/www/html

2、到官网下载安装包

wget https://github.com/tecnickcom/tcexam/archive/master.zip

3、解压安装包

uzip master.zip

4、解压出来的文件夹为“tcexam-master”,将tcexam-master目录下的文件全部移动到/var/www/html中并删除tcexam-master目录

mv ./tcexam-master/* .
rm -rf tcexam-master


三、设置mysql

按照官方文档tcexam的安装页面是可以自动新建tcexam数据库并导入初始数据的,但从实际的操作的效果来看,这个功能基本上无法完成这个任务。因此我们需要手工建立数据库并导入初始数据。
1、设置mysql的root密码

tcexams要求mysql的root密码不能为空,所以先设置mysql的root密码。

mysqladmin -u root password "newpassword";

”newpassword” 是你指定的mysql的root密码
2、进行mysql建立数据库

mysql -uroot -p;
#输入你设置的密码

#新建数据库
create database tcexam;

#退出mysql
quit

3、导入初始化数据
1)、进入tcexam安装页目录

cd /var/www/html/install

2)、导入初始数据

mysql -uroot -p tcexam < mysql_db_structure.sql
mysql -uroot -p tcexam < db_data.sql

单独执行每一条语句并回车,按提示输入密码


四、关闭主机的selinux 并清空iptabels
1、修改selinux配置文件

vim /etc/selinux/config
#修改SELINUX=enforcing
SELINUX=disabled

保存退出
2、暂时关闭selinx

setenforce 0

3、清空iptables 并保存

iptables -F
service iptables save


五、访问tcexam的安装页面

在浏览器中输入下面的地址,其中IP是你服务器的IP地址

http:\\IP\install\install.php

如果数据库是在本机的话,在页面中只需要修改下面几项:
db password 里面填写mysql的root密码
将“Drop Existing Database”和”Create New Database“ 后面的复选框去掉勾选。
然后单击”INSTALL”按钮完成安装


六、安全方面的设置

按照官方的文档,安装完成后需要进行以下操作,来增强程序的安全性。
1、删除安装目录并删除根目录下的TXT文件

cd /var/www/html
rm -rf install
rm -rf *.TXT

2、设置相关目录的属主和权限

find . -exec chown -R apache:apache {} \;
find . -type f -exec chmod 544 {} \;
find cache/ -type f -exec chmod 644 {} \;
find cache/backup -type f -exec chmod 644 {} \;
find cache/lang -type f -exec chmod 544 {} \;
find admin/log/ -type f -exec chmod 644 {} \;
find public/log/ -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;


七、tcexam配置
1、设置邮件验证

需要修改shared/config/tce_email_config.php

#管理员的邮件地址
$emailcfg['AdminEmail'] = 'lzl001@163.com';

#smtp服务器
$emailcfg['Host'] = 'smtp.163.com';

#smtp服务端口
$emailcfg['Port'] = 25; (端口默认是25)

#邮箱的用户名
$emailcfg['Username'] = 'lzl001@163.com';

#邮箱的密码
$emailcfg['Password'] = '123456';

#是否开启高度模式
$emailcfg['SMTPDebug'] = false;

2、设置默认登录语言为简体中文

需要修改shared/config/tce_config.php

/**
* 2-letters code for default language.
*/
define ('K_LANGUAGE', 'cn');

3、修改导出PDF设置并设置中文字体

系统默认的设置导出的PDF文件内容为乱码,因此需要修改shared/config/tce_pdf.php
先上网下载Drod Sans Fallback-PHP字体文件
把压缩包的三个文件droidsansfallback.php、droidsansfallback.z以及droidsansfallback.ctg.z 解压到fonts目录下

#修改PDF的主标题
define ('PDF_HEADER_TITLE', "主标题");

#修改PDF的副标题(可以设置三个副标题)
define ('PDF_HEADER_STRING', "副标题1\n副标题2\n副标题3");

#设置PDF的log,默认的图标文件放置在images目录下
define ('PDF_HEADER_LOGO', 'logo.png');

#设置默认字体
define ('PDF_FONT_NAME_MAIN', 'stsongstdlight');

define ('PDF_FONT_NAME_DATA', 'stsongstdlight');

4、修改网站的log

默认的图标文件放在./images目录下,文件名为logo_tcexam_118x25.png
图像的大小为118*25,格式为png
5、用户注册设置

修改./shared/config/tce_user_registration.php文件

#是否允许用户自行注册
define ('K_USRREG_ENABLED', true);

#是否使用邮箱认证
define ('K_USRREG_EMAIL_CONFIRM', false);

#默认的用户组ID
#需要先去数据库查看所需用户组的ID
define ('K_USRREG_GROUP', 3);

#用户注册协议地址
define ('K_USRREG_AGREEMENT', '');

#接收注册信息的管理员邮箱
define ('K_USRREG_ADMIN_EMAIL', '');

#需要在注册页面中显示的项目,0 禁用,1 选填项,2 必填项
/**
* Additional fields to display on registration form.
* Legal values are:
* 0 = disabled field;
* 1 = enabled field;
* 2 = required field;
*/
$regfields = array(
'user_email' => 0,
'user_regnumber' => 0,
'user_firstname' => 2,
'user_lastname' => 2,
'user_birthdate' => 0,
'user_birthplace' => 0,
'user_ssn' => 0,
'user_groups' => 0,
'user_agreement' => 0
);

6、tcexam配置文件说明
1)、tcexam主要的配置文件全部放置在./shared/config目录下,以tce_ 开头, .php 结尾
文件名 说明
tce_cas.php  CAS认证中心配置
tce_config  系统通用设置
tce_db_config.php  数据库配置
tce_email_config.php  电子邮件配置
tce_general_constants.php  系统通用常量配置
tce_latex.php  LaTeX公式配置
tce_ldap.php  LDAP 配置
tce_mime.php  MIME 文件扩展名关联
tce_paths.php  配置系统内的文件及文件夹
tce_pdf.php  PDF文件导出设置
tce_radius.php  RADIUS 配置
tce_user_registration.php  用户注册配置
2)、系统管理配置文件

这部分配置文件存放位置为 ./admin/config目录下
文件名 说明
tce_auth.php  管理模块的访问级别配置
tce_config.php  管理面板通用配置
3)、公共区域配置文件
文件名 说明
tce_auth.php  公共模块的访问级别配置
tce_config.php  公共区域驱通用配置


八、tcexam的使用
1、登录

http://IP
默认的用户是:admin 密码是:1234
2、使用

tcexam分为前后台:前台就是进行用户注册和进行考试;后台就是管理用户、题库管理、测试出卷、文字题批阅、成绩汇总查询等。
前台不需要多说,登录后考试即可;
后台的主要部分就是出题和生成试卷。由于实现起来不是很难,稍有电脑基础的用户测试二遍也就可以掌握80%。所以在这里我只是讲一大致流程
1)、生成模块

可以理解为科目,是数学、语文还是英语,这么说懂了吧!
2)、生成主题

可以理解为题库
3)、添加题目

可以理解为题库里的各个考题
4)、添加答案

为在题库里的考题添加标准答案(文字题无需添加答案)
5)、进行完上述操作后,就可以在测试管理里新建测试,从题库里随机抽题进行考试了。


本文永久更新地址:http://www.linuxdiyf.com/linux/21625.html