DBCP... -_- 무한 삽질끝에 성공하다..

Tomcat 5.5부턴 기본적으로 dbcp가 들어가 있으므로 dbcp 설치는 생략하고
일단 www.mysql.com에 가서
jdbc를 받아온다.
압축을 풀면 mysql-connector-java-5.0.7-bin.jar 파일이 있는데 이것을
$CATALINA_HOME/common/lib 에 복사해 넣는다.

뭐 webapps/WEB-INF/lib 에 복사해도 무방한거 같긴 하드라..ㅡㅡ
난 어쨋든 common/lib에 넣어서 성공함..

dbcp 설정중 제일 괴롭혔던 에러가
Could not parse configuration file 예외였는데...

configuration file 즉 jocl 파일을 parse하지 못하겠다 그것이었다
하지만 jocl파일에는 전혀 특이점이 안보였다는거..

이래저래 안되다가 해결을 본게
jocl 파일과 DBCPInit 서블릿을 수작업으로 쳐넣지 않고
copy&paste를 해보았더니 웬걸..ㅡㅡ 이상없이 넘어가드라...

어딘가 오타가 발생한듯 싶긴 한데.. -_- 찜찜한게 영..

뭐 암튼 dbcp&jdbc 설정 완료!
,
대략 반나절만의 삽질끝에 성공.
일단은 jdk6.0을 설치한다.

apt-get install sun-java6-jdk
그 외 sun-java6로 시작하는 일련의 패키지들...
설치가 완료 되었다면 java를 gij에서 sun의 java로 변경한다.
apt-get install sun-java6-jdk
selection에서 java-6-sun 을 선택할것.
기타 환경변수를 잡는다
JAVA_HOME과 CLASSPATH..
PATH도 잡아줘야 할것 같은데 이상하게 안잡아줘도 잘 된다..
(어디 링크 걸려있나보다)

자바 세팅이 끝났다면 이제 톰캣을 설치할 차례..
예전같았으면 받아다놓고 컴파일 돌렸겠지만..
데비안 계열을 쓰는 가장 강력한 이유중 하나가 apt이므로 사용해준다.

apt-get install tomcat5.5 tomcat5.5-webapps tomcat5.5-admin
설치가 끝나면 CATALINA_HOME을 설정해주고 잘 되나 확인해본다.
포트번호가 8080이 아닌 8180이므로 주의..
요것때메 한번 더 깔았다 ㅡㅡ 무식함의 극치.. 확인 한번 해보면 되는데... 쩝

잘 되면 그다음엔 lib-apache2-modjk를 설치한다.
apt-get install libapache2-mod-jk
설치가 완료되었다면 이젠 jk를 설정해줄 차례다.
/etc/apache2로 이동.
mods-enabled 디렉토리에 jk.load가 있나 살펴본다..
없다면 mods-available 디렉토리에 있나 보고 링크를 걸어준다

ln -s /etc/apache2/mods-available/jk.load /etc/apache2/mods-enabled/jk.load
만들어 줬다면 이제 mods-available에다가 jk.conf 파일을 만들어 다음 내용을 넣는다.
JkWorkersFile /usr/share/tomcat5.5/conf/myWorkers.properties
# Where to put jk logs
JkLogFile /usr/share/tomcat5.5/logs/mod_jk.log
 
# Set the jk log level [debug/error/info]
JkLogLevel info
 
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
 
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
 
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
 
# Mount your applications
#JkMount /application/* loadbalancer
 
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
jkMountFile /usr/share/tomcat5.5/conf/myUriWorkerMap.properties
 
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile /usr/share/tomcat5.5/logs/jk.shm
 
# Add jkstatus for managing runtime data
<Location /jkstatus>
JkMount status
Order deny,allow
#Deny from all
Allow from all
# Allow from 999.999.999.999, your IP if you want
</Location>

- 참고로 이 환경은 어디까지나 내 환경이므로 적절히 수정할것.
마찬가지로 jk.conf 파일을 mods-enabled에 링크를 걸어준다.

다음은 myWorkers.properties와 myUriWorkerMap.properties를 만들어줄 차례다.
$CATALINA_HOME/conf 로 이동을 해서 다음 내용으로 만든다.
- myWorker.properties -

# Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
 
# (1) local_worker should be commented out
# to enable load-balancing. Otherwise, only fail-over is available.
 
# Define Node1
worker.node1.port=8009
worker.node1.host=127.0.0.1
worker.node1.type=ajp13
worker.node1.lbfactor=1
#worker.node1.local_worker=1 (1)
worker.node1.cachesize=10
 
# Define Node2
worker.node2.port=8009
worker.node2.host=127.0.0.1
worker.node2.type=ajp13
worker.node2.lbfactor=1
#worker.node2.local_worker=1 (1)
worker.node2.cachesize=10
 
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=node1, node2
worker.loadbalancer.sticky_session=1
worker.loadbalancer.local_worker_only=1
 
# Status worker for managing load balancer
worker.status.type=status
- myUriWorkerMap.properties -

# uriworkermap.properties - IIS
#
# This file provides sample mappings for example ajp13w
# worker defined in workermap.properties.minimal
# The general sytax for this file is:
# [URL]=[Worker name]
 
/jkstatus*=status
/servlets-examples/*=loadbalancer
/jsp-examples/*=loadbalancer
# 내 어플을 정의하려면, 여기에...
#/myApp/*=loadbalancer
 
# Optionally filter out all .jpeg files inside that context
# For no mapping the url has to start with exclamation (!)
 
#!/servlets-examples/*.jpeg=loadbalancer
요 두 파일들은 나중에 수정할 일이 많으므로 자신이 원하는데다 링크 걸어놓는것을 추천한다.

마찬가지 디렉토리에 있는 web.xml을 열어서 다음부분 주석을 삭제한다.
 100   <servlet>
 101         <servlet-name>invoker</servlet-name>
 102         <servlet-class>
 103           org.apache.catalina.servlets.InvokerServlet
 104         </servlet-class>
 105         <init-param>
 106             <param-name>debug</param-name>
 107             <param-value>0</param-value>
 108         </init-param>
 109         <load-on-startup>2</load-on-startup>
 110     </servlet>
.......................
    351     <servlet-mapping>
    352         <servlet-name>invoker</servlet-name>
    353         <url-pattern>/servlet/*</url-pattern>
    354     </servlet-mapping>
다 끝났다면 apache및 tomcat을 재기동 해서 확인을 해본다.
http://url/jkstatus
http://url/jsp-examples/
두 페이지가 정상적으로 보인다면 연동이 정상적으로 이뤄지는것이다.

참고로 webapps 를 변경하려면
/usr/share/tomcat5.5-webapps 를 변경하면 된다.
따로 설정을 해 줘야 하는것은 $CATALINA_HOME/conf/Catalina/localhost 에서
위의 webapps로 심볼릭 링크 걸어준것을 다시 변경한 위치의 것으로 수정을 해주고
각각의 xml 파일을 열어보면 Context path가 있는데 이것을 다시 수정을 하면 된다.

- 다음은 jdbc와 dbcp 설정.

'IT Stories > LAMP' 카테고리의 다른 글

Tomcat5.5 jdbc(mysql)설치와 dbcp 설정  (2) 2007.09.16
,