본문 바로가기

IT

[오픈튜토리얼] xwiki 설치를 위한 준비 (JDK/TOMCAT 설치 등)

지난해부터 팀 매니저님의 권유로 간단한 생활코딩에 관심을 갖게 됐습니다. 그러던 중 가장 도움을 많이준 오픈튜토리얼스(opentutorials.org)에.. 어떤 도움을 줄수 있을까..? 라는 생각을 좀 하게됐고, 이번에 xwiki를 깔고 고생을 했던 내용 + 그 동안의 운영 노하우를 Contribute 해보기로 했습니다. 아래 글의 원문은 "xwiki 설치"에서 확인할 수 있습니다.

이 글을 쓰고 있는 필자는 egoing 의 생활코딩을 보며 '코딱지 프로젝트'를 하는 완전 초보입니다.
당연히 JAVA를 비롯한 개발 관련 지식이 떨어지며, 개인적으로도 앞으로 능력자 분들이 생활코딩 수업에서 Tomcat, JSP 등 관련 수업을 보다 체계적으로 진행해주실 것이라 기대 중입니다.

하지만 제가 본 모듈을 작성하는 현재(14년 4월)는 아직 관련 수업이 없고, xwiki 설치 과정이 다른 위키보다 복잡해서 엄청 삽질을 했던 것을 다른 분들이 겪지 않는 것이 좋다고 생각해서 제가 다소 설익은 JAVA/Tomcat  설치 강의를 진행하게 됐습니다.
(저 역시 이번 기회에 오픈튜토리얼스에 기록을 해두는 것이 좋을 듯 하여..)

웹서버 구성 및 환경설정

xwiki를 설치하기 위해서는 JAVA 를 동작시킬 수 있는 웹서버 환경이 필요합니다.
Tomcat 웹호스팅을 지원하는 호스팅 업체들이 늘어나서 대표적인 웹호스팅 업체인 cafe24에 별도로 문의를 해보기도 했지만, 저렴한 웹호스팅은 대체적으로 JVM이 낮아서 다소 무거운 xwiki를 사용하기에 적합하지 않습니다.
(보다 가벼운 jsp 서비스를 위해서는 저렴하고 좋을 듯 합니다.) 

클라우드 서버 선택

그래서 제가 선택한 방법은 클라우드 웹서비스를 활용하는 방법입니다. 생활코딩에서는 egoing님이 AWS를 기반으로 강의를 해주신 적이 있으므로, 저처럼 생활코딩을 따라서 진행을 하시는 분들은 AWS 를 사용하셔도 좋고 다소 저렴한 티클라우드 등 국내서비스를 써도 무방할 듯 합니다.  

생활코딩을 따라간다면 AWS를 쓰는 것이 좋겠지만, 강의를 위해서는 아무래도 새로 계정을 쓰는 것이 좋을 것 같아서, 유클라우드 비즈를 활용해서 계정을 만들고 xwiki를 설치해보기로 하고 아래 이미지와 같이 가장 저렴한 1코어 1기가 램 서버를 결제했습니다. 
(컨퍼런스 참석 경품으로 클라우드 서버 쿠폰을 주신  유스트림 코리아에... 감사드립니다.)   


JAVA / MySQL / apache-Tomcat 설치

 

지원 웹서버 지원 데이터 베이스

 

제가 설치하려는 xwiki 는 다양한 자바 기반 웹서버와 DB를 지원합니다.
기업에서는 오라클을 쓸 수도 있고, 가벼운 것을 좋아하신다면 HSQL 을 선택하는 경우도 많으신 것 같습니다만... 저는 가장 무난하고 또 생활코딩 강의와 연결될 수 있도록 Tomcat 과 MySQL을 설치해서 운영을 하고자 합니다. 

선수 과목인 '생활코딩 웹서비스 만들기'을 들으셨다면 여러분은 아래와 같은 순서로 PHP 개발환경을 구축하셨을 것 입니다. 

  • Apache, MySQL, PHP 설치 
  • MySQL 인증 모듈을 설치 및 연동

하지만 JAVA 기반의 xwiki 설치를 위해서는 아래와 같이 작업이 필요합니다. 비슷한 듯 다르기 때문에 기존 방법과 차이를 눈여겨 봐두시면 좋을 것 같습니다. 

사전 준비

