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. jQuery的noConflict()方法
  2. JVM专题(2)-类加载器子系统
  3. css过渡transition
  4. STL 之find,find_if,find_end,find_first_of
  5. python3中format函数列表_Python3之字符串格式化format函数详解(上)
  6. 技术实践丨PostgreSQL开启Huge Page场景分析
  7. Python案例:计算softmax函数值
  8. C语言求解100的带分数形式的代码
  9. 总结一些开源的网站检测扫描器源码(未完)
  10. UVA 10765 Doves and bombs 割点
  11. 手把手教你使用LabVIEW OpenCV dnn实现物体识别(Object Detection)含源码
  12. 51单片机——自动浇花系统(含全部代码)
  13. 2021中国移动秋招备考知识
  14. [转载]无线网络优化
  15. 订单功能模块设计与实现
  16. PYNQ-z2的学习过程
  17. Android 系统生成 releasekey
  18. java 队列线程池_JAVA工作队列与线程池
  19. oppo推广开户费用介绍!oppo信息流广告怎么投放?
  20. 今天专科明天海归之美国留学

热门文章

  1. 程序员视角的计算机系统 2.1.7 布尔代数的介绍
  2. 显卡 核心显卡、集成显卡与独立显卡的区别
  3. 机器人迷雾之算力与智能
  4. 12-24K/月,京东招聘研发项目经理(地点:北京)
  5. surfer画等值线
  6. app微信支付后端接口编写
  7. Django上传并显示图片
  8. 家庭装修电路施工大全
  9. android 根目录 写文件,android 读写文件、列出根目录文件及新版本权限
  10. 数字电路的几种基本触发器