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

CentOS 6.x安装TCExam

470次阅读
没有评论

共计 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、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7962965
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...