GUI가 있어서 직접 파일을 다운받아서 설치할 수 있는 경우와 달리 클라우드 서버의 경우는 콘솔만 제공합니다. wget을 사용하는 방법도 있지만 저 같은 경우는 그것이 힘들어서 scp 로 보내는 방법을 선택 했습니다.

이 방법은 tomcat 은 물론 xwiki의 플러그인을 설치할 때도 많이 사용하므로 미리 익혀두면 좋습니다. 압축 파일 하나기 때문에 별다른 옵션없이도 설정없이 잘 날아갑니다만...혹시 필요한 경우를 위해서 아래에 옵션을 정리해 놨습니다. 해당 내용을 제외한 나머지는 egoing 님의 수업을 기준으로 설치를 진행해 주시면 됩니다. 

scp -[옵션] [보낼파일] [받는서버 계정 아이디]@[받는서버 URL]:[받을 위치 절대 경로]

- 옵션 종류
- r = recursive 하위 폴더 포함 모두 복사 
- p = preserve 권한및 속성 유지
- C = compression 압축

scp ./jdk-7u51-linux-i586.tar.gz root@192.168.0.2:/usr/local

JDK 설치

이제 본격적으로 설치를 시작합니다.제일 먼저 위에서 미리 준비해둔 클라우드 서버에  JAVA를 설치해야 합니다. 사전 준비에서 언급한 것처럼 저는 생활코딩에서 egoing 님이 설치를 하신 방법 중에서 직접 오라클에서 다운로드해서 설치하는 방법을 선택 했습니다. 물론 다른 방법을 설치하시더라도 결과는 크게 다르지 않습니다.  

MySQL 설치

앞서 언급한 것처럼 xwiki는 다양한 DB를 지원합니다. 만약 이미 설치해서 사용하고 있는 DB가 있다면 위에 리스트를 참고해서 인스톨을 하면 됩니다. 저의 경우는 아예 처음 설치를 한다고 가정하고 egoing 님의 강의를 기준으로 진행하겠습니다. 

약간 다른 것은 PHP 를 코딩할 것이 아니기 때문에 인증 모듈이나 apache 등을 따로 설치할 필요없이 일단 MySQL만 우선 설치하면 됩니다. 

sudo apt-get install mysql-server mysql-client

Apache-Tomcat  설치

아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발된 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다. 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. (출처: 위키백과)

위의 설명에서 나오는 것처럼 JAVA 환경에서는 Apache - Tomcat을 웹서버로 설치해야 합니다. 자바 설치와 마찬가지로 2가지 방법이 있습니다. 그 중에서 Tomcat은 파일이나 폴더를 삭제하거나 수정하는 등의 일을 하는 경우가 많기 때문에 중에서는 직접 다운받아서 설치를 하는 것이 좋다고 알려져 있습니다. 

