29bin版安装说明-Windows

0. 说明

Sakai复旦共享版的安装方式与Sakai正式版基本一致,因此,可以完全参照Sakai官方安装文档 进行安装。以下,仅以复旦Sakai共享版的安装情况进行说明。

1. 操作系统

Sakai由Java语言开发,理论上任何安装有JVM虚拟机的操作系统都可以安装。从Sakai社区中提供的信息来看,Linux, Windows, Solaris都有相应的安装实例。复旦大学使用Debian Linux 作为操作系统。Linux下的安装方法可参考bin版安装说明(2.9),以下的说明都将以32位的Windows 7专业版作为范例。

2. 准备运行环境

2.1 安装JVM

推荐安装Java SE 7 。不建议使用Java 6以下版本,因为它们已经不再得到Oracle的支持和更新,存在安全隐患。
复旦版自2.9.3.1后,只支持JDK7

2.2 安装Apache Maven

Sakai使用Apache Maven 进行项目管理。我们可以通过Maven对Sakai进行相关的编译、单元测试、部署等工作。
注意:Sakai 2.8.x使用Maven 2.x;Sakai 2.9.x使用Maven 3.x

请到Maven官方下载页面 获取Maven 3.x的最新zip压缩包,下载后将其解压到任意目录,例如“d:\tools”。下面以Maven的安装路径是“d:\tools\apache-maven-3.0.5”为例进行说明。首先新建名为MAVEN_HOME的系统变量,将其值设为“d:\tools\apache-maven-3.0.5”。再编辑系统变量“path”,在值的末尾添加“;%MAVEN_HOME%\bin”。在进行完整编译Sakai时,由于项目整体较大,Maven在默认配置下可能会出现内存溢出的情况。可添加系统变量“MAVEN_OPTS”,并把值设为“-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m”,来增加Maven使用的内存量。以上各系统变量的值,均不包含双引号在内。

2.3 安装MySQL(可选)

按照Sakai官方文档,目前稳定支持的数据库包括Oracle、MySQL、HSQLDB三种,其中不建议在生产环境中使用HSQLDB。复旦大学使用MySQL作为数据库服务器。在MySQL 5.6官方下载页面 选择“MySQL Installer 5.6 for Windows”,下载后安装即可。

如果不进行任何额外配置,Sakai将使用HSQLDB作为默认数据库。

2.4 安装Apache Tomcat

Sakai 2.9.x目前 只支持 7.0版本的Tomcat。请到官方网站下载最新的Apache Tomcat 7.0

注意:请下载Core版本的Tomcat。下载后将Tomcat解压到任意目录,如D:/tools/tomcat。以下将以%TOMCAT_HOME%来表示这个目录(注意,为避免歧义,这个目录下应该有bin, conf, lib, webapps等文件夹)。

删除Tomcat自带的一些示例,即%TOMCAT_HOME%/webapps目录下所有目录

2.5 安装分布式版本控制软件Mercurial(可选)

为了在进行定制化的同时,又能够获取官方版本的更新。复旦Sakai共享版使用Mercurial 进行版本控制。我们会在积累了一些补丁后发布里程碑版本,但如果希望获得最新版本的源代码,就需要使用Mercurial进行更新。

推荐安装带有图形界面的Mercurial客户端TortoiseHg ,也可以到Mercurial官方下载页面 下载未集成图形界面的Mercurial安装包。

3. 安装复旦共享版Sakai

3.1 下载二进制包

下载页面中下载复旦Sakai共享版的bin版,

3.2 将Sakai部署到Tomcat

3.2.1 增加首页自动跳转页面

由于Sakai的默认首页路径为/portal,所以需要增加首页跳转页面进行自动跳转。
在%TOMCAT_HOME%/webapps目录下创建ROOT目录(注意大小写),然后在ROOT目录下创建文件index.html,内容如下:

<html>
<head>
  <title>Redirecting to /portal</title>
  <meta http-equiv="Refresh" content="0:URL=/portal">
