OS:一份钱系统Centos64

tomcat 7

jdk1.8.5

注意:sakai不支持tomcat6(原因:jdbc pool报告错误,而tomcat7开始才支持jdbc pool)

源码:使用北邮源码

0. 说明

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

1. 安装操作系统

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

在Debian的官方网站上,有详尽的安装指导。

2. 准备运行环境

2.0 安装sudo(可选)

基于安全考量,强烈建议在操作系统安装完毕后,安装sudo 。使用root帐号进行日常操作存在很大的安全隐患。
下文给出的命令中,若以#开始,则表示需要以管理员身份执行,若以$开始则表示可以以一般用户在有权限的目录中执行。一般用户可以通过sudo命令进行权限提升。#与$都是命令行提示符,不属于命令的一部分。

# apt-get install sudo

2.1 安装JVM

Open JDK 6和Open JDK 7都能够符合Sakai的要求,但Oracle已停止公开发布Oracle JDK的补丁,建议使用Open JDK 7
复旦版自2.9.3.1后,只支持JDK7

# apt-get install openjdk-7-jdk

2.2 安装Apache Maven

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

# apt-get install maven

2.3 安装MySQL(必选)

按照Sakai官方文档,目前稳定支持的数据库包括Oracle、MySQL、HSQLDB三种,其中不建议在生产环境中使用HSQLDB。复旦大学使用MySQL作为数据库服务器。
Debian 7中的MySQL版本为5.5

# apt-get install mysql-server

为了使MySQL的默认字符编码为UTF-8,需要在MySQL的配置文件(/etc/mysql/my.cnf)中加入如下配置:
在mysqld段中加入

character-set-server=utf8

service mysqld start

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

2.4 安装Apache Tomcat

Sakai 10.x目前 只支持 7.0版本的Tomcat。注意: 不要 使用apt-get安装Tomcat,否则配置极其复杂。

centos6使用epel安装,如我前文所表示

vi /etc/profile

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/java/jdk1.8.0_05
export TOMCAT_HOME=/usr/share/tomcat
export CATALINA_HOME=/usr/share/tomcat6
export HADOOP_HOME=/usr/local/hadoop/hadoop-1.0.1
export JRE_HOME=$JAVA_HOME/jre
export ANT_HOME=/usr/local/ant
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$ANT_HOME/bin:/usr/lib64/qt4/bin/:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME HADOOP_HOME PATH CLASSPATH ANT_HOME

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

