레이블이 jamwiki인 게시물을 표시합니다. 모든 게시물 표시
레이블이 jamwiki인 게시물을 표시합니다. 모든 게시물 표시

2009년 5월 7일 목요일

JAMWiki 설치

이전 WikiMartix 소개 글에서 wiki에 대한 연구를 조금씩 하게 되었는데, 일단 1.x 대 소스가 완료되진 않았으나 괜찮은 거 같은 wiki 오픈소스를 발견하게 되어 간단하게 소개하고 설치해 보았다.


물론 java를 기반으로 하고 있으며 LGPL 라이센스를 따름으로 다른 솔루션으로 활용해도 무방할 거란 생각이 든다.
소개하기로는 MediaWiki 의 대부분의 특징을 다 가지고 있다고 소개한다.
암튼, 내부적으로는 하나씩 살펴보아야 하는데 일단 설치하고 셋팅하는 방법부터 살펴보자.

[환경]
- 소스 빌드 : eclipse3.4.1 + m2eclipse(maven eclipse plugin) + subeclipse(svn eclipse plugin)
- JDK1.6.0_10
- WAS : Tomcat-6.0.18


먼저, eclipse svn repository를 이용하여http://jamwiki.svn.sourceforge.net/svnroot/jamwiki/ 에 접속한 후, wiki -> trunk 에서 "Check out as maven project"를 이용하여 check 해 준다.

그러면 현재 0.6.7 버전을 기준으로 살펴보면 디렉토리가 다음과 같다.

- addons
- jamwiki-core
- jamwiki-war
- jamwiki-web
- javadiff
- repository
- target
- webtests

JAMWiki 에서 소개하고 있는 문서와는 상당한 차이가 있다.
eclipse 에서 보면 다음과 같이 프로젝트가 생성되어져 있다.

- addons
- bliki-parser
- jamwiki
- jamwiki-core
- jamwiki-war
- jamwiki-web
- javadiff

자, 일단 maven project 형태이기 때문에 jamwiki 프로젝트의 "pom.xml" 파일을 선택하고 "maven build..." 를 선택하고, goals를 'package' 라고 해 보자.
말 그대로 war로 패키지를 한다는 말인데, 에러가 발생한다. 기본 maven에서 package로 할 경우 JUnit을 통한 test하게 되는데 여기서 에러가 발생한다. 일단 test를 하지 않아도 war로 패키징 할 수 있음으로 다음과 같이 goals를 해 보자.

-Dmaven.test.skip package

command 상인 경우 "workspace/jamwiki" 디렉토리에서 다음과 같은 명령어를 입력한다.

mvn -Dmaven.test.skip package
그래도 에러가 난다. 문제가 다음의 메시지와 비슷하면 처리를 할 수 있다.

[INFO] Installing C:\Documents and Settings\이상협\workspace\jamwiki\addons\bliki-parser\target\bliki-3.0-SNAPSHOT.jar t
o C:\Documents and Settings\이상협\.m2\repository\bliki\bliki\3.0-SNAPSHOT\bliki-3.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error installing artifact 'bliki:bliki:jar': Error installing artifact: File C:\Documents and Settings\이상협\wor
kspace\jamwiki\addons\bliki-parser\target\bliki-3.0-SNAPSHOT.jar does not exist

정상적으로 bliki-3.0-SNAPSHOT.jar 파일이 생성되지 않은 경우인데, "workspace/jamwiki/repository/bliki/bliki/3.0-SNAPSHOT" 디렉토리로 이동해서 command 상에서 다음과 같이 입력해 준다.

mvn install:install-file -DgroupId=bliki -DartifactId=bliki -Dversion=3.0-SNAPSHOT -Dpackaging=jar -Dfile=bliki-3.0-SNAPSHOT.jar

그러면, "bliki-3.0-SNAPSHOT.jar" 파일이 자동으로 생성된다.이제, eclipse "jamwiki" 프로젝트의 "pom.xml"을 이용한 "-Dmaven.test.skip package" 또는 command 상에서"mvn -Dmaven.test.skip package" 입력하면 "workspace/jamwiki/jamwiki-war/target" 디렉토리에 "jamwiki-war.war" 파일이 생성되어 package 된다.


[Tomcat 으로 설치]

패키징한 "jamwiki-war.war" 파일을 "%TOMCAT_HOME%/webapps" 디렉토리로 복사하고 간단하게 url을 입력하기 위해서 "jamwiki.war" 로 파일명을 변경하자.Tomcat을 실행하면 당연히 jamwiki 디렉토리가 생성되면 정상적으로 설치가 된다.


[JAMWiki 셋팅]

브라우저에서 http://localhost:8080/jamwiki 라고 입력해 보자. 다음과 같이 초기 셋팅을 해 주어야 한다.

데이터베이스를 mysql로 해 주고, jamwiki 데이터베이스를 만들어주고, 계정을 주었지만 다음의 에러가 발생한다.

A connection could not be established with the database; please re-check the settings: com.mysql.jdbc.Driver

드라이버를 로딩하지 못한 것인데 JAMWiki는 기본으로 hsql을 사용하기 때문에 MySQL driver가 설치되어 있지 않다.
간단하게 "mysql-connector-java-5.0.3.jar" 파일을 "%TOMCAT_HOME%/webapps/jamwiki/WEB-INF/lib" 디렉토리에 복사해 주면 된다. 혹시, Tomcat 공통 라이브러리에 mysql-connector-java-5.0.3.jar 파일이 있는 경우에는 에러가 발생하지 않을 것이다. 이렇게 정상적으로 셋팅이 완료되면 브라우저에서 자동으로 http://localhost:8080/jamwiki/en/StartingPoints 로 이동할 것이다.다음과 같이 JAMWiki 초기 화면을 보게되면 성공한 것이다.

앞으로 틈이 나는대로 Wiki 및 JAMWiki 관련된 글을 작성할 생각이다.

2009년 4월 30일 목요일

JAMWiki 특징 중에 마음에 드는 것


위의 링크를 살펴보면 JAMWiki의 특징들을 볼 수 있는데, 일단 MediaWiki의 대부분의 특징을 구현해 놓았다는 점을 강조하면서 소개한다.

그리고 현재까지 하루의 시간도 아닌 몇 시간의 분석을 통해서 살펴보면 다음의 특징이 마음에 든다.

- Spring framework를 기반으로 한 구현
- 루씬을 검색엔진으로 사용
- LGPL 라이센스

어쩌면 별거 아닌 거 같은데 내겐 선택의 요건이 되는 듯 하다.

- 먼저는 아무래도 Java framework 중에 Spring이 차지하는 비중은 거의 표준에 가까울 정도... 그동안 공부도 해 왔고 앞으로도 몇 년간은 사용될 것으로 본다. 이번 기회에 더 많은 공부를 할 수 있을 거 같다.
- 루씬을 이용한 검색도 조금이지만 루씬을 공부하기도 했고, 나중에라도 솔루션 형태로 만들어 보고 싶은 분야였다.
- LGPL는 GPL에 비해서 상당히 제약이 풀려있다.

그리고 버전이 아직은 0.7.x 가 베타 버전이기도 하고....ㅎㅎ
그런데 오늘 벌써 업데이트된 소스가 있다.... 소스 분석을 하기도 전인데... 헉~~

일단 몇 일동안 하루하루 시간을 내어서 전진!!!