Alfresco是一款开源的企业信息系统,简称ECM。且不说功能和性能,反正有不少企业都基于他做的二次开发,基于中国软件开发的特点,这个软件倒是很称心如意。其子项目大概有20来个,使用ant进行部署,主build.xml就上千行了,感觉就像一堆积木,如果进行二次开发的话,可以选择其中的部分项目开始,但是要全弄明白还是需要费不少时间的,可能也是自己对相关的技术(jBPM、JSF、Spring等)不熟悉原因吧,反正我是头大没什么耐心了。官方有直接引导安装的发布包,如果只是了解功能则没必要源码安装了。
首先 checkout 代码: svn co
http://svn.alfresco.com/repos/alfresco-open-mirror/alfresco/HEAD ,这个是Trunk版本的,经常会有官方的更新,也可以选择checkout其它版本的 Tag,HEAD 换成 COMMUNITYTAGS/v[xx]。代码库里的东西非常多,下载完总共有1个多G,大概扫了一眼下载下来的东西,居然有很多zip文件,例如apache-solr-1.4.1.zip 120M,实际build的时候根本没用到。
源代码项目介绍,有些我还没弄清楚,列一下我弄明白了的,使用Eclipse导入:
- 3rd-party: 以来的第三方的类库(jar包)
- core: 基础构建相关的内容,例如相关配置文件的初始化、国际化i18n等
- repository: 所有数据存储层,使用Spring配置,是业务相关代码最关键的部分,可基于它开发其它类型的项目
- remote-api: 体统alfresco软件相关webservice服务
- web-service-client: 大概是如果你使用其webservice接口做开发时,就能用上了
- installer: 创建linux和windows安装包
- lang-packs: 语言包
- alfresco-jlan: 不知道在系统中的具体作用,里面包含了Win32NetBIOSx64.dll,后面要用到
- web-client: alfresco项目前台部分,页面的呈现就全在这里
- slingshot: share项目的前台部分
开始部署之前需要准备的软件环境,没听过的Baidu一下:
- jdk1.6+
- apache-tomcat 用新版的就行,记得找一份对应的Mysql驱动包至%TOMCAT_HOME%\lib目录
- OpenOffice,我用的是3.4.1
- ImageMagick,我的版本是6.8.0
- 数据库Mysql或者PostgreSQL,我用的是Mysql5.5.28-x64
- swftools,用新版的就行
- 当然还需要 ant 和 svn client工具
必须设置的环境变量:
- JAVA_HOME,顺带添加 %JAVA_HOME%\bin 至 PATH
- TOMCAT_HOME,至TOMCAT根目录
- APP_TOMCAT_HOME,同TOMCAT_HOME
- VIRTUAL_TOMCAT_HOME,暂时至一个临时目录,我也没搞懂干什么用的,反正别设置到TOMCAT中
设置配置文件:配置文件在repository项目config目录下:alfresco-global.properties.sample,重命名为 alfresco-global.properties
#下面的配置项如果配置文件里没有则添加,有则修改一下#连接数据库的用户db.username=root
#数据库用户密码db.password=
#Openoffice服务对应的执行文件ooo.exe=F:/workplace/tools/OpenOffice.org/program/soffice.exe
#是否开启Openoffice服务ooo.enabled=true
#Openoffice转换服务相关,这里设置到Program目录jodconverter.officeHome=F:/workplace/tools/OpenOffice.org/program/
#你给Openoffice转换服务预留的端口,Alfresco会帮你开启服务jodconverter.portNumbers=8100
#是否启用jodconverter.enabled=true
#ImageMagic根目录img.root=F:/workplace/tools/ImageMagick-6.8.0-Q16/
#imageMagic执行文件img.exe=F:/workplace/tools/ImageMagick-6.8.0-Q16/convert.exe
#swftools中的对应执行文件swf.exe=F:/workplace/tools/Alfresco/swftools/pdf2swf.exe
#数据库驱动位置db.driver=org.gjt.mm.mysql.Driver
#数据库连接设置db.url=jdbc:mysql://localhost:3306/alfresco_custom?useUnicode=yes&characterEncoding=UTF-8
#邮件服务器mail.host=mail.fm1039.com
#SMTP服务器端口mail.port=25
#用户mail.username=xiezhi
#密码mail.password=xxxxxx
#邮件编码mail.encoding=UTF-8
#发送邮件的用户mail.from.default=xiezhi@fm1039.com
#SMTP服务器是否需要验证身份mail.smtp.auth=true
开始部署:
- 从dos中进入源码HEAD\root目录,运行 ant build-tomcat,如果环境变量都设置好了,这里会很顺利,等到运行成功就行了。
- copy alfresco-jlan项目中jni目录下的Win32NetBIOSx64.dll至 C:\Windows\System32。
修改启动参数,alfresco软件消耗内存很恐怖,32位的jdk基本用到极限内存了:
使用文本编辑器打开%TOMCAT_HOME%\bin\catalina.bat,修改 JAVA_OPS参数如 set JAVA_OPTS=
-Xms512M -Xmx1024M -XX:MaxPermSize=512m %JAVA_OPTS% %LOGGING_CONFIG%,标记下划线的内容是必须的。
启动TOMCAT后,可以浏览两个项目: localhost:8080/alfresco/ 和 localhost:8080/share/,默认的用户是 admin / admin。