</head>
<body bgcolor="#ffffff" onLoad="javascript:window.location='/portal';">
  <div style="margin:18px;width:288px;background-color:#cccc99;padding:18px;border:thin solid #666600;text-align:justify">
  <p style="margin-top:0px">
    You are being redirected to the Sakai portal. If you are not automatically redirected, use the link below to continue: <br/>
    <a href="/portal">Take me to the Sakai portal</a>
  </p>
</body>
</html>

3.2.2 增加setenv.bat来设定Tomcat运行参数

在%TOMCAT_HOME%/bin目录下新建setenv.bat,内容如下

set JAVA_HOME=%JAVA_HOME%
set JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.language=zh -Duser.region=CN
set CATALINA_HOME=%TOMCAT_HOME%

请将其中%JAVA_HOME%设定为JDK的安装目录;%TOMCAT_HOME%设置为Tomcat的安装目录,请根据具体的机器环境进行设置。

3.2.3 修改server.xml

修改%TOMCAT_HOME%/conf/server.xml,增加对于GET方法的UTF-8字符支持
将下面这段

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

修改为
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" 
           connectionTimeout="20000" 
           redirectPort="8443" />

3.2.4 修改catalina.properties

修改%TOMCAT_HOME%/conf/catalina.properties

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar

修改为
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/common/lib/*.jar

shared.loader=

修改为
shared.loader=${catalina.base}/shared/lib/*.jar

org.apache.catalina.startup.ContextConfig.jarsToSkip=

修改为
org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar

3.2.5 部署Sakai复旦共享版

将此前下载的bin版压缩包解压缩到%TOMCAT_HOME%下,此操作将合并%TOMCAT_HOME%目录下的若干文件夹。

3.3 配置MySQL连接(可选)

3.3.1 配置sakai.properties

在%TOMCAT_HOME%下创建sakai目录,然后在%TOMCAT_HOME%/sakai目录下创建sakai.properties文件
在sakai.properties文件中加入以下内容:

# MySQL settings - make sure to alter as appropriate
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQLDialect
url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=show variables like 'version'
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
username@javax.sql.BaseDataSource=sakai
password@javax.sql.BaseDataSource=********

其中的值请使用相关的MySQL JDBC连接字符串代替。
的值请使用MySQL的用户名代替
的值请使用MySQL的密码代替

以该sakai.properties文件的配置为例,需要在MySQL中新建一个名为“sakai”的schema,并将该shema的全部权限赋予用户“sakai”。当Tomcat启动的时候,Sakai会根据sakai.properties文件中的配置自动生成数据表和添加初始数据。

3.3.2 部署MySQL的JDBC库

从MySQL官方网站 上下载最新的MySQL JDBC库,下载的文件解压缩后可以得到mysql-connector-java-5.1.xx-bin.jar这个文件,将此文件复制到%TOMCAT_HOME%/common/lib目录下

3.4 为Sakai指定导出PDF文件时的默认字体

在Sakai中有部分工具支持PDF导出功能,由于PDF格式的一些限制,对中文的默认支持不理想,需要在操作系统中安装相应的中文字体,并指定在PDF导出时使用的字体。在复旦大学的部署中,我们使用的是“AR PL UMing CN”。此功能是Sakai复旦共享版特有的功能,目前Sakai正式版尚未修正此问题。
在%TOMCAT_HOME%/sakai/目录(此目录可能需要手工创建)下创建sakai.properties文件。
加上如下内容

fop.pdf.default.font=\u5fae\u8f6f\u96c5\u9ed1

其中“\u5fae\u8f6f\u96c5\u9ed1”为“微软雅黑”的Unicode编码,也可以设置为操作系统中已存在的其他名称的中文字体。

4 启动/停止Sakai

通过启动/停止Tomcat来启动/停止Sakai

4.1 启动Tomcat

在%TOMCAT_HOME%/bin目录下,运行

startup.bat

4.2 停止Tomcat

在%TOMCAT_HOME%/bin目录下,运行

shutdown.bat

5 访问Sakai

打开任意网页浏览器,访问 http://localhost:8080