操作系统:linux(以下命令基于centos) windows
数据库:Oracle Database 10g 以上、mysql 5.5或更高版本
编译运行环境:Java 1.7
Windows7、Windows8,IE7以上版本、chrome、firefox浏览器
系统环境配置
linux下使用sakai用户,用户主目录/home/sakai;
windows下安装到某分区的sakai目录下。
如果按照这个假定条件安装,大部分配置不需要修改即可运行。
2.mysql数据库在unix环境默认是区分大小写的,而winodws下面是不区分的。为了设置unix下面不区分大小写,在配置文件my.conf中的mysqld字段增加lower_case_table_name=1
2. 下载安装包(sakai-r1.zip)和相应的jdk版本
- 北邮sakai10正式版安装包点击下载
- JDK安装包点击下载-linux32位
- JDK安装包点击下载-linux64位
- JDK安装包点击下载-windows32位
- JDK安装包点击下载-windows64位
3. 解压安装包(sakai10.zip)
Linux:
Windows:
用解压工具解压,解压到某分区的sakai目录下
4. 安装jdk
给解压后的文件夹重名
[sakai@ks1 ~]$mv jdk-7u**** jdk1.7
Windows:
用解压工具解压,然后重命名为jdk1.7,并且jdk1.7文件夹和tomcat7文件夹同放在sakai目录下。
5. Tomcat配置文件
一般 ms <= mx ; PermSize<=MaxPermSize; NewSize<=MaxNewSize; PermSize+NewSize<=ms/2
32位: mx 设置大了起不来,可设置为1024,同时 PermSize NewSize 也要相应减小
64位: mx 建议最小设置为2048, 但要小于系统剩余可用内存
另外服务器上正式运行,建议 ms = mx
# 修改设置JVM内存分配export JAVA_OPTS='-server -Xms1024m -Xmx2048m -XX :P ermSize=256m -XX:MaxPermSize=512m -Dhttp.agent=Sakai -XX:NewSize=512m -XX:MaxNewSize=512m -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dsun.lang.ClassLoader.allowArraySyntax=true -Dfile.encoding=utf-8 -Dsun.jnu.encoding=utf-8 -Duser.language=zh -Djava.util.Arrays.useLegacyMergeSort=true'
set USER_DIR=/sakai
rem # 修改设置JVM内存分配
set JAVA_OPTS=-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Dhttp.agent=Sakai -XX:NewSize=512m -XX:MaxNewSize=512m -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.language=zh -Djava.util.Arrays.useLegacyMergeSort=true
<Context path="/static" docBase="/home/sakai/mount/www" />这里的 docBase 改为真实路径,
windows下例如:"E:/sakai/mount/www",linux下例如:"/home/sakai/mount/www"。
该配置文件中的所有端口可根据你所部署服务器端口占用情况进行调整,一般默认即可。6. 修改Sakai配置文件tomcat7/sakai/local.properties
其中 127.0.0.1:3306/sakai 改为真实的数据库地址和数据库名称
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/sakai?useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=show variables like 'version'
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
如果使用Oracle数据库,添加以下配置:
其中 127.0.0.1:1521:secondly 改为真实的数据库地址和数据库名称
vendor@org.sakaiproject.db.api.SqlService=oracle
driverClassName@javax.sql.BaseDataSource=oracle.jdbc.driver.OracleDriver
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
url@javax.sql.BaseDataSource=jdbc:oracle:thin:@127.0.0.1:1521:sakai
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
设置数据库访问用户密码:
# 数据库登录用户 username@javax.sql.BaseDataSource=sakai
# 数据库登录密码 password@javax.sql.BaseDataSource=sakai
在sakai.properties文件里
初次运行请设置自动创建数据表: auto.ddl=true
以后运行需要将auto.ddl 设置为:auto.ddl=false
7. sakai-resource(课程空间) 工具自动建表需要修改以下配置
"/home/sakai/tomcat7/webapps/sakai-resource/WEB-INF/components.xml
初次运行应把 hibernate.hbm2ddl.auto设置为update
以后不需要每次都更新数据表结构可设置为 none,加快启动速度
8. 修改各种资源文件保存路径
/tomcat7/webapps/sakai-resource/WEB-INF/classes/pathconfig.properties
/tomcat7/webapps/sakai-resource/WEB-INF/components.xml
/tomcat7/webapps/sakai-resource/resource/scripts/ckfinder/config.xml
9. 课程空间集成外部题库系统配置说明
/tomcat7/webapps/sakai-resource/WEB-INF/components.xml
这里value值是连接外部题库时使用的题库系统中的用户名,如果设置为空,则使用sakai当前用户(需要在题库中建立同名用户)。
这里value值是对应的外部题库系统地址。如果不配置外部题库系统则把路径设为空,此时题库相关功能(作业、自测)则自动关闭。
访问地址:http://localhost:8080/portal
初始用户:密码 => admin:admin
备注:
1:该版本自动初始化数据库后,缺少一个表,造成不能登录,需要手工执行以下SQL初始化表
CREATE TABLE SAKAI_SESSION
(
SESSION_ID VARCHAR (36),
SESSION_SERVER VARCHAR (64),
SESSION_USER VARCHAR (99),
SESSION_IP VARCHAR (128),
SESSION_HOSTNAME VARCHAR (255),
SESSION_USER_AGENT VARCHAR (255),
SESSION_START DATETIME,
SESSION_END DATETIME,
SESSION_ACTIVE TINYINT(1)
);
CREATE UNIQUE INDEX SAKAI_SESSION_INDEX ON SAKAI_SESSION
(
SESSION_ID
);
CREATE INDEX SAKAI_SESSION_SERVER_INDEX ON SAKAI_SESSION
(
SESSION_SERVER
);
CREATE INDEX SAKAI_SESSION_START_END_IE ON SAKAI_SESSION
(
SESSION_START,
SESSION_END,
SESSION_ID
);
CREATE INDEX SESSION_ACTIVE_IE ON SAKAI_SESSION
(
SESSION_ACTIVE
);
2: 该版本的mysql数据库必须创建一个sakai用户,把所有权限都赋予这个用户,sakai.properties配置文件的内容如下:
username@javax.sql.BaseDataSource=sakai
password@javax.sql.BaseDataSource=sakai
必须用sakai用户,否则失败。