
JDK1.5+TOMCAT5.5+LIFERAY5.2.3 完全安装与配置(完美解决官方文档所出现的异常)
Author: www.chinasb.org
准备工作:
1.安装jdk-1_5_0_22-windows-i586-p.exe在C:\Program Files\Java\jdk1.5.0_22
2.解压apache-tomcat-5.5.28.zip在D:\Dev_Env\apache-tomcat-5.5.28
3.配置环境变量:
JAVA_HOME
C:\Program Files\Java\jdk1.5.0_22
TOMCAT_HOME
C:\Program Files\Apache Software Foundation\Tomcat 5.5
CATALINA_BASE
%TOMCAT_HOME%
CATALINA_HOME
%TOMCAT_HOME%
PATH
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar
安装步骤:
1.解压 liferay-portal-5.2.3.war 在 %TOMCAT_HOME%/webapps/ROOT/
2.将 %TOMCAT_HOME%/webapps/ROOT/WEBINF/lib/xercesImpl.jar 复制到 %TOMCAT_HOME%/common/endorsed
3.解压 liferay-portal-dependencies-5.2.3.zip 在 %TOMCAT_HOME%/common/lib/ext
额外需要添加的包:activation.jar jms.jar jta.jar jtds.jar(SQL2005的JDBC) mail.jar portal-impl.jar(非常重要) mysql.jar(MySQL的JDBC)
4.编辑 %TOMCAT_HOME%/conf/catalina.properties,在 common.loader 最后添加 ${catalina.home}/common/lib/ext/*.jar
5.新建 %TOMCAT_HOME%/conf/Catalina/localhost/ROOT.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<Context path="">
<Resource
name="mail/MailSession"
auth="Container"
type="javax.mail.Session"
mail.transport.protocol="smtp"
mail.smtp.host="localhost"
mail.store.protocol="imap"
mail.imap.host="localhost"
/>
<Realm
className="org.apache.catalina.realm.JAASRealm"
appName="PortalRealm"
userClassNames="com.liferay.portal.security.jaas.PortalPrincipal"
roleClassNames="com.liferay.portal.security.jaas.PortalRole"
debug="99"
useContextClassLoader="false"
/>
</Context>
6.新建 %TOMCAT_HOME%/conf/jaas.config文件
PortalRealm{
com.liferay.portal.kernel.security.jaas.PortalLoginModule required;
};
7.编辑 %TOMCAT_HOME%/bin/catalina.bat (添加-server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms128m -Xmx512m -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config)
if not exist "%CATALINA_HOME%\bin\tomcat-juli.jar" goto noJuli
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms128m -Xmx512m -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
:noJuli
rem ----- Execute The Requested Command ---------------------------------------
8.编辑 %TOMCAT_HOME%/conf/server.xml (添加URIEncoding="UTF-8")
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
9. 新建 %TOMCAT_HOME%/webapps/ROOT/WEB-INF/classes/portal-ext.properties (替换你的数据库用户与密码)
# SQLServer 2005
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://localhost:1433/lportal
jdbc.default.username=sa
jdbc.default.password=123
10.启动startup.bat(成功).
--------------------------------分隔线---------------------------------
官方文档安装完成后所遇到的问题与解决方法:
1.启动提示Class com.liferay.protal.security.jaas.ProtaRole not found!
解决方法:将 %TOMCAT_HOME%/webapps/ROOT/WEBINF/lib/portal-impl.jar 复制到 %TOMCAT_HOME%/common/lib/ext 目录中
2.PermGen异常 (堆大小不足)
官方文档:
set JAVA_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF8 -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
解决方法:(增加 -server -XX:PermSize=128M -XX:MaxPermSize=512m)
set JAVA_OPTS=-server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms128m -Xmx512m -Dfile.encoding=UTF8 -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
参数解析:
-vmargs: 说明后面是VM的参数
-Xms128m: 虚拟机占用系统的最小内存
-Xmx512m: 虚拟机占用系统的最大内存
-XX:PermSize: 最小堆大小。一般报内存不足时,都是说这个太小, 堆空间剩余小于5%就会警告,建议把这个稍微设 大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize: 最大堆大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M
3.启动Tomcat中文显示乱码。(删除-Dfile.encoding=UTF8参数)
官方文档:
set JAVA_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF8 -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
解决方法:
set JAVA_OPTS=-server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms128m -Xmx512m -Duser.-timezone=GMT -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
4.默认数据库修改不成功
官方文档:
在 %TOMCAT_HOME%/conf/Catalina/localhost/ROOT.xml增加
<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"
/>
解决办法:
1.MySQL数据库配置方法
(1).复制JDBC驱动 mysql.jar 到 %TOMCAT_HOME%/webapps/ROOT/WEBINF/lib/ext 目录
(2).新建或编辑 %TOMCAT_HOME%/webapps/ROOT/WEB-INF/classes/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=root
2.SQLServer2005数据库配置方法
(1).复制JDBC驱动 jtds.jar 到 %TOMCAT_HOME%/webapps/ROOT/WEBINF/lib/ext 目录
(2).新建或编辑 %TOMCAT_HOME%/webapps/ROOT/WEB-INF/classes/portal-ext.properties 文件并添加 (替换你的数据库用户与密码)
# SQLServer 2005
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://localhost:1433/lportal
jdbc.default.username=sa
jdbc.default.password=123