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 관련된 글을 작성할 생각이다.

댓글 없음: