Sakai-21部署

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent Manager,2核4GB
简介: 记录了两种部署方式:① 二进制部署② 源文件部署
所需环境:
1、Linux 或 Windows Server(本章以Windows平台做部署目标,系统为Windows11);
2、Java 1.8;
3、Tomcat 8/9;(二进制安装选8,源文件安装选9)
4、Maven 3.6;
5、MySQL(可以使用5或者8版本,最好使用5);
6、MySQL Connector Jar(版本对应MySQL);
7、default.sakai.porperties(后面提供下载地址)。

一、Sakai二进制文件环境配置

1、JDK环境配置

装 JDK 和 JRE,安装完成后添加环境变量 JAVA_HOME 为 JDK 安装路径,在系统 PATH 变量中添加 JDK 安装路径 /bin ,在 cmd 中测试 java -version 跳出版本信息即配置完毕。

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_221\
Path:JAVA_HOME\bin
JRE_HOME:C:\Program Files\Java\jdk1.8.0_221

2、Tomcat环境配置

添加环境变量 CATALINA_HOME 为 Tomcat 文件夹路径,在系统 PATH 变量中添加 Tomcat 文件夹路径。然后进入其内的 bin 文件夹,执行 startup.bat ,启动Tomcat 服务器,在浏览器地址栏输入 http://localhost:8080,如果出现 tomcat的主页,则说明安装正确,执行shutdown.bat,即可退出。

CATALINA_HOME: C:\tomcat8

3、Maven环境配置

解压Maven并重命名文件夹为Maven,添加环境变量MAVEN_HOME为Maven文件夹路径,在系统PATH变量中添加MAVEN文件夹路径/bin,在cmd中测试mvn -version跳出版本信息即配置完毕。

4、MySQL环境配置

解压MySQL并重命名文件夹为MySQL,添加环境变量MySQL_HOME为MySQL文件夹路径,在系统PATH变量中添加MySQL文件夹路径/bin。
在MySQL文件夹下建立my.ini配置文件,内容为如下(具体路径按实际情况更改,注意为斜杠):

[mysqld]
basedir=C:/MySQL
datadir=C:/MySQL/data

从cmd中进入MySQL/bin(这一步有坑,如果不不进入bin文件夹进行配置,服务开启会提示找不到文件),键入命令mysqld --initialize,执行MySQL初始化操作,新版的MySQL会在data文件夹中生成一个err后缀的文件,初始密码就在文件中,老版本的没有root用户初始密码。初始化完毕后,使用mysqld --install mysql创建MySQL服务,然后使用net start mysql开启MySQL服务。
服务运行后,输入mysql -u root -p连接数据库,密码根据实际情况输入,如果顺利键入quit退出。

5、Sakai环境配置

将Sakai 20.0 Binary压缩包中所有内容直接解压至Tomcat目录下即可。
image.png

解压Maven并重命名文件夹为Maven,添加环境变量MAVEN_HOME为Maven文件夹路径,在系统PATH变量中添加MAVEN文件夹路径/bin,在cmd中测试mvn -version跳出版本信息即配置完毕。

二、部署搭建

1、将与 MySQL 版本对应的 MySQL Connector Jar 拷贝至 Tomcat/lib 目录下;
image.png

2、在Tomcat/bin文件夹下新建文件setenv.bat,内容如下:

set JAVA_OPTS=-server -Xmx1028m -XX:MaxMetaspaceSize=512m -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dhttp.agent=Sakai -Djava.util.Arrays.useLegacyMergeSort=true -Dfile.encoding=UTF8

3、编辑 Tomcat/conf/content.xml 文件,在块中增加如下内容

<JarScanner>
    <!-- This is to speedup startup so that tomcat doesn't scan as much -->
    <JarScanFilter defaultPluggabilityScan="false" />
</JarScanner>

4、编辑 Tomcat/conf/server.xml 文件,搜索内容 “Connector port” ,在此之后增加 URIEncoding="UTF-8",即

<Connector port="8080" URIEncoding="UTF-8" ...

