阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.x安装TCExam

162次阅读
没有评论

共计 4712 个字符,预计需要花费 12 分钟才能阅读完成。

公司培训部最近有在线考试的需求,而目前使用的在线考试的系统没有自动评分功能,全部的试题需要人工进行批阅,效率十分低下。为解决这个问题,我上网找了好多软件进行测试,但效果都不是很理想,直到遇到了 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)、进行完上述操作后,就可以在测试管理里新建测试,从题库里随机抽题进行考试了。

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132412.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4712字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中