Sakai-21部署

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 记录了两种部署方式:① 二进制部署② 源文件部署
所需环境:
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登录进去。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
机器学习/深度学习 自然语言处理 Ubuntu
OpenVoice一键部署
OpenVoice一键部署
408 0
|
6月前
|
存储 Kubernetes 物联网
K3S完美部署
K3S完美部署
489 3
|
11月前
|
Kubernetes 网络协议 网络虚拟化
003_部署loadbalance
003_部署loadbalance
102 0
|
11月前
|
Kubernetes Cloud Native Docker
在 K8S 中部署一个应用 下
在 K8S 中部署一个应用 下
|
11月前
|
Kubernetes 调度 Docker
在 K8S 中部署一个应用 上
在 K8S 中部署一个应用 上
|
Python Perl
K3s部署
使用k3s部署python flask项目
K3s部署
|
NoSQL 网络协议 Oracle
umpServer部署及应用
umpServer部署及应用
343 0
|
监控 NoSQL 测试技术
readis部署
redis部署
VuePressBlog部署
VuePressBlog部署
404 0
VuePressBlog部署
|
监控 Kubernetes Docker
k8s的部署
k8s集群解决的问题 Docker之间跨节点的通讯 动态管理集群负载,使集群工作在期望的状态 集群之间资源的调度 集群的运行方式 k8s的节点类型 master节点负责整个集群的控制和管理 node节点是负载节点,运行pod。
1724 0