5、在 Tomcat 路径下新建文件夹 Sakai ,下载一份 default.sakai.properties ,下载地址如下:
image.png

将【default.sakai.properties】重命名为【sakai.properties】
搜索username@javax,取消默认的注释,将数据库的用户名与密码修改为如下(此处可根据实际情况修改):

username@javax.sql.BaseDataSource=sakaiuser
password@javax.sql.BaseDataSource=sakaipassword

搜索MySQL,将注释符号全部去掉,修改后如下:

vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakaidatabase?useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

此处注意!
Git上下载的文件连接地址可能是 mysql://127.0.0.1:3306/sakai 而不是 sakaidatabase,此处要根据下面步骤建立的数据库名确定连接地址,避免不必要的错误!
image.png

6、登陆 MySQL ,键入如下 SQL 命令:

//版本8(不推荐,会少三张表)
create database sakaidatabase default character set utf8
create user 'sakaiuser'@'localhost' identified by 'sakaipassword';
create user 'sakaiuser'@'127.0.0.1' identified by 'sakaipassword';
grant all on sakaidatabase .* to  'sakaiuser'@'127.0.0.1' WITH GRANT OPTION;
grant all on sakaidatabase .* to  'sakaiuser'@'localhost' WITH GRANT OPTION;
flush privileges;

//版本5
create database sakaidatabase default character set utf8;
grant all on sakaidatabase.* to sakaiuser@'localhost' identified by 'sakaipassword';
grant all on sakaidatabase.* to sakaiuser@'127.0.0.1' identified by 'sakaipassword';
flush privileges;

7、运行 Tomcat 目录下的 bin 子目录里的 startup.bat 启动 Sakai ,运行的时间可能是4-5分钟,然后等待启动完成后在浏览器的地址栏输入 http://localhost:8080/portal ,以用户admin密码admin登录进去。

三、Sakai源文件环境配置

1、JDK环境配置(同上)

2、Tomcat环境配置(同上,选择9的版本)

3、Maven环境配置(同上)

4、MySQL环境配置(同上)

5、安装git

四、部署Sakai

1、将与 MySQL 版本对应的 MySQL Connector Jar 拷贝至 Tomcat/lib 目录下;
image.png

3、编辑 Tomcat/conf/content.xml 文件,在块中增加如下内容

<JarScanner>
    <!-- This is to speedup startup so that tomcat doesn't scan as much -->
    <JarScanFilter defaultPluggabilityScan="false" />
</JarScanner>

4、编辑 Tomcat/conf/server.xml 文件,搜索内容 “Connector port” ,在此之后增加 URIEncoding="UTF-8",即

<Connector port="8080" URIEncoding="UTF-8" ...

5、在 Tomcat 路径下新建文件夹 Sakai ,下载一份 default.sakai.properties ,下载地址如下:
image.png
将【default.sakai.properties】重命名为【sakai.properties】
搜索username@javax,取消默认的注释,将数据库的用户名与密码修改为如下(此处可根据实际情况修改):

username@javax.sql.BaseDataSource=sakaiuser
password@javax.sql.BaseDataSource=sakaipassword

搜索MySQL,将注释符号全部去掉,修改后如下:

vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakaidatabase?useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

此处注意!
Git上下载的文件连接地址可能是 mysql://127.0.0.1:3306/sakai 而不是 sakaidatabase,此处要根据下面步骤建立的数据库名确定连接地址,避免不必要的错误!
image.png

6、登陆 MySQL ,键入如下 SQL 命令:

//版本8(不推荐,会少三张表)
create database sakaidatabase default character set utf8
create user 'sakaiuser'@'localhost' identified by 'sakaipassword';
create user 'sakaiuser'@'127.0.0.1' identified by 'sakaipassword';
grant all on sakaidatabase .* to  'sakaiuser'@'127.0.0.1' WITH GRANT OPTION;
grant all on sakaidatabase .* to  'sakaiuser'@'localhost' WITH GRANT OPTION;
flush privileges;

