当下,为了避免关键技术受到海外制约,同时也是为了保护信息安全,软件国产化已经成为一种必然趋势。国家也陆续出台相关政策推进信创行业的发展。而阔知科技作为一家数字化学习技术服务商,也一直在为国产软件的生态发展贡献自己的一份力量。
截至目前,EduSoho在服务器硬件环境层面,已适配飞腾、鲲鹏、海光、龙芯架构、TaiShan100 Server、浪潮英信服务器等国产服务器硬件;在数据库层面,已适配TiDB及Oceanbase数据库;再加上对银河麒麟高级服务器操作系统的适配,EduSoho实现了从硬件环境、软件中间件到数据库的全面国产化环境适配。
本篇文章主要介绍在银河麒麟V10 aarch64 + TiDB国产化环境下安装EduSoho。
安装nginx
1.安装GCC编译器
|
2.安装pcre包 和 zlib包
|
3.下载源码包: nginx: download 选择stable版本
4.编译nginx
|
输出结果:
5.启动nginx
nginx所在目录为 /usr/local/nginx, 进入目录启动nginx
|
访问服务器80端口验证nginx是否正常启动
安装PHP7.2
1.安装依赖
|
2.安装PHP及扩展
|
部分扩展需要编译安装
3.编译安装 php-zip扩展
先安装libzip依赖
|
|
编译成功输出:
添加配置
|
4.重启FPM服务
|
php --ini输出
此扩展影响功能:题库导入,系统升级插件安装。后续可以以此功能验证。
安装TiDB数据库
以下教程只适用于验证国产化可行性。实际生产环境配置参考官方文档 TiDB 社区版 | PingCAP,
1. 下载并安装TiUP。
|
安装完成后会提示如下信息:
Successfully set mirror to https://tiup-mirrors.pingcap.com Detected shell: zsh Shell profile: /Users/user/.zshrc /Users/user/.zshrc has been modified to add tiup to PATH open a new terminal or source /Users/user/.zshrc to use it Installed path: /Users/user/.tiup/bin/tiup ===============================================
Have a try: tiup playground ===============================================
2. 声明全局环境变量。
|
3. 在当前session执行以下命令启动集群。
• 直接执行tiup playground命令会运行最新版本的TiDB集群,其中TiDB、TiKV、PD和TiFlash实例各 1 个:
|
结果参考:
|
4.TiDB高度兼容MySQL5.7协议、MySQL5.7常用的功能及语法。MySQL5.7生态中的系统工具(PHPMyAdmin、 Navicat、MySQL Workbench、mysqldump、Mydumper/Myloader)、客户端等均适用于 TiDB。
但TiDB尚未支持一些MySQL功能,可能的原因如下:
– 有更好的解决方案,例如JSON取代XML函数。
– 目前对这些功能的需求度不高,例如存储流程和函数。 – 一些功能在分布式系统上的实现难度较大。
不支持的功能特性
• 存储过程与函数 • 触发器
• 事件
• 自定义函数
• 外键约束#18209
• 全文语法与索引#1793
• 空间类型的函数(即GIS/GEOMETRY)、数据类型和索引#6347
• 非ascii、latin1、binary、utf8、utf8mb4、gbk的字符集
• SYSschema
• MySQL追踪优化器
• XML函数
• X-Protocol#1109
• Savepoints#6840
• 列级权限#9766
• XA语法(TiDB内部使用两阶段提交,但并没有通过SQL接口公开) • CREATE TABLE tblName AS SELECT stmt语法#4754
• CHECK TABLE语法#4673
• CHECKSUM TABLE语法#1895
• REPAIR TABLE语法
• OPTIMIZE TABLE语法
• HANDLER语句
• CREATE TABLESPACE语句
使用mysql工具导入安装包里的
edusoho.sql, 我这里使用的是Sequel Ace进行导入,导入过程无任何报错,表结构也都顺利创建。 至此,基础环境已经准备完。
安装EduSoho
1.参考安装文档进行安装,安装EduSoho · EduSoho开发指南。其中 bin/phpmig migrate 不需要执行,因为已经使用安装包里的edusoho.sql创建表结构
2.初始化配置
app/console system:init
3.后续配置步骤和安装文档内一致。配置完后进行测试。
初步测试成功!基本教学流程功能测试均通过。