https://saju.choeum.com/pos/front/sjuF0101.do?ref=s_BwgZAV1CS2tVJUAFBwEHCjMAAAAAbUJXUg
처음 사주 - 인생 7포인트
2026년 성공하는 시기·성향·연애운·금전운·10년 운까지 한눈에
saju.choeum.com
LGPL 2.1 라이센스이며, 오픈소스 중에 가장 탄탄해 보이는 xwiki 를 설치해보자. 좋은 오픈소스를 선정하는 방법은 홈페이지를 보는 것이다. (1) 홈페이지가 오래되었으면서 꾸준하고 (2) 체계적으로 정리되어 있고 (3) 어느정도 깔끔하면 대게 좋은 오픈소스이다. 15년간 이어져오고, 홈페이지가 잘 정리돼있고, 깔끔하다.
XWiki - The Advanced Open Source Enterprise and Application Wiki (XWiki.org)
This release is the first release of the new 14.10.x LTS branch (replacing the 13.10.x LTS). It is mainly a bugfix release that covers important issues that we have discovered since 14.10.1 has been released, but it also contains some improvments in code m
www.xwiki.org
전형적인 대중적인 오픈소스 홈페이지의 구색을 갖추고 있다.
XWiki SAS - Organize your information
Looking to organize your information better? XWiki's team of professionals is the best solution for you and your team. Ready-to-use or Customized. On-Premise or hosted in Cloud.
xwiki.com
상업성에 중점을 둔 홈페이지. 마치 CentOS - Redhat 을 보는 것 같은 역할 분담이다.
스타트업의 wiki 로 쓰기에 손색이 없을것 같은 느낌이 든다.
그럼 설치해보자.
xwiki는 서블릿 3.1기반으로 되어 있으므로, 서블릿 3.1이상의 WAS에 설치해야 한다.
오늘은 톰켓 8.5에 설치해 볼 것이다.
centos stream 9 인데, xwiki는 java 기반 이므로 os 종류에 큰 영향이 없다. 다른 linux 에서도 같은 방법으로 무난히 설치될 것이다. DB는 mysql, postgresql 모두 가능하며, 공식 지원하는 DB는 홈페이지를 참조바란다. 오늘은 가장 대중적인 mysql 8 에 설치해보겠다. jdk 는 openjdk11 이다.