//版本5
create database sakaidatabase default character set utf8;
grant all on sakaidatabase.* to sakaiuser@'localhost' identified by 'sakaipassword';
grant all on sakaidatabase.* to sakaiuser@'127.0.0.1' identified by 'sakaipassword';
flush privileges;

7、新建一个文件夹进入,下载Sakai源文件

git clone https://github.com/sakaiproject/sakai.git

8、打开编辑器(我这里选择的是IDEA),将 Sakai 部署到 tomcat 中,第一次的话速度会非常慢,需要耐心等待。

// mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/your/tomcat

mvn clean install sakai:deploy -Dmaven.tomcat.home=D:\Programs\tomcat8

配置好 Java 及 maven 版本。
image.png
image.png
image.png

9、现在启动Tomcat,进入你的tomcat安装目录的bin目录下,打开cmd:

./startup.sh && tail -f ../logs/catalina.out

Sakai 启动后(通常需要大约 30 秒),打开浏览器并导航到http://localhost:8080/portal ,以用户admin密码admin登录进去。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
SpringBoot 集成log4j2
SpringBoot 集成log4j2
658 0
SpringBoot 集成log4j2
|
XML 应用服务中间件 Apache
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。
|
2月前
|
人工智能 缓存 监控
阿里云大模型服务平台百炼新人免费额度如何申请?申请与使用免费额度教程及常见问题解答
阿里云百炼是一站式大模型开发平台,集成千问及第三方模型,提供OpenAI兼容API及全链路服务,支持快速构建智能体等AI应用。平台为新人提供专属免费额度,自2025年9月8日起有效期为90天,仅限中国内地版模型实时推理费用抵扣,主账号与RAM子账号共享。用户可通过控制台查看剩余额度及过期时间,启用“免费额度用完即停”功能可避免超额扣费。此外,平台还提供免费额度消耗记录、账单查询及消费预警设置,助力开发者高效管理成本。
|
缓存 网络协议 应用服务中间件
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
1688 0
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
|
存储 安全 API
技术经验解读:公钥和私钥的区别
技术经验解读:公钥和私钥的区别
1055 0
|
设计模式 安全 Java
谈谈springboot的代理模式
【4月更文挑战第13天】在Spring Boot和Spring框架中,代理模式是一个核心的设计模式,被广泛用于实现面向切面编程(AOP)的功能。这种模式允许Spring通过代理对象来增强目标对象的行为,比如添加事务管理、安全控制、日志记录等功能,而不需要修改目标对象的代码
866 5
|
机器学习/深度学习 数据可视化 PyTorch
时空图神经网络ST-GNN的概念以及Pytorch实现
本文介绍了图神经网络(GNN)在处理各种领域中相互关联的图数据时的作用,如分子结构和社交网络。GNN与序列模型(如RNN)结合形成的时空图神经网络(ST-GNN)能捕捉时间和空间依赖性。文章通过图示和代码示例解释了GNN和ST-GNN的基本原理,展示了如何将GNN应用于股票市场的数据,尽管不推荐将其用于实际的股市预测。提供的PyTorch实现展示了如何将时间序列数据转换为图结构并训练ST-GNN模型。
1017 1
|
Oracle 网络协议 关系型数据库
Oracle DataGuard主备切换之自动切换
Oracle DataGuard主备切换之自动切换
925 2
Java系列之:字符串UTF-8 编码格式转换位 UTF-32 【生僻字截取问题】
这篇文章讨论了在Java中处理包含生僻字的字符串时可能遇到的问题,并提供了一种解决方法:将字符串的编码格式从UTF-8转换为UTF-32,以确保每个字符都占用固定的字节数,从而避免在截取操作中破坏字符,示例代码展示了如何进行编码转换和字符串截取。
|
Linux Docker 异构计算
模型部署 — PaddleNLP 基于 Paddle Serving 快速使用(服务化部署 - Docker)— 图像识别 + 信息抽取(UIE-X)
模型部署 — PaddleNLP 基于 Paddle Serving 快速使用(服务化部署 - Docker)— 图像识别 + 信息抽取(UIE-X)
705 0

热门文章

最新文章