sakai系统是一款优秀的开源e-learning系统。在开发部署过程中,遇到了一些问题。现将心得经验总结如下:

环境:

机器环境为WIN7 64位,LINUX环境为Centos 6.3  X86_64。eclipse开发环境部署在win7上,sakai安装和运行在LINUX上。安装过程中参考了sakai官网和复旦大学共享版的网站。

步骤如下:

1、  eclipse安装

(1)从eclipse官网下载安装eclipse 4.3_64

(2)安装myeclipse,选择64位,拷贝出安装目录下Common下的plugins和features两个文件夹,卸载myeclipse。

(3)解压eclipse,将myeclipse的plugins和features移动到eclipse的dropins目录。执行myeclipse破解软件(最后一步指向eclipse/dropins/plugins)。删掉eclipse/dropins/plugins目录下的com.genuitec.pulse2.common.http_4.4.0.v201209051340.jar文件(也可以改掉后缀名,以防整合后报错)。将环境变量java_home和path指向jdk64位,打开eclipse,首次运行需要初始化加载myeclipse插件,相当久。打开菜单Myeclipse->Subscription Information,看到Activation status:Product activated。

2、  JDK安装

(1)从oracle官网下载安装jdk 7(64位),并安装

(2)设置环境变量:JAVA_HOME指向JDK的安装目录,并在path中增加%JAVA_HOME%/bin (LINUX:export JAVA_HOME=)

3、  Maven安装,sakai采用maven进行代码的依赖包下载和编译管理

(1)      通过 http://maven.apache.org 下载maven3.2.2

(2)      解压至安装目录,例如:C:\maven3.2.2(LINUX:/opt)

(3)      设置环境变量:M2_Home=C:\maven3.2.2(LINUX:exportM2_Home=/opt/maven3.2.2)

(4)      在path目录中,增加%M2_home%/bin (LINUX为$M2_Home/bin)

(5)      设置localRepository的目录,该目录为maven下载依赖包所在的目录

(6)      打开cmd窗口,执行mvn –version,可以看到mvn版本号,JDK版本号信息等

(7)      10、tomcat环境设置

4、  安装subversion,进行代码的下载

从http://subversion.tigris.org/下载安装subversion,并按上面方法设置环境变量

5、  tomcat环境设置(LINUX为例)

(1)      下载tomcat 7

(2)      将tomcat7解压,例如至/opt目录

(3)       参数配置,打开conf/catalina.properties

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

