Sakai-21部署

简介: 记录了两种部署方式:① 二进制部署② 源文件部署
所需环境:
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
477 0
SpringBoot 集成log4j2
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
165004 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
存储 安全 API
技术经验解读:公钥和私钥的区别
技术经验解读:公钥和私钥的区别
716 0
|
应用服务中间件 Linux iOS开发
使用 setenv 配置文件管理 Tomcat 的自定义环境变量
【8月更文挑战第29天】通过在Tomcat安装目录的`bin`文件夹下创建`setenv.sh`或`setenv.bat`文件,可以轻松管理Tomcat的自定义环境变量。针对Linux/macOS系统,需编辑`setenv.sh`文件,如`export MY_CUSTOM_VAR=&quot;my custom value&quot;`;而在Windows系统中,则编辑`setenv.bat`,如`set MY_CUSTOM_VAR=my custom value`。
853 1
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL8 中文参考(二十八)(5)
MySQL8 中文参考(二十八)
221 1
|
存储 算法 Java
Java性能优化(三):Java基础-HashMap的设计与优化
HashMap核心特性数据结构:HashMap采用哈希表数据结构来存储键值对,利用哈希函数和哈希表快速定位元素位置,提供高效的键值对查询。参数设置初始容量:HashMap允许用户根据使用场景设定初始容量,以优化性能。在预知数据量时,可以通过计算(初始容量=预知数据量/加载因子)来设定合适的初始容量,以减少扩容操作,提高效率。加载因子:加载因子定义了哈希表何时进行扩容的阈值。加载因子较小时,哈希表会更早地进行扩容,减少哈希冲突;加载因子较大时,会提高内存利用率但可能增加哈希冲突。
677 2
|
缓存 开发框架 NoSQL
75道Java常考面试题+18篇面试疑难点解析|面试必看
Java工程师面试就看这一篇,75道常考面试题+18篇面试疑难点解析,正逢金三银四招聘季,小编会继续更新面试真题,也请大家多关注,一定要助你过关斩将,拿下心仪offer!
|
机器学习/深度学习 自然语言处理 TensorFlow
使用Python实现深度学习模型:注意力机制(Attention)
使用Python实现深度学习模型:注意力机制(Attention)
1088 0
使用Python实现深度学习模型:注意力机制(Attention)
|
设计模式 安全 Java
谈谈springboot的代理模式
【4月更文挑战第13天】在Spring Boot和Spring框架中,代理模式是一个核心的设计模式,被广泛用于实现面向切面编程(AOP)的功能。这种模式允许Spring通过代理对象来增强目标对象的行为,比如添加事务管理、安全控制、日志记录等功能,而不需要修改目标对象的代码
652 5