오늘 하루종일 물고 늘어져서 간신히 설치했다..ㅋ;
시스템 설치가 다 그렇듯이.. 간만에 닭질 좀..ㅎㅎ
다음에 똑같은 실수를 하지 말아야겠다는 생각에 정리하는데..
아.. 이미지 뜨기 귀찮군.. 그래서 텍스트로 대충..ㅋㅋㅋ

subversion의 공식 사이트는 아래와 같다.
http://subversion.tigris.org/getting.html


또한 solaris용 subversion 및 관련 프로그램들은 아래에서 다운받을 수 있다.
http://www.sunfreeware.com/programlistsparc10.html

현재 subversion의 버전은 1.4.6이지만 sunfreeware 사이트에서 솔라리스로 패키징된건 1.4.5까지만 나와있다.

subversion 1.4.5를 설치하려면 다음 프로그램이 먼저 설치되어 있어야만 한다.

- apache 2.2.6
- openssl-0.9.8h

둘 다 sunfreeware 사이트에서 구할 수 있으며, sunfreeware 사이트에서 제공하는 프로그램은 모두 솔라리스용으로 컴파일 & 패키징이 되어 있기 때문에 다음과 같이 하기만 하면 쉽게 설치할 수 있다..ㅎㅎ

# gzip -d openssl-0.9.8h-sol10-sparc-local.gz
# pkgadd -d openssl-0.9.8h-sol10-sparc-local

1. openssl 설치
openssl은 위와 같이 pkgadd하면 아주 간단히 설치할 수 있다..ㅋ;

2. apache 2.2.6 설치
(1) apache 설치
apache도 위와 같이 pkgadd하면 디폴트로 /usr/local/apache2에 설치된다.
그 다음에 다음과 같이 httpd.conf를 수정한다.

- User와 Group을 nobody로 설정
- ServerName에 서버 아이피 또는 도메인 설정
- DirectoryIndex 지시자에 index.jsp 추가
- <Directory />에 보면 "Deny from all" 라인이 있다. 이걸 주석 처리한다. (이게 왜 디폴트로 되어 있는지 모르겠군..ㅎㅎ)

# /usr/local/apache2/bin/apachectl start 하면 apache가 뜬다.
# /usr/local/apache2/bin/apachectl stop 하면 종료

이렇게 하면 간단히 되는데.. 나한테는 tomcat하고 연동해야 하는 문제가 있었다..ㅡㅡ

(2) apache와 tomcat 연동
apache와 tomcat을 연동하기 위해서는 apache tomcat connector (http://tomcat.apache.org/connectors-doc/) 가 필요하다.
현재 1.2.26버전이 나와 있는데.. 이걸 컴파일하면 mod_jk.so 라는 모듈이 생성된다.

검색하다보면 mod_jk2.so라는 것도 나오는데 첨에는 2라는 것 때문에 이게 최신일줄 알고 컴파일하는데 잘 안되서 한참 애먹었다.  하지만 나중에 알고보니 이건 옛날 버전이라고..ㅡㅡ;
암튼.. 압축풀고 들어가서 jk 디렉토리 밑에 native 디렉토리로 간다.. (이건 또 왜이리 깊어..)

# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# make install

인스톨까지 끝내면 /usr/local/apache2/modules에 mod_jk.so 파일이 복사된다.
이제 httpd.conf를 열어 LoadModule들이 있는 부분에 다음 줄을 추가한다.

LoadModule jk_module modules/mod_jk.so

그리고 나서 /usr/local/apache2/conf/extra 디렉토리에 httpd-mod_jk.conf 파일 생성한다.
(예제) (아래에서 적당히 자신의 환경에 맞게 수정해야 합니다..ㅎㅎ; 간단하니 다 아실듯)
Alias /test TOMCAT_HOME/webapps/test
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/extra/httpd-workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /test/servlet/* ajp13
JkMount /test/*.jsp ajp13

또한 httpd-mod_jk.conf에서 참고하는 httpd-workers.properties 파일도 생성한다
(예제)
workers.tomcat_home=TOMCAT_HOME
workers.java_home=JAVA_HOME
ps=/
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stder

이제 이 파일을 httpd.conf 에서 로딩한다.
httpd.conf 파일 아무데나.. 마지막 줄도 되고 다음과 같이 추가한다.

Include conf/extra/httpd-mod_jk.conf

다 되었으면 아파치와 톰켓을 재시작하고 아무 jsp를 실행해본다..
사실 처음에는 httpd-mod_jk.conf하고 httpd-workers.properties 파일을 생성 안했었다.
그래도 apache와 tomcat 모두 잘 뜬다..
그런데 jsp를 호출하면 브라우저에 jsp가 실행되는 것이 아니고 jsp 소스 코드가 그냥 텍스트로 떡하니 나온다.. 헐..
이것 때문에 http 소스를 다운받아 컴파일도 하고 멀쩡한 httpd.conf를 몇시간 동안 만지작거리다가 알고보니 이 파일들을 생성 안해서 생긴 문제였다..

3. subversion 설치
(1) subversion 인스톨
subversion-1.4.5-sol10-sparc-local.gz 파일을 다운받아 1,2번의 경우처럼 설치한다.
# gzip -d subversion-1.4.5-sol10-sparc-local.gz
# pkgadd -d subversion-1.4.5-sol10-sparc-local

pkgadd할때 apache2 모듈과 중복된다고 하는데.. 과감히 yes ㅎㅎ
그럼 파일 몇개가 apache2에 덮어 써진다.

(2) httpd.conf 수정
httpd.conf 파일을 열어서 LoadModule들이 있는 줄에 다음줄 추가
LoadModule dav_svn_module modules/mod_dav_svn.so

맨 마지막 줄에는 다음을 추가한다.
이는 svn 저장소가 /data2/svn/repository 이고 접속 주소는 http://서버IP/svn 이며
/data2/svn/password 파일에 있는 아이디와 패스워드로 인증한다는 의미가 된다.
<Location /svn>
    DAV svn
    SVNPath /data2/svn/repository
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /data2/svn/password
    Require valid-user
</Location>

(3) svn 저장소 생성
# cd /data2/svn
# svnadmin create --fs-type fsfs repository
# chmod -R g+w repository
# chown -R nobody repository
# chgrp -R nobody repository
# /usr/local/apache2/bin/htpasswd -c password username
New password:
Re-type new password:
(사용자를 추가할 경우에는 /usr/local/apache2/bin/htpasswd password username)

이제 svn에 접속하면 끝.. 추가로 나는 eclipse에서 접속하기 때문에 eclipse에서 사용법을 간단히..ㅎㅎ

(4) eclipse svn 연동
- Help -> software updates -> find and install 을 선택하면 창이 뜨는데 search for new features to install를 체크하고 next
- new remote site를 클릭하고 다음을 입력한다음에 next
Name : subclipse
URL : http://subclipse.tigris.org/update
- next, ..., next해서 다 설치하고 eclipse를 다시 부팅하면 SVN Repository perspective가 생성됨
- 서버 접속 및 사용..ㅎㅎ; 뭐 이건 svn을 한번쯤 사용해본 사람은 다 알테니 생략..

Posted by 오징어~
,