사용 오픈소스와 견주어도 손색이 없는 오픈소스 포털인 Liferay Portal을 정리한다.
unzip liferay-portal-tomcat-6.1.1-ce-ga2-20120731132656558.zip
//--- liferay-portal-6.1.1-ce-ga2 폴더가 생김
//--- Window에서 압축을 풀어 liferay-portal-6.1.1 폴더에 저장하고 이를 liferay-portal-6.1.1.zip 파일로 생성 합니다.
unzip liferay-portal-6.1.1.zip
//--- liferay-portal-6.1.1 폴더가 생김
unzip liferay-portal-dependencies-6.1.1-ce-ga2-20120731132656558.zip
//--- liferay-portal-dependencies-6.1.1-ce-ga2 폴더가 생김
set CATALINA_HOME=d:/www/liferay/tomcat-6.0.18 #--- CATALINA_HOME 환경 변수 설정을 확인 한다.
set JAVA_OPTS= #--- JAVA_OPTS 설정을 확인 한다.
이미 Apache Tomcat과 MySQL 등이 설치되어 있다면, 이미 설치된 소프트웨어를 재활용 해보자.
빠른 설치 가이드에서 설치된 파일을 참조하여 설치를 한다.
Document Root를 d:/www 로 설정 한다.
주의 : '''Apache Tomcat이 설치된 디렉토리 명에 space가 포함되면 향후 deploy시 오류가 발생 한다.'''
편의상 Tomcat ROOT를 d:/www 로 설정 한다.
실 운영 환경에서는 Apache HTTP Server의 Document Root와는 다른 폴더를 사용해야 한다.
#--- 아래 부분을
#--- 아래와 같이 변경 한후 Tomcat을 재기동 한다.
''' '''
ANT_OPTS=-Xms256M -Xmx512M 환경 변수를 설정 한다.
{{MySQL DB 설정|Liferay Portal|liferaydb|liferay}}
다운로드 사이트에서 "Liferay Portal Standard Edition"에 있는 "Download" 이미지를 선택하여 설치 파일을 다운로드 한다.
다운로드한 "liferay-portal-tomcat-6.0-5.2.3.zip" 파일의 압축을 풀어 d:/zztemp/liferay/ 폴더 아래에 둔다.
Liferay Portal의 Web Application을 복사 한다.
d:/zztemp/liferay/tomcat-6.0.18/webapps/ROOT/ 폴더를 d:/www/ROOT/ 로 복사 한다.
d:/zztemp/liferay/tomcat-6.0.18/webapps/tunnel-web/ 폴더를 d:/www/tunnel-web/ 로 복사 한다.
d:/www/ROOT/WEB-INF/classes/portal-ext.properties에 다음을 추가하여 Database를 설정 한다.
#--- Database Pool을 사용할 경우
### jdbc.default.jndi.name=jdbc/LiferayPool
#--- Database에 JDBC를 사용하여 직접 접속할 경우
#--- liferaydb : Liferay Portal에서 사용할 Database 명
#--- liferay : liferaydb를 사용하는 DB 사용자 아이디
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/'''liferaydb'''?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username='''liferay'''
jdbc.default.password=암호
Tomcat의 라이브러리, 환경 설정 등을 한다.
d:/zztemp/liferay/tomcat-6.0.18/lib/ext/ 폴더를 ${TOMCAT_HOME}/lib/ext/로 복사 한다.
d:/zztemp/liferay/tomcat-6.0.18/conf/jaas.config 파일을 ${TOMCAT_HOME}/conf/jaas.config로 복사 한다.
d:/zztemp/liferay/tomcat-6.0.18/conf/Catalina/localhost/ROOT.xml 파일을 ${TOMCAT_HOME}/conf/Catalina/localhost/ROOT.xml로 복사 한다.
Linux 환경에서 관련 파일의 사용자 및 권한 변경
chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/ROOT
chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/tunnel-web
chown -R tomcat6:tomcat6 /var/lib/data
chown -R tomcat6:tomcat6 /var/lib/deploy
chown -R tomcat6:tomcat6 /var/lib/tomcat6/work/Catalina
chown -R tomcat6:tomcat6 /var/log/tomcat6
chown -R tomcat6:tomcat6 /var/cache/tomcat6
Tomcat 운영 환경을 설정 한다.
Tomcat을 실행하고 http://localhost:8080/에서 test@liferay.com / test 로 로그인 한다.
Liferay Portal의 EXT 환경은 Liferay Portal의 소스를 복제한 사용자 정의 환경으로 여기서 프로그램을 수정하여 Tomcat에 deploy할 수 있다.
JAVA_OPTS=-Xlint:deprecation -Xlint:unchecked 환경 변수를 설정 한다.
ANT_OPTS=-Xms256M -Xmx512M 환경 변수를 설정 한다.
ant.build.javac.source=1.5
ant.build.javac.target=1.5
#--- Jikes 컴파일러로 컴파일하기를 원할 경우 javac.compiler=jikes를 사용 한다.
javac.compiler=modern #--- JDK 1.5/1.6 사용
javac.debug=on
javac.deprecation=off
javac.fork=true
javac.memoryMaximumSize=512m
javac.nowarn=on
lp.ext.dir=${project.dir}/../liferayExt
ant clean start build-ext
#--- 아래는 에러 메시지 임
public class LiferayServletContext implements ServletContext {
[javac](javac.md) D:\www_product\projectLiferay\liferaySrc\portal-impl\src\
com\liferay\portal\apache\bridges\struts\LiferayServletContext.java:45:
com.liferay.portal.apache.bridges.struts.LiferayServletContext
'''is not abstract and does not override abstract method''' getContextPath() in javax.servlet.ServletContext
${LIFERAY_EXT}/app.server.${USERNAME}.properties 파일을 생성 한다.
app.server.type=tomcat
app.server.parent.dir=d:/www/liferay #--- 빠른 설치 가이드에 따라 설치된 liferay 폴더
app.server.tomcat.version=6.0 app.server.tomcat.dir=${app.server.parent.dir}/tomcat-6.0.18 app.server.tomcat.portal.context=ROOT ```
Liferay Portal의 EXT 복사본을 컴파일하여 Tomcat에 deploy 한다.
ant clean deploy
http://localhost:8080/에 test@liferay.com / test 로 로그인하여 사용 한다.
[http://sourceforge.net/project/showfiles.php?group_id=49260 다운로드 사이트]에서 liferay-plugins-sdk-5.2.3.zip 파일을 다운로드 한다.
${LIFERAY_SDK}/build.${USERNAME}.properties 파일을 생성 한다.
#--- 여기서 "d:/www/liferay/tomcat-6.0.18"는 ${TOMCAT_HOME} 폴더를 가리킨다.
app.server.dir=d:/www/liferay/tomcat-6.0.18
app.server.lib.global.dir=${app.server.dir}/lib/ext
app.server.portal.dir=d:/www/liferay/tomcat-6.0.18//webapps/ROOT app.server.classes.portal.dir=${app.server.portal.dir}/WEB-INF/classes app.server.lib.portal.dir=${app.server.portal.dir}/WEB-INF/lib ```
Portlet 생성 및 배포
cd ${LIFERAY_SDK}/portlets
ant -Dportlet.name=zztest -Dportlet.display.name="zztest" create
#--- zztest 포틀릿이 ${LIFERAY_SDK}/portlets/zztest-portlet/ 폴더에 생성 된다.
ant clean deploy
#---${TOMCAT_HOME}/../deploy/zztest-portlet-5.2.3.1.war 파일이 생성 된다.
Liferay Portal을 다시 실행하여 로그인 하면 zztest-portlet-5.2.3.1.war 파일이 자동으로 deploy 된다.
{| cellspacing="1" cellpadding="1" border="1" width="100%"
|-
|width="30%" bgcolor="cyan" align="center" valign="middle"|오픈소스
|width="20%" bgcolor="cyan" align="center" valign="middle"|라이선스
|width="50%" bgcolor="cyan" align="center" valign="middle"|상세 설명
|-
|Hibernate
|align="center"|
|Database 접속 라이브러리
|-
|Alfresco
|align="center"|
|ECM (Enterprise Content Management), CMS
|-
|jBPM
|align="center"|
|BPM (Business Process Management)
|-
|ServiceMix
|align="center"|
|ESB (Enterprise Service Bus)
|-
|Mule
|align="center"|
|ESB (Enterprise Service Bus)
|-
|Google Analytics
|align="center"|
|Monitoring
|-
|OpenSSO
|align="center"|
|SSO (Single-Sign-On)
|-
|Pentaho
|align="center"|
|BI (Business Intelegence)
|}
/ROOT/WEB-INF/classes/content/Language_ko.properties.native
/ROOT/WEB-INF/classes/content/Language_ko.properties
/ROOT/WEB-INF/lib/portal-impl.jar 파일에서 /content/Language_ko.properties.native 파일
/ROOT/WEB-INF/lib/portal-impl.jar 파일에서 /content/Language_ko.properties 파일
/portal-impl/classes/content/Language_ko.properties.native
/portal-impl/classes/content/Language_ko.properties
/portal-impl/src/content/Language_ko.properties.native
/portal-impl/src/content/Language_ko.properties
/bin/content/Language_ko.properties.native
/bin/content/Language_ko.properties
cd ~/liferaySdk/themes/
./create.sh mytheme "My Theme"
ant clean deploy
build.xml
docroot/
WEB-INF/
liferay-plugin-package.properties
css/
images/
javascript/
templates/
'''portal_normail.vm''', '''portal_pop_up.vm'''
dock.vm, init_custom.vm, navigation.vm, portlet.vm
_diffs/
css/
images/
javascript/
templates/
/usr/local/tomcat/webapps/ROOT/html/themes
/usr/local/tomcat/webapps/ROOT/html/common/themes
/usr/local/tomcat/webapps/ROOT/wap/themes
/usr/local/tomcat/webapps/ROOT/wap/common/themes
/usr/local/tomcat/webapps/ROOT/html/js/editor/tiny_mce/themes
cd ~/liferaySdk/layouttpl/
./create.sh mylayout "my layout"
ant clean deploy
build.xml
docroot/
WEB-INF/
liferay-layout-templates.xml
liferay-plugin-package.xml
mylayout.png
'''mylayout.tpl'''
'''mylayout.wap.tpl'''
/usr/local/tomcat/webapps/ROOT/layouttpl
/usr/local/tomcat/webapps/ROOT/html/portal/layout
/usr/local/tomcat/webapps/ROOT/wap/portal/layout
생성 명령
cd ~/liferaySdk/portlets/
./create.sh myportlet "My Portlet"
ant clean deploy
폴더 구조
build.xml
docroot/
WEB-INF/
liferay-display.xml
liferay-plugin-package.properties
liferay-portlet.xml
portlet.xml
src/com/sample/jsp/portlet/
JSPPortlet.java
tld/
liferay-portlet-ext.tld
liferay-portlet.tld
liferay-security.tld
liferay-theme.tld
liferay-ui.tld
liferay-util.tld
web.xml
css/
test.css
js/
test.js
icon.png
view.jsp
Default Portlet 폴더
/usr/local/tomcat/webapps/ROOT/html/portlet/
/usr/local/tomcat/webapps/ROOT/html/taglib/portlet/
JSPPortlet
viewJSP = getInitParameter("view-jsp");
editJSP = getInitParameter("edit-jsp");
helpJSP = getInitParameter("help-jsp");
aboutJSP = getInitParameter("about-jsp"); configJSP = getInitParameter("config-jsp"); editDefaultsJSP = getInitParameter("edit-defaults-jsp"); editGuestJSP = getInitParameter("edit-guest-jsp"); previewJSP = getInitParameter("preview-jsp"); printJSP = getInitParameter("print-jsp"); ```
Portlet에서 호출 순서
/usr/local/tomcat/webapps/ROOT/html/common/init.jsp
/usr/local/tomcat/webapps/ROOT/html/common/init-ext.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/init.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/init-ext.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/init.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/view.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/css_init.jsp
/usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/css.jsp
Portlet내의 jsp 파일 종류
init.jsp : 모든 화면에서 호출되는 공통 jsp
'''view.jsp''' : 보기 화면, Java Portlet Specification 2.0
'''edit.jsp''' : 편집 화면, Java Portlet Specification 2.0
'''help.jsp''' : 도움말 화면, Java Portlet Specification 2.0
configuration.jsp : 설정 화면
search.jsp : 검색 화면
~_action.jsp : 명령 실행용 jsp
error.jsp : 에러 화면
css.jsp
참고 문헌