一、准备工作
下载tomcat 6.0.33, liferay 6.1.0 CE的war文件包、源码包、SQL脚本包以及附加依赖包。本例子采用Mysql数据库作为存储引擎,故请安装Mysql数据库并确保mysql服务已经启动。由于在使用liferay的过程中,可能需要发送邮件(比如用户注册时发送验证邮件),因此需要一台邮件服务器。为了简单起见,本例子在本机上安装了一个windows邮件服务器——hmailserver(关于hmailserver的安装与配置,请参考相关文档).
二、安装与配置
1) 在D盘上建立一个liferay.home目录
cd d: mkdir java mkdir liferay-6.1-ce
D:\java\liferay-6.1-ce 就是我们的liferay.home目录,我们用变量LIFERAY_HOME来表示。
2) 将tomcat-6.0.33压缩包解压到%LIFERAY_HOME%目录下,并将解压后的tomcat目录名改为tomcat-6.0.33。我们用变量TOMCAT_HOME表示%LIFERAY_HOME%\tomcat-6.0.33
3) 我们用变量TOMCAT_WEBAPPS表示%TOMCAT_HOME%\webapps\ROOT。 先清空%TOMCAT_WEBAPPS%目录下的所有内容,然后将liferay 6.1.0 CE的war文件包解压到%TOMCAT_WEBAPPS%
4) 在%TOMCAT_HOME%\lib目录下建立ext目录,将liferay 6.1.0 CE的附加依赖包解压到该目录里
5)解压liferay 6.1.0 CE源码包至某个目录,假设为d:\src\liferay-portal-src-6.1.0-ce-ga1, 我们用变量LIFERAY_SRC_6_1来表示这个目录。将%LIFERAY_SRC_6_1%\lib\development目录的以下文件:
拷贝到%TOMCAT_HOME%\lib\ext目录里. 另外,将%LIFERAY_SRC_6_1%\lib\development目录下的文件:
6) 在%TOMCAT_HOME%\conf\Catalina\localhost目录下,创建包含如下内容的ROOT.xml文件
<Context path="/" crossContext="true" > <!-- JAAS --> <!--<Realm className="org.apache.catalina.realm.JAASRealm" appName="PortalRealm" userClassNames="com.liferay.portal.kernel.security.jaas.PortalPrincipal" roleClassNames="com.liferay.portal.kernel.security.jaas.PortalRole" /> --> <!-- Uncomment the following to disable persistent sessions across reboots. --> <!--<Manager pathname="" />--> <!-- Uncomment the following to not use sessions. See the property "session.disabled" in portal.properties. --> <!--<Manager className="com.liferay.support.tomcat.session.SessionLessManagerBase" />--> </Context>
7) 将liferay 6.1 cesql压缩包解压至某个临时目录,比如d:\sql\liferay-portal-sql-6.1.0-ce-ga1, 我们用变量LIFERAY_SQL_6_1表示这个目录。执行%LIFERAY_SQL_6_1%\create目录下的create-mysql.sql脚本,该脚本会创建一个名为lportal的数据库,并建立表和索引,然后载入一些基础数据和测试数据
8) 在%LIFERAY_HOME%目录下创建portal-ext.properties文件。该文件用于配置liferay运行参数,比如数据库连接配置,邮件服务器配置,servlet过滤器配置,加载javascript和css的配置等。实际上,portal-ext.properties的配置项会覆盖%TOMCAT_HOME\webapps\ROOT\WEB-INF\lib\portal-impl.jar压缩包中的portal.properties的配置项, 这种做法可以在不改变原配置文件的同时,提供可灵活定制的方法。
9)接下来我们需要在portal-ext.properties中配置数据库连接和邮件服务器
# MySQL # jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=root jdbc.default.password=1234
<Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8" username="root" password="root" maxActive="100" maxIdle="30" maxWait="10000" />
然后在portal-ext.properties引用该JNDI资源:
jdbc.default.jndi.name=jdbc/LiferayPool
# mail session # mail.session.mail.pop3.host=localhost.com mail.session.mail.pop3.password= mail.session.mail.pop3.port=110 mail.session.mail.pop3.user= mail.session.mail.smtp.auth=false mail.session.mail.smtp.host=localhost.com mail.session.mail.smtp.password= mail.session.mail.smtp.port=25 mail.session.mail.smtp.user= mail.session.mail.store.protocol=pop3 mail.session.mail.transport.protocol=smtp
<Resource name="mail/MailSession" auth="Container" type="javax.mail.Session" mail.pop3.host="pop.gmail.com" mail.pop3.port="110" mail.smtp.host="smtp.gmail.com" mail.smtp.port="465" mail.smtp.user="user" mail.smtp.password="password" mail.smtp.auth="true" mail.smtp.starttls.enable="true" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" mail.imap.host="imap.gmail.com" mail.imap.port="993" mail.transport.protocol="smtp" mail.store.protocol="imap" />
然后在portal-ext.properties引用该JNDI资源:
mail.session.jndi.name=mail/MailSession
common.loader=\ ${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib, \ ${catalina.home}/lib/*.jar,${catalina.home}/lib/ext,${catalina.home}/lib/ext/*.jar
SET "JAVA_OPTS=-Dfile.encoding=GBK -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false -Duser.timezone=GMT+8 -Xms512m -Xmx1024m -XX:MaxPermSize=256m %JAVA_OPTS%"
注意:
setup.wizard.enabled=false
set "CATALINA_HOME=%~dp0%tomcat-6.0.33" set "PATH=%CATALINA_HOME%\bin:%PATH%" start