앞서 이야기 한 것처럼 본 챕터는 JSP 등을 설치하는 것이 아니라 말 그대로 xwiki 라는 소프트웨어를 설치하는 과정을 설명하는 참고용이기 때문에 간단하게 넘어가도록 하겠습니다. (다른 능력자 분의 알토란 같은 강의가 있으면 링크를 걸어두겠습니다.)

  • apt-get install tomcat7 로 설치하기
  • 톰캣 웹사이트 (http://tomcat.apache.org) 에서 다운받아서 설치하기

위의 사이트에서 Tomcat을 다운 받습니다. 저는 Tomcat7을 다운받았으며, 더 낮거나 높은 버전을 받아도 됩니다. 다운받은 파일을 서버로 전송합니다. 

scp apache-tomcat-7.0.52.tar.gz root@192.168.0.2:/usr/local

서버에 전송한 다음에는 원하는 곳에 압축을 풀고, 앞으로 읽고 쓰기 편한 이름으로 바꿔 줍니다.  
저는 tomcat 이라는 이름을 사용했습니다.

cd /usr/local
tar xvf apache-tomcat-7.0.52.tar.gz
mv apache-tomcat-7.0.52.tar /usr/local/tomcat

다음으로는 Tomcat Service 등록을 해야 합니다만, 저 역시 코딩줄이 짧아서 init.d를 설명하기는 무리가 있을 것 같아서 본 모듈에서는 단순하게 톰캣을 가동하고 xwiki를 깔아보는 것을 목적으로 하겠습니다.  

마지막으로 톰캣을 가동해 봅니다. 아래 스크린샷과 같이 톰캣이 시작됐다고 나오면 성공 입니다.

cd /usr/local/tomcat/bin
./startup.sh

실제로 성공을 했는지를 알아보기 위해서는 http://공인IP:8080 로컬이면 http://localhost:8080/ 을 인터넷 창에 쳐보시면 톰캣이 시작된 것을 확인할 수 있습니다. (축하합니다! )

xwiki 설치

드디어 xwiki 를 다운 받습니다. xwiki 는 아래 링크에서 다운받을 수 있습니다.

링크를 누르고 들어가면, 다양한 형태의 xwiki 패키지가 있습니다. 그 중에서 .war 파일을 다운 받습니다. 보통 '와르파일'이라고 부르는데, Web application ARchive 의 약자라고 합니다. 자버기반의 웹서버인 Tomcat은 이 파일을 인식하고 자동으로 압축을 풀고 설치하곤 합니다.

war 파일을 모두 다운로드 했으면, 이름을 xwiki.war 이라고 바꾸고 scp로 서버 전송을 합니다.
이름을 바꾸는 이유는 Tomcat안에 war 파일을 넣으면, 자동으로 압축을 풀고 설치를 하는데, 폴더 이름을 'xwiki' 라고 하는 것이 이후 설치에 유리하기 때문입니다. 

scp xwiki.war root@192.168.0.2:/usr/local/tomcat/webapps/

전송을 완료 한다음에 콘솔로 /usr/local/tomcat/webapps 로 이동하면 "xwiki" 라는 폴더가 자동으로 생성되어 있는 것을 볼 수 있습니다. 앞서 말한 것처럼 Tomcat 이 war파일을 인식하고 압푹을 해제한 것 입니다.

만약 아래 이미지 처럼 되어 있지 않다면, 톰캣을 재부팅 해주면 됩니다.  

UTF-8 등 Tomcat 설정

다음으로는 위 링크에 설명대로 설정을 해야 합니다. 링크를 따라서 아래 2개의 설정을 수정해시면 됩니다. 

vi /usr/local/tomcat/conf/server.xml // UTF-8 설정
vi /user/local/tomcat/conf/catalina.policy // xwiki 설정 추가

MySQL 설정 및 Connector/J 인스톨

다음으로는 DB를 생성하고, 연결을 해야 합니다. 우리는 이미 앞서서 MySQL를 생성했으니, 바로 DB를 만드는 작업을 하도록 하겠습니다. MySQL 생성 등의 작업은 역시 egoing 님의 강의 중에서 MySQL 강의 일부를 참고하시면 손쉽게 생성하실 수 있습니다.

향후 설치과정을 간편하게 하기 위해서 DB 이름은 'xwiki' 라고 하겠습니다. 데이터 베이스를 생성하고, 목록을 확인합니다. 

CREATE DATABASE `xwiki` CHARACTER SET utf8 COLLATE utf8_general_ci;
SHOW DATABASES;

Connector/J 인스톨

다음으로는 xwiki에서 MySQL 을 인식할 수 있도록 자바용 드라이버 (DBMS Java drivers)를.. 정확하게는 MySQL connector / J를 찾아서 설치합니다. 아래 검색 키워드를 활용하면 받을 수 있습니다. 

tar.gz 압축 파일을 다운 받으면, 그것을 전부 업로드 하는 것이 아니라 압축을 풀고 안에 있는 라이브러리 파일(.jar)만 xwiki 안에 있는 WEB-INF/lib 폴더에 넣어주면 됩니다.

hibernate.cfg.xml 수정 (xwiki.cfg 도 수정)

다음으로는 xwiki의 hibernate 파일을 설정해서 앞서 생성한 MySQL의 xwiki를 쓸 수 있도록 합니다. xwiki의 hibernate 기본 설정은 HSQL 입니다. 따라서 HSQL을 비활성화 시키고 MySQL을 활성화 하도록 <!-- --> 주석 기호를 넣고 빼고 해주시면, 끝! 

hibernate 파일이 활성화가 됐으면 MySQL에서 DB를 통째로 삭제해도 알아서 연결을 해줍니다. 

이제 진짜 끝났습니다. 아래 주소로 접속하는 순간 xwiki 인스톨이 진행될 것 입니다. 

http://<서버주소>:8080/xwiki