$ rm -rf %TOMCAT_HOME%/webapps/* 

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

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

下面使用apt-get安装mercurial

# apt-get install mercurial

3. 安装复旦共享版Sakai

3.1 下载源代码

从下载页面中下载复旦Sakai共享版的src版,
也可以使用Mercurial下载最新版本

$ hg clone http://sakai.fudan.edu.cn/fudan-sakai

此处使用了北邮的源码

[root@gdc1000 tomcat]# ls /home/gftp/kb/devkb/sakai/
                       sakai-bupt-src-10.3-fudan.r1.zip  
[root@gdc1000 tomcat]# ls /home/gftp/kb/devkb/sakai/

此命令将在当前目录下创建名为fudan-sakai的目录,并将最新版本的源代码更新到其中。下文将以%SAKAI_SRC%来表示此目录。

3.2 使用Apache Maven编译源代码并部署到Tomcat

3.2.1 修改Maven的默认配置

在进行完整编译Sakai时,由于项目整体较大,Maven在默认配置下可能会出现内存溢出的情况。可以通过下面命令增加Maven使用的内存量

$ export MAVEN_OPTS='-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m'

3.2.2 编译并部署代码

在%SAKAI_SRC%目录下运行下面的命令进行编译并将结果部署到Tomcat,命令中的%TOMCAT_HOME%请替换为相对应的Tomcat目录

$ mvn install sakai:deploy -Dmaven.tomcat.home=%TOMCAT_HOME% -DskipTests

在此命令的执行过程中,程序将自动下载一些运行所需要的文件,所以在此过程中,需要有稳定的国际网络连接。
第一次执行此命令时,耗时较长,可能需要1-2小时,具体时长视网络情况而定。
-DskipTests表示略过所有的测试。

3.3 配置Tomcat

以下配置适用于只用Tomcat进行部署的情况。在此基础之上,可以使用Apache HTTP Server提供更加灵活的 配置 ,包括首页自动跳转,负载均衡等。

3.3.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.3.2 增加setenv.sh来设定Tomcat运行参数(可选)

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

export JAVA_HOME="%JAVA_HOME"
export 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"
export CATALINA_HOME=%TOMCAT_HOME%

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

3.3.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.3.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.4 配置MySQL(必选)

3.4.1 创建Sakai数据库表空间

mysql -u root -p

使用MySQL管理员帐号登录MySQL数据库,创建Sakai需要的表空间。

CREATE SCHEMA `sakai` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;

3.4.2 配置sakai.properties

FIXME sakai.properties还是local.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=********

其中url@javax.sql.BaseDataSource的值请使用相关的MySQL JDBC连接字符串代替。
username@javax.sql.BaseDataSource的值请使用MySQL的用户名代替
password@javax.sql.BaseDataSource的值请使用MySQL的密码代替

3.4.3 部署MySQL的JDBC库

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

3.5 安装中文字体

在Sakai中有部分工具支持PDF导出功能,由于PDF格式的一些限制,对中文的默认支持不理想,需要在操作系统中安装相应的中文字体,并指定在PDF导出时使用的字体。在复旦大学的部署中,我们使用的是“AR PL UMing CN”。此功能是Sakai复旦共享版特有的功能,目前Sakai正式版尚未修正此问题。

3.5.1 安装字体(默认centos已经安装fixme)


yum install cjkuni-uming-fonts

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

在%TOMCAT_HOME%/sakai/目录(此目录可能需要手工创建)下创建sakai.properties文件。
加上如下内容

fop.pdf.default.font=AR PL UMing CN

4 启动/停止Sakai

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

4.1 启动Tomcat

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

$ sh startup.sh

4.2 停止Tomcat

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

$ sh shutdown.sh

5 访问Sakai

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

参考

http://sakai.fudan.edu.cn/projects/fudan-sakai/wiki/Src%E7%89%88%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E%2829%29

复旦sakai安装指南相关推荐

  1. sakai开发环境及运行环境搭建

    sakai系统是一款优秀的开源e-learning系统.在开发部署过程中,遇到了一些问题.现将心得经验总结如下: 环境: 机器环境为WIN7 64位,LINUX环境为Centos 6.3  X86_6 ...

  2. Storm 0.9安装指南

    Storm 0.9.2安装指南 0 Storm0.9的亮点 引用网上的描写叙述: "Storm 0.9.0.1版本号的第一亮点是引入了netty transport.Storm网络传输机制实 ...

  3. 复旦肖仰华:领域知识图谱落地实践中的问题与对策

    肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导师,知识工场实验室负责人. 报告摘要:近年来,知识图谱技术进展迅速,各种领域知识图谱技术在很多领域或行业取得了显著落地效果.在领域知识图谱技术的落 ...

  4. 从绩点 1.8 逆袭的复旦博士,华为天才少年!

    Datawhale干货 内容:复旦大学林田,编辑:募格学术 要说起华为「天才少年」,毕业即拿百万年薪,那话题度可以直接拉满.这不,2022年首个公开亮相的华为天才少年来了.他就是从绩点1.8逆袭的林田 ...

  5. 2022华为首个「天才少年」,是从绩点1.8逆袭的复旦博士

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:上观新闻.新智元.潇湘晨报.复旦大学等 导读: 要说起华为 ...

  6. 复旦教授:在一般院校里,我可能连当副教授都不够格

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:<中华读书报>专访姚大力教授文章 姚大力,现任 ...

  7. 4篇SCI,1篇A类期刊,这位复旦博士生分享自身科研经验

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要6分钟 跟随小博主,每天进步一丢丢 整理:募格学术 本文来源:复旦管院 李婷,复旦大学管理学院统计系2016级博士生,获复旦大学第十一届&quo ...

  8. 从复旦博士生到985高校副教授,贫穷使人深知摆脱自卑的艰难

    本文来源:<读者>杂志 作者:黄振乾 昨天往中国银行的固定账户存入400人民币.至此,还清了本科时候的国家助学贷款,加利息一共28000元.六年.但就是这么点小钱,折腾了我这么多年.我想写 ...

  9. 10个深度学习软件的安装指南(附代码)

    来源:AI前线 本文长度为2385字,建议阅读4分钟 本文为你介绍10个深度学习软件安装指南. 由于近期论文的需要,我搭建了一个基于 Ubuntu 和英伟达的深度学习环境.尽管已经有很多非常棒的关于英 ...

  10. 复旦的新衣再登Nature!穿在身上能为手机充电,可水洗可弯折,刀戳车撵都不坏...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 杨净 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今天,一件来自中国的 ...

最新文章

  1. djangorestframework源码分析1:generics中的view执行流程
  2. python的优缺点-Python语言的优点和缺点 - 深度剖析
  3. 深入探究函数返回局部变量
  4. Oracle 中重新编译无效的存储过程, 或函数、触发器等对象(转)
  5. python generator_Python Generator漫谈
  6. 了解Spring Web应用程序体系结构:经典方法
  7. php csv转excel 双引号,PHP高效导出Excel(CSV)
  8. 华为鸿蒙2.0操作页面,华为鸿蒙2.0开面界面确认,这一变化你可懂
  9. Regsvr32.exe 的用法
  10. Servlet的生命周期和工作原理
  11. vscode插件之Vetur
  12. 前台传递过来的参数遍历
  13. 初识Jasima-调度仿真系列教程预告
  14. art template模板中修改时间格式
  15. 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!
  16. 爱普生R230打印机故障大全
  17. nero incd V4.3.23.3 序列号
  18. 学习Coverity codexm的一些资料
  19. 最短哈密顿环 退火_模拟退火法计算最短路径 用 高效的 图论中哈密顿贿赂的 AI...
  20. 【drawio笔记】在drawio中添加数学公式

热门文章

  1. 免费的Andr​​oid最好的视频播放器应用程序2012
  2. 使用idea把Svn分支合并到主干上
  3. 日语开发java自我介绍,优秀日语自我介绍范文
  4. webstorm修改主题色和配色
  5. 笔记 黑马程序员C++教程从0到1入门编程——核心编程
  6. spotify电脑下载歌曲_我来简单说一下Apple Music和Spotify的下载方法
  7. html鼠标移动图片自动放大,当鼠标移动到图片上时跟随鼠标显示放大的图片效果...
  8. 通过JavaScript脚本轻松实现视频通话
  9. 龙星电脑横机制版软件_龙星电脑横机制版四色嵌花怎么做
  10. 软件测试设计用例面试题