Long Term Support 는 운영 환경에서 추천하는 가장 안정된 버전이라고 하고, Stable 은 PDF 내보내기 등 최신 기능들을 사용할 수 있다. Stable 버전이라고 해서 개발 버전처럼 불안정하지는 않다. Long Term Support 를 극안정, Stable 을 안정 버전이라고 생각하면 된다. 만약 공개된 대중을 상대로 wiki 서비스를 한다면 Long Term Support 버전을 쓰는 것이 좋겠고, 사내 wiki 같이 이용자들이 적고 제한되어 있는 경우 편리한 최신 기능들이 필요하다면 Stable 버전을 쓰는 것이 좋은 판단이다. 만약 사내 wiki 라도 최신 기능들이 필요없다면 Long Term Support 도 좋은 선택일 수 있다. 오늘은 Stable 버전을 설치해 보겠다. 설치 방법은 동일하다.
어느 정도 톰켓 세팅을 할줄 안다는 전제하에 필요한 부분만 요약하겠다.
1. WAR 파일을 다운로드 받아서 webapp 경로에 올리고 unzip 으로 압축을 푼다. webapp/WEB-INF/web.xml 위치가 되게 맞추면 된다. webapp 경로로 아래 권한을 주고 변경한다.
2. chown -R <webapp 경로> 로 was 실행하는 계정:그룹 으로 변경해준다.
3. chmod -R 750 <webapp 경로> 로 권한을 변경해준다.
4. chcon -R -t httpd_modules_t <webapp 경로> 로 selinux 권한을 준다.
5. 톰켓 server.xml 에 위 webapp 경로로 컨텍스트를 추가 한다.
이대로 톰켓을 시작하면 2가지 오류가 발생하는데, 첫번째 오류 tail -f <tomcat home>/logs/catalina.out 해서 보면 아래 경고가 매우 많이 나온다.
org.apache.catalina.webresources.Cache.getResource []에 위치한 리소스를 웹 애플리케이션 []을(를) 위한 캐시에 추가할 수 없습니다.
아래와 같이 한줄 추가해 주면 매우 많이 쏟아져 나오던 경고가 없어진다.
vi <tomcat home>/conf/context.xml
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- 추가 ->
<Resources cachingAllowed="true" cacheMaxSize="100000"/>
</Context>
두번째 오류는 DB (드라이버)가 없다는 것이다. DB 를 등록하는 방법은 두가지이다.
(1) 환경 파일을 수정하는 방법 - 편리하지만 DB 비밀번호가 소스레벨에 위치하므로 권장되지 않는다.
vi <webapp경로>/WEB-INF/hibernate.cfg.xml
<property name="hibernate.connection.url">jdbc:mysql://192.168.0.2:3306/xwiki?characterEncoding=utf8&autoReconnect=true</property>
<property name="hibernate.connection.username">xwiki</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
위 4줄에 사용하려는 DB에 맞게 Java Database Connection 정보로 바꿔서 저장한다.
최신 mysql 8 driver 는 com.mysql.cj.jdbc.Driver 클래스를 사용하게 바뀌었다.
(2) 톰켓 리소스 풀에 등록하는 방법 - 유지보수 측면과 보안적인 측면에서 더 좋은 방법이다.
server.xml 은 was 관리자와 tomcat 프로세스만 볼 수 있도록 chmod 권한을 최소로 준다.
vi <tomcat home>/conf/server.xml
<Context path="" docBase="/var/www/wiki.mydomain.com/webapp" reloadable="true" debug="0">
........
<Resource auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver" maxTotal="50"
validationQuery="select 1" testWhileIdle="true"
minIdle="10" maxIdle="20" maxWaitMillis="10000" name="jdbc/XWikiDS"
username="xwiki" password="password" type="javax.sql.DataSource"
url="jdbc:mysql://192.168.0.2:3306/xwiki?characterEncoding=utf8&autoReconnect=true" />
.......
</Context>
(2-1) 위와 같이 Resource 를 추가하고
(2-2) web.xml 에서 아래 부분에 주석을 푼다.
vi <webapp 경로>/WEB-INF/web.xml
<!-- Uncomment if you wish to use a DataSource to define the Database connection-->
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/XWikiDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
jdbc/XWikiDS 이름을 일치 시켜야 한다.
(2-3) 그 다음, hsqldb 드라이버를 was lib 경로에 넣어줘야 한다. https://hsqldb.org/ 에서 최신 버전을 다운로드 받아서 압축을 풀고 hsqldb.jar 파일을 찾아서, 이 파일 하나만 <tomcat home>/lib 에 복사해준다. 물론 mysql 을 쓰는 경우 mysql-connector-java-8.0.22.jar 도 있어야 한다.
(2-4) 그 다음, DB 에 xwiki 유저를 추가하고, 동일한 이름으로 Database 를 생성하고 관리 권한을 준다.
(2-5) systemctl restart tomcat
여기까지 하고 tail -f <tomcat home>/log/catalina.out 로그를 걸어놓고 브라우저로 접속하면 된다. 로그를 켜놓는 이유는 초반에 로딩하는데 시간이 많이 걸리는데, 뒤에서 올라가는 로그를 보며 기다린다. 처음에만 페이지들이 느리게 나오는데, 한번씩 로딩되서 JSP가 컴파일 되고 지나가면 그 다음 부터는 어느정도 빠르게 뜬다.
브라우저 화면에서 초반에 설치하겠냐고 묻는 것들은, 가능한 다 설치하고 넘어간다.

처음에는 로그인 화면이 없이 바로 메인 화면으로 들어가지는데, 이러면 누구나 사내 위키를 조회하게 되므로, 관리 메뉴에 들어가서 로그인 안한 사람들에게는 권한을 모두 빼서 첫 화면에서 로그인 화면이 보여지도록 설정 하였다.

관리자 메뉴에서 테마를 선택하고 메뉴 모양을 조정했다.
특별한 설치 방법은 없었다. 경고 메시지 없애게 context.xml 에 한줄 추가하는 것과, DB 접속 정보 설정하는 것만으로 모두 끝났다.
도움이 되었다면 공감과 댓글한번 부탁드립니다.
https://saju.choeum.com/pos/front/sjuF0101.do?ref=s_BwgZAV1CS2tVJUAFBwEHCjMAAAAAbUJXUg
처음 사주 - 인생 7포인트
2026년 성공하는 시기·성향·연애운·금전운·10년 운까지 한눈에
saju.choeum.com
'Linux' 카테고리의 다른 글
| Centos 7 에 PostgreSQL 9.6 설치하기 (0) | 2023.03.16 |
|---|---|
| redmine 5.0.5 install 설치 - centos stream 9 + apache 2.4 + mysql 8 (0) | 2023.03.08 |
| 이메일 관련 포트 정리 (0) | 2023.03.04 |
| 집에서 ipTIME DDNS와 미니PC로 무제한 용량 개인 이메일 서버 만들기 (0) | 2023.03.03 |
| 아마존 ec2 redhat 9 서버에서 명령어가 없는 경우 (0) | 2023.03.02 |