当前位置: 首页 > 工具软件 > Sakai > 使用案例 >

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

齐典
2023-12-01

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)      tomcatbin目录下,创建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 pathsource列出的目录

(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系统为例)

目前稳定支持的数据库包括OracleMySQLHSQLDB三种,其中不建议在生产环境中使用HSQLDB.mysql为例,从http://dev.mysql.com/downloads/mysql下载mysql5.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的页面出来

 类似资料: