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升降版本:
https://blog.csdn.net/qq_40262372/article/details/116803151
MySQL安装:
https://zhuanlan.zhihu.com/p/88271915
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目录下即可。
Sakai-21部署

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

二、部署搭建

1、将与 MySQL 版本对应的 MySQL Connector Jar 拷贝至 Tomcat/lib 目录下;
Sakai-21部署

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 ,下载地址如下:https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17310646929/Sakai+21+Install+Guide+Binary
Sakai-21部署

将【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,此处要根据下面步骤建立的数据库名确定连接地址,避免不必要的错误!
Sakai-21部署

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

https://blog.csdn.net/mukes/article/details/115693833 根据这个博主的文章一步步写就可以。

四、部署Sakai

1、将与 MySQL 版本对应的 MySQL Connector Jar 拷贝至 Tomcat/lib 目录下;
Sakai-21部署

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 ,下载地址如下:https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17310646929/Sakai+21+Install+Guide+Binary
Sakai-21部署
将【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,此处要根据下面步骤建立的数据库名确定连接地址,避免不必要的错误!
Sakai-21部署

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 版本。
Sakai-21部署
Sakai-21部署
Sakai-21部署

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

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

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

上一篇:基于MaxCompute InformationSchema进行冷门表热门表访问分析


下一篇:ECS服务器部署MySQL数据库