CentOS 6.x安装TCExam
公司培训部最近有在线考试的需求,而目前使用的在线考试的系统没有自动评分功能,全部的试题需要人工进行批阅,效率十分低下。为解决这个问题,我上网找了好多软件进行测试,但效果都不是很理想,直到遇到了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'] = '[email protected]'; #smtp服务器 $emailcfg['Host'] = 'smtp.163.com'; #smtp服务端口 $emailcfg['Port'] = 25; (端口默认是25) #邮箱的用户名 $emailcfg['Username'] = '[email protected]'; #邮箱的密码 $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)、添加答案
为在题库里的考题添加标准答案(文字题无需添加答案)