"shared.loader=..."${catalina.base}/shared/classes/,${catalina.base}/shared/lib/*.jar

"server.loader=..."${catalina.base}/server/classes/,${catalina.base}/server/lib/*.jar

(4)      创建目录:

   mkdir -p shared/classes shared/lib common/classes common/lib server/classes server/lib

(5)      删除webapps目录

(6)      修改server.xml支持的字符集,以支持utf-8

<Connector port="8080"URIEncoding="UTF-8" .

(7)      在tomcat的bin目录下,创建setenv.sh,并在其中添加:

[sakai@cmcserverbin]$ vi setenv.sh

exportJAVA_HOME=/opt/jdk1.7.0_60 #JAVA的安装目录

exportJAVA_OPTS="-server -Xms512m -Xmx2048m -XX:PermSize=128m-XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m-Djava.net.preferIPv4Stack=true -Djava.awt.headl

ess=true-Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false-Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.language=zh -Duser.region

=CN-Dsakai.demo=true" #设置支持的语言区,是否是DEMO,内存大小等

export CATALINA_HOME=/home/sakai/apache-tomcat-7.0.42 #tomcat的安装目录

(8)      赋予可执行权限

Chmod +x setenv.sh

6、  Eclipse Maven插件安装

A:在线安装

(1)      在eclipse的Window->preferences中查看是否有maven插件

(2)      如果没有或需要升级maven插件,可以打开eclipse的help->Install new software, 点击add按钮,在name输入m2e,site输入m2e插件的地址(可到http://www.eclipse.org/m2e/download/找到所需要的版本对应的地址,例如:http://download.eclipse.org/technology/m2e/milestones/1.5)

(3)      选择所要安装的内容,点击next直至finish

B:离线安装

(1)      下载离线安装包(安装包地址:http://download.csdn.net/detail/c18751578136/7687811)

(2)      将安装包解压到dropins目录

7、  Eclipse subversion插件安装

A:在线安装

(1)      可以打开eclipse的help->Install new software, 点击add按钮,在name输入svn,site输入http://subclipse.tigris.org/update_1.8.x或其它版本

(2)      选择所要安装的内容,点击next直至finish

B:离线安装

(1)      下载离线安装包site-1.8.16

(2)      解压至eclipse的dropins目录

8、  Eclipse lombok插件安装

通过http://projectlombok.org/download.html下载lombok,解压至eclipse的dropins目录

9、  sakai app Builder插件安装

(1)      从sakai网站下载插件代码:

svn co https://source.sakaiproject.org/contrib/programmerscafe/appbuilder

(2)      通过eclipse导入0.88版本的代码

(3)      通过eclipse中的plugin.xml中的图形提示,在右下角位置进行插件打包;或者通过export,导出插件

(4)      将插件放到dropin目录下,重启eclipse

(5)      在新建工程时可以看到sakai project则安装成功

10、             代码下载:

可以下载:

(1)      从官网下载:svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.9.3/

(2)      从复旦下载:

http://sakai.fudan.edu.cn/projects/fudan-sakai/wiki/%E4%B8%8B%E8%BD%BD

11、             Eclipse代码导入

(1)      将从sakai网站下载的代码包(以2.9.3为例)解压至一目录,建议所要解压目录结构不超过2级

(2)      在cmd命令行中,切换到解压的代码目录

(3)      执行mvn eclipse:clean(非必须,对于新解压的情况)

(4)      执行mvn eclipse:eclipse,执行完成后,会生成成功的报告

(5)      打开eclipse,新建workspace,例如取名:WS-sakai

(6)      设置maven目录:选择Window->preferences,将maven installtion选择所安装的C:/maven3.2.2;usersettings,选择C:/maven3.2.2/conf/settings.xml

(7)      通过File->import->General->Existing Projects into WorkSpace,选择sakai的代码目录

(8)      导入代码

12、             错误解决

错误有三类:

(1)       build path错误:例如没有找到gradebook-tool项目的bundle目录,解决非办法: 删除configure  build path的source列出的目录

(2)      依赖包引用错误,导入所调用的函数参数错误。此时通过eclipse的configure  build path中的Librariesk 手工删除maven自动引用的对应的包,再手工添加对应的jar包

(3)      代码错误:

1)  package包所处位置与代码中所写的package不一致,修改package包的位置和引用

2)  代码中的调用的函数未定义,定义相应的代码:主要有

The method getGroupTitle() is undefined forthe type ImportedGroup

The method getUserIds() is undefined forthe type ImportedGroup

The method getImportedGroups() is undefinedfor the type SiteManageGroupSectionRoleHandler

13、             build代码

WIN或Centos执行相同

(1)      通过cmd命令行切换到代码根目录

(2)      执行mvn clean

(3)      执行mvn compile

(4)      执行mvn install -Dskiptest

(5)      执行mvn-Dmaven.tomcat.home=%tomcathome% sakai:deploy

14、             安装mysql(以LINUX系统为例)

目前稳定支持的数据库包括Oracle、MySQL、HSQLDB三种,其中不建议在生产环境中使用HSQLDB.以mysql为例,从http://dev.mysql.com/downloads/mysql下载mysql,5.5以上版本

(1)      修改/etc/my.cnf (WIN环境为my.ini)

[mysqld] 增加:

default-storage-engine = InnoDB
innodb_file_per_table
character-set-server=utf8
collation-server=utf8_general_ci
lower_case_table_names = 1
log_output=FILE
log=/tmp/mysql-query.log
slow-query-log=1
long_query_time=1
slow_query_log_file=/tmp/mysql-slow-query.log
expire_logs_days=5

(2)     创建sakaidb

创建数据库:

CREATE DATABASE  sakaidb DEFAULT CHARACTER SET  utf8 COLLATE utf8_general_ci;

创建数据库用户:

CREATE USER 'sakai'@'localhost'IDENTIFIED BY 'sakai';

授权:

grant all privileges on sakaidb.* to sakai;

15、             sakai配置

(1)    路径切换到tomcat下的sakai目录下

(2)    编辑sakai.properties,

1)  注释掉HSQLDBsettings

2)  找到MySQLsettings,编辑如下:

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/sakaidb?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=sakai

16、             运行sakai

1)      到tomcat的bin目录下执行setenv.sh,使环境变量生效

2)      执行startup.sh

3)      到logs目录下查看日志

tail –f *

4)      如果没有错误日志输出,则在IE浏览器输入:http://IP:8080/portal,则会有sakai的页面出来

sakai开发环境及运行环境搭建相关推荐

  1. 开发环境与运行环境的搭建

    目录 前言 搭建开发环境 文件夹的设置 VS工程属性的设置 效果 运行环境搭建 结论 前言 在没有进入公司之前,我都是一个人写代码,一个人做项目.并且一直使用VS默认的生成选项,没有太在意VS编译后生 ...

  2. 一个php项目怎么快速运行环境,PHP 运行环境快速搭建

    PHP的程序很火,像博客:Wordpress.论坛:Discuz!.SNS:UCenter Home.CMS:DedeCMS等等都是比较流行的PHP程序,大家都在使用PHP类的程序,但对于很多初学者来 ...

  3. python开发环境和运行环境的区别_Django 开发环境与生产环境的区分详解

    Django 开发环境与生产环境的设置 在常规的Django工程开发中,我们经常会遇到一类问题,即:本地开发环境跟远程服务器生产环境配置不一样.对于这些不同之处,以前的做法是直接修改生产环境中的配置. ...

  4. 开发环境和运行环境的区别_生产环境 VS 开发环境,关于Kubernetes的四大认识误区...

    来源:http://t.cn/ExaHoL2 最近我们澄清了一些大家在进行Kubernetes实验的时候所见到的常见的误解.其中最大的一个误解就是:在生产环境中运行Kubernetes和开发测试环境并 ...

  5. 开发环境和运行环境_内网安全运行环境

    运行环境 硬件环境 建议配置:双 Intel 至强 CPU,主频 2.8G 或以上: 120G 硬盘或以上: 2G 内存或以上: 注意: 所选择的 Windows 服务器须支持冗余/高可用的配置,能够 ...

  6. python开发环境和运行环境的区别_Python 初学者必知:Python 运行与开发环境

    http://codingdao.com/wp/post/py-must-know-run-dev-env/ Python 初学者必知:Python 运行与开发环境 2011年2月11日 Breake ...

  7. java游戏运行环境_Java运行环境

    一.计算机存储单元 位(bit): 一个数字0或者一个数字1,代表一位 字节(Byte): 每逢8位是一个字节,计算机中数据存储的最小的单位 1 Byte= 8bit 通常的换算单位: 1KB=102 ...

  8. java se运行环境_Java运行环境Java SE Runtime Environment (JRE) 下载

    Java SE Runtime Environment又称JRE,是Java的核心运行环境,如果需要运行JAVA程序,JRE是必不可少的环境的集合.Java平台使您可以在台式机和服务器以及当今苛刻的嵌 ...

  9. python需要的环境_python运行环境是什么

    1.准备好安装包 1)上python官网下载python运行环境(https://www.python.org/downloads/),目前比较稳定的是python-3.5.2 2)上pycharm官 ...

最新文章

  1. Linux进程编程基础介绍
  2. 博客园上海俱乐部Windows 7社区发布活动的奖品
  3. ccna实验配置个人总结
  4. @总结 - 4@ 多项式的多点求值与快速插值
  5. 交互射鸡狮如何兼职一枚产品汪
  6. python对象没有属性_Python-对象没有属性E
  7. mac下shell给文件名批量加前缀
  8. Cython进阶--用Cython封装Callback函数
  9. arraylist 初始化_ArrayList实现原理(JDK1.8)
  10. Java Process中waitFor()的问题
  11. matplotlib 子图超过4个_Matplotlib从入门到精通
  12. 【360开源】Wayne:企业级可视化多集群Kubernetes一站式管理平台
  13. linux man手册_Linux微操(基于Centos)
  14. Java Sokect编程之HTTP请求
  15. java tcp ip通信_Java中Socket实现TCP/IP协议的通信
  16. 我如何在 16 岁成为全栈开发者?
  17. 服务器硬盘 二手,分析:二手服务器配件 哪个最不该买?
  18. python缠论代码_缠论dll(czsc - 缠中说禅技术分析工具)
  19. 安徽省计算机一级选择题题库,计算机等级考试一级选择题题库
  20. BCH/BCHABC/BCHSV分叉后重放机制小结

热门文章

  1. Burn – 免费直观的刻录软件
  2. UG NX 12 对象的选择操作
  3. UG NX 12 基础知识
  4. 毕业生或者新工作不久,如何填写期望月薪?
  5. 求是科学班计算机怎么能够进,浙大游泳队获三全国冠军 都是学霸高考分数超700...
  6. 建造模式Builder
  7. 对于Adobe平面设计证书,高级平面设计师,有话说!
  8. IE浏览器卡死提示是否停止运行此脚本的解决办法
  9. sqoop数据迁移工具
  10. VMware vRealize Automation 8.2安装