1.
概述
1.1.
选择一种安装类型
Sakai 2.2.1
提供三种不同的安装类型:
Demo:
|
Demo
版包括了
tomcat
和预装好的
webapps
,所以唯一预先要做的就是提供
JDK1.4.2
或者更高版本的
java
环境。但是该版本只适合小范围应用,适合于进行软件评估和单服务器的应用。
|
Binary:
|
如果你有一个已经配置好的
tomcat
,这种安装类型提供了一个简单的安装方式,即直接解压
sakai
应用包到
tomcat
,而不需要通过专业的
build
,适合于不需要代码级改动的应用要求。
|
Source:
|
这种方式只提供源代码,安装前须提供
tomcat
、专业
build
工具、数据库。用户可以通过
build
配置来自定义需安装的组件。
|
1.2. Demo
安装
Demo
安装是非常简单直接的,其最关键的就是确保正确的
java
环境。安装步骤如下:
1.
配置
java
的安装路径(
JAVA_HOME
),详见第二部分要求。
2.
下载并解压
demo
压缩包。
Windows:
|
demo archive
|
Mac/*nix:
|
demo archive
|
3.
用以下命令启动
tomcat
,脚本在
tomcat
根目录。
Windows:
|
start-sakai.bat
|
Mac/*nix:
|
start-sakai.sh
|
Tomcat
启动后,可以通过地址:
http://localhost:8080/portal
来进行访问。具体怎么使用
sakai
,参见第六部分说明。
停止
sakai
的方式:
:
Demo
安装特别注意事项:
数据存储
|
Demo
安装版的数据保存在
HypersonicSQL database (HSQLDB)
中,运行时,数据存放在内存中,
tomcat
停止时写回文件,文件位于:
sakai-demo/sakai/db/sakai.db.*
.
|
没有
email
配置
|
Sakai
的
demo
版没有配置
email
|
1.3.
二
进制安装
对于已经有了配置好的
tomcat
服务器的用户,二进制安装提供了一种快捷的安装模式。
Tomcat
的具体配置要求详见第二部分说明。通过解压预先编译好的
sakai
安装包到
tomcat
的根目录即可。
如果你希望配置自己的安装目录,你必须手工配置
CATALINA_HOME
,以指定你的
sakai
安装目录,具体见第四部分说明。
1.4.
源代码安装
Demo
和二进制安装提供了一种快速的方式来使用
sakai
,但是这两种安装方式都不能作代码级的改变。源代码安装方式提供了一种定制安装,这种安装方式相对复杂,具体有以下几个大的步骤:
1.
配置安装环境,包括
java
、
tomcat
和专业编译工具。
2.
编译和发布,通过专业编译工具来发布
sakai
。
3.
根据需要,对
sakai
应用进行安装后配置。
4.
如果需要,进行数据库配置。
1.5.
从以前版本移植
2.2.1 a
dds only bug fixes to 2.2.0, and so a transition between the two should be straightforward. If you have been running 2.2.0 already, you should be able to deploy 2.2.1 with confidence: it will not break your skins, providers, or other 2.2 code.
If you are moving from an earlier 2.1 or 2.0 codebase, however, 2.2 involves some significant changes: in tools, DB schema, and APIs. Migrating to 2.2 from a previous release therefore requires close attention to detail. Be sure to go over the release notes carefully, and a few key hurdles are identified below:
sakai.properties:
|
The 2.2 framework refactoring means that many package names have changed, and these differences will mainly be encountered in
sakai.properties
settings which reference beans. It's best to not try to use a
sakai.properties
from a previous release, and instead start with the sample in
reference/docs/sakai.properties
.
|
DB conversion scripts:
|
Every release has DB conversion scripts, and 2.2.1 is no exception. Be sure, however, to read these scripts over carefully before executing them on your production data. They do not take into account any special customizations you may have done, and you may need to alter them for your situation. See the Database Configuration section for more details.
|
Provisional tools:
|
A few contrib tools that schools may have already put into production are now provisional with 2.2 releases. The DB conversion scripts in particular assume that these new provisional tools are not represented in your schema, and attempt to introduce them. If you have already deployed
Message
Center
,
Post 'Em
,
Search
, or
Summary Calendar
on a production system, you'll want to be sure to avoid running the portions of the conversion scripts that pertain to them. Again, see the Database Configuration section for more details.
|
Providers:
|
Among the changes that 2.2 introduces is a separation of external user identifiers from Sakai's internal user ids. Any custom
UserDirectoryProvider
will need some alteration to account for this, along with changes to its import statements and declarations that stem from API changes. See the release notes for more details.
|
2.
安装环境配置
2.1.
验证
java
安装版本
检查你的系统中是否装有
java
(版本在
1.4.2
或更高),以下以
*nix
系统为例:
$ java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
如果你选择了源代码安装方式,必须确保你安装了
J2SE
,而不仅仅是
JRE
。
2.2.
验证
java
环境变量
有两个
java
环境变量
JAVA_HOME
、
PATH
需要配置。
配置方式如下:
Windows:
|
Set the (or create a new) environment variable
JAVA_HOME
to
C:/jdk1.5.0_06
.
|
Mac/*nix:
|
export JAVA_HOME=/usr/java/java-current
|
Windows:
|
Append the string
;C:/jdk1.5.0_06/bin
to the end of the system variable named Path.
|
Mac:
|
Not necessary.
|
*nix:
|
export PATH=$PATH:$JAVA_HOME/bin/
|
2.3.
安装
Tomcat
Sakai 2.2.1
推荐使用
Tomcat 5.5.17
。具体安装方法略。
2.4.
配置
Tomcat
Sakai
支持
UTF-8
字符集,所以必须配置
tomcat
接受
UTF-8 URLs
,因为
tomcat
将
ISO-8859-1
作为其缺省的
URL
编码。通过编辑
$CATALINA_HOME/conf/server.xml
文件,增加
URIEncoding="UTF-8"
属性到
<connector>
标记里面,即可改变
tomcat
的
URL
字符集的配置。以下是示例:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
2.5.
安装
Maven
Maven
是
sakai
用的一种
build
工具。当前
sakai
要求的稳定版本是
1.0.2
,可以从
http://maven.apache.org/start/download.html
下载
Maven
的更新版本
当前已经有了
maven1.1beta
版和
moven2.0
版,但是对于
sakai2.2
来说,
maven1.0.2
版才能真正适合
sakai
的许多插件。
Moven
的安装就是直接解压到一个指定位置即可。
2.6.
配置
Maven
为了使用
maven
,你必须配置两个环境变量,并且利用
maven
提供的脚本创建一个本地存储区。以下是环境变量和创建
maven
存储区的示例:
Windows:
|
Create a new
MAVEN_HOME
environment variable to
C:/maven-1.0.2
. Then append to the PATH variable
;C:/maven-1.0.2/bin
|
Mac/*nix:
|
export MAVEN_HOME=/usr/local/maven; export PATH=$PATH:$MAVEN_HOME/bin
|
Windows:
|
install_repo.bat %HOMEDRIVE%%HOMEPATH%/.maven/repository
|
Mac/*nix:
|
install_repo.sh $HOME/.maven/repository
|
你需要在你的根目录下创建一个
build
属性文件,在这个文件里,将定义一些
sakai
编译的基本参数。在根目录创建一个名为
build.properties
的文本文件,
拷贝以下内容到文件中:
maven.repo.remote=http://source.sakaiproject.org/maven/
maven.tomcat.home=
/usr/local/tomcat/
最后,为了确保你能够起动
maven
,运行
maven –v
命令,将起动
maven
并报告其版本。
注:需下载的相关依赖:(以下列出的依赖文件最好事先下载,并存放到相关目录(目录为
.maven/repository
,从
http://source.sakaiproject.org/maven/
处下载)
tomcat/zips/
apache-tomcat-5.5.17.zip
tomcat/zips/
apache-tomcat-compat-5.5.17.zip
tomcat/jars/naming-resources-tomcat-5.5.17.jar
tomcat/jars/catalina-tomcat-5.5.17.jar
tomcat/jars/catalina-optional-tomcat-5.5.17.jar
tomcat/jars /
jmx-tomcat-5.5.17.jar
sakaiproject/plugins/sakai-2.2.jar
commons-jelly/jars/commons-jelly-tags-jsl-20030211.143151.jar
commons-jelly/jars/commons-jelly-tags-log-20030211.142821.jar
commons-jelly/jars/commons-jelly-tags-velocity-20030303.205659.jar
commons-jelly/jars/commons-jelly-tags-antlr-20030211.143720.jar
commons-dbcp/jars/commons-dbcp-1.2.1.jar
commons-dbcp/jars/commons-dbcp-1.2.jar
commons-dbcp/jars/commons-dbcp-1.1.jar
commons-pool/jars/commons-pool-1.2.jar
commons-pool/jars/commons-pool-1.3.jar
commons-net/jars/commons-net-1.1.0.jar
commons-logging/jars/commons-logging-1.0.4.jar
commons-el/jars/commons-el-1.0.jar
commons-id/jars/commons-id-0.1-dev.jar
commons-fileupload/jars/commons-fileupload-1.0.jar
commons-fileupload/jars/commons-fileupload-1.1.jar
commons-digester/jars/commons-digester-1.6.jar
commons-collections/jars/commons-collections-3.1.jar
commons-collections/jars/commons-collections-2.1.1.jar
commons-beanutils/jars/commons-beanutils-1.7.0.jar
commons-lang/jars/commons-lang-2.1.jar
commons-codec/jars/commons-codec-1.2.jar
commons-codec/jars/commons-codec-1.3.jar
commons-validator/jars/commons-validator-1.3.0.jar
commons-validator/jars/commons-validator-1.0.2.jar
commons-io/jars/commons-io-1.1.jar
commons-discovery/jars/commons-discovery-0.2.jar
commons-jxpath/jars/commons-jxpath-1.1.jar
commons-resources/jars/commons-resources-0.1-dev.jar
commons-math/jars/commons-math-1.0.jar
velocity/jars/velocity-1.4-dev.jar
velocity/jars/velocity-1.3.1.jar
velocity/jars/velocity-dep-1.3.1.jar
velocity-dvsl/jars/velocity-dvsl-0.45.jar
velocity/jars/velocity-1.4.jar
isorelax/jars/isorelax-20030108.jar
thaiopensource /jars/jing-20030619.jar
jsch/jars/jsch-0.1.5.jar
taglibrarydoc/jars/tlddoc-1.2.jar
servletapi/jars/servletapi-2.4.jar
org.springframework/jars/spring-1.2.8.jar
junit/jars/junit-3.8.1.jar
antlr/jars/antlr-2.7.2.jar
antlr/jars/antlr-2.7.6rc1.jar
jdom/jars/jdom-1.0.jar
org.hibernate/jars/hibernate-3.1.3.jar
jsf/jars/ jsf-api-1.1.01.jar
myfaces/jars/
myfaces-all-1.1.1.jar
myfaces/jars/myfaces-1.0.9.jar
myfaces/jars/tomahawk-1.1.1.jar
jspapi/jars/jsp-api-2.0.jar
jsf/jars/jsf-impl-1.1.01.jar
jstl/jars/jstl-1.0.2.jar
jstl/jars/jstl-1.1.2.jar
taglibs/jars/standard-1.0.4.jar
taglibs/jars/standard-1.1.2.jar
concurrent/jars/concurrent-1.3.4.jar
logkit/jars/logkit-1.2.jar
oro/jars/oro-2.0.8.jar
oro/jars/oro-2.0.7.jar
oro/jars/oro-2.0.6.jar
javamail/jars/mail-1.3.1.jar
activation/jars/activation-1.0.2.jar
hsqldb/jars/hsqldb-1.7.3.3.jar
hsqldb/jars/hsqldb-1.7.3.0.jar
cglib/jars/cglib-nodep-2.1_3.jar
cglib/jars/cglib-full-2.0.2.jar
dom4j/jars/dom4j-1.6.1.jar
dom4j/jars/dom4j-1.6.jar
dom4j/jars/dom4j-1.4.jar
ehcache/jars/ehcache-1.1.jar
jdbc/jars/jdbc2_0-stdext-h2.1.8.jar
jta/jars/jta-h2.1.8.jar
jta/jars/jta-1.0.1b.jar
xalan/jars/xalan-2.6.0.jar
xalan/jars/xalan-2.3.1.jar
xerces/jars/xercesImpl-2.6.2.jar
xerces/jars/xmlParserAPIs-2.6.2.jar
xerces/jars/xercesImpl-2.0.2.jar
xml-apis/jars/xml-apis-2.0.2.jar
aopalliance/jars/
aopalliance-1.0.jar
portlet-api/jars/portlet-api-1.0.1.jar
org.springframework/jars/spring-mock-1.2.6.jar
avalon-framework/jars/
avalon-framework-20020627.jar
avalon-framework/jars/avalon-framework-api-4.2.0.jar
avalon-framework/jars/avalon-framework-impl-4.2.0.jar
avalon-framework/jars/avalon-framework-4.1.3.jar
avalon-phoenix/jars/avalon-phoenix-bsh-commands-4.0.4.jar
avalon-phoenix/jars/avalon-phoenix-client-4.0.4.jar
avalon-phoenix/jars/avalon-phoenix-loader-4.0.4.jar
avalon-phoenix/jars/avalon-phoenix-engine-4.0.4.jar
fop/jars/fop-0.20.5.jar
fop/jars/fop-20060405.jar
fop/jars/xmlgraphics-commons-snapshot.jar
batik/jars/batik-1.5-fop-0.20-5.jar
batik/jars/batik-awt-util-1.6.jar
batik/jars/batik-bridge-1.6.jar
batik/jars/batik-css-1.6.jar
batik/jars/batik-dom-1.6.jar
batik/jars/batik-ext-1.6.jar
batik/jars/batik-extension-1.6.jar
batik/jars/batik-gui-util-1.6.jar
batik/jars/batik-gvt-1.6.jar
batik/jars/batik-parser-1.6.jar
batik/jars/batik-rasterizer-1.6.jar
batik/jars/batik-rasterizer-ext.jar
batik/jars/batik-script-1.6.jar
batik/jars/batik-slideshow-1.6.jar
batik/jars/batik-squiggle-1.6.jar
batik/jars/batik-squiggle-ext-1.6.jar
batik/jars/batik-squiggle-ext.jar
batik/jars/batik-svg-dom-1.6.jar
batik/jars/batik-svggen-1.6.jar
batik/jars/batik-svgpp-1.6.jar
batik/jars/batik-swing-1.6.jar
batik/jars/batik-transcoder-1.6.jar
batik/jars/batik-ttf2svg-1.6.jar
batik/jars/batik-util-1.6.jar
batik/jars/batik-xml-1.6.jar
odmg/jars/odmg-3.0.jar
log4j/jars/log4j-1.2.9.jar
poi/jars/poi-2.5.1.jar
poi/jars/poi-3.0-alpha1-20060424.jar
poi/jars/poi-scratchpad-3.0-alpha1-20060424.jar
lucene/jars/lucene-1.4.3.jar
lucene/jars/lucene-core-1.9.1.jar
lucene/jars/lucene-misc-1.9.1.jar
easymock/jars/easymock-1.1.jar
jtidy/jars/jtidy-4aug2000r7-dev.jar
pdfbox/jars/pdfbox-0.7.1.jar
james-phoenix/jars/cornerstone-jp2.1.3.jar
james-phoenix/jars/excalibur-baxter-1.0a.jar
james-phoenix/jars/jing-jp2.1.3.jar
james-phoenix/jars/james-2.1.3.j
dnsjava/jars/dnsjava-1.2.3.jar
excalibur-datasource/jars/excalibur-datasource-1.1.1.jar
excalibur-cli/jars/excalibur-cli-1.0.jar
excalibur-collections/jars/excalibur-collections-1.0.jar
excalibur-concurrent/jars/excalibur-concurrent-1.0.jar
excalibur-configuration/jars/excalibur-configuration-1.0.jar
excalibur-containerkit/jars/
excalibur-containerkit-1.0.jar
excalibur-extension/jars/excalibur-extension-1.0.jar
excalibur-i18n/jars/excalibur-i18n-1.0.jar
excalibur-instrument/jars/excalibur-instrument-0.1.jar
excalibur-io/jars/excalibur-io-1.1.jar
excalibur-logger/jars/excalibur-logger-1.0.jar
excalibur-pool/jars/excalibur-pool-1.0.jar
excalibur-thread/jars/excalibur-thread-1.0.jar
excalibur/jars/excalibur-threadcontext-1.0.jar
excalibur-util/jars/excalibur-util-1.0.jar
mx4j/jars/mx4j-jmx-2.0.1.jar
mx4j/jars/mx4j-tools-1.1.1.jar
rome/jars/rome-0.7.jar
OKI/jars/OkiOSID-2.0.ja
OKI/jars/okiRegistry-2005-10-19.jar
OKI/jars/okiSearchAdjusters-2005-10-19.jar
OKI/jars/OkiSID-rc6.1.jar
nekohtml/jars/nekohtml-0.9.5.jar
axis/jars/axis-1.3.jar
axis/jars/axis-1.1.jar
axis/jars/axis-ant-1.1.jar
axis/jars/axis-jaxrpc-1.3.jar
axis/jars/axis-saaj-1.3.jar
axis/jars/axis-wsdl4j-1.5.1.jar
axis/jars/
axis-saaj-1.2-RC1.jar
axis/jars/axis-jaxrpc-1.2-RC1.jar
navigo/jars/OKI-SPRING-HIBERNATE-0.jar
navigo/jars/SakaiBaseFramework-1.0.a1.jar
jaxen/jars/jaxen-1.0-FCS-full.jar
ojb/jars/db-ojb-1.0.rc6.jar
saxpath/jars/saxpath-1.0-FCS.jar
struts/jars/struts-1.1.jar
wsdl4j/jars/wsdl4j-1.4.jar
quartz/jars/quartz-1.4.0.jar
quartz/jars/quartz-1.5.1.jar
websphinx/jars/websphinx-0.5.jar
openldap/jars/ldap-2005.03.29.jar