OSX에서 Servlet/JSP 개발 환경 만들기


  1. Tomcat 설치
  2. Eclipse 설치
  3. PostreSQL 설치

1. Tomcat 설치


사용자 삽입 이미지
 OSX 10.5(Leopard)에는 자바가 /Library/Java/Home에 설치되어 있습니다. 하지만 환경변수 JAVA_HOME은 설정돼 있지 않습니다. 때문에 설치된 JDK 경로를 JAVA_HOME에 설정해 줘야 합니다. 일반적으로 기본 설치된 터미널을 열면 bash가 기본 쉘로 사용됩니다. 환경변수를 설정하기 가장 좋은 곳은 ~/.profile 입니다. 저는 다음과 같이 설정하고 사용하고 있습니다.

[code bash nogutter nocontrols]
export JAVA_HOME=/Library/Java/Home
export CATALINA_HOME=/Library/Tomcat/Home

 

톰캣 바이너리 다운로드 및 설치


 톰 캣은 소스를 받고 컴파일 하여 설치할 수도 있습니다. 하지만 특이한 설정을 사용하지 않는 이상 컴파일 된 바이너리를 받아서 설치하는 편이 시간과 머리 사용을 절약할 수 있습니다. 톰캣은 여기(톰캣 다운로드)에서 다운 받을 수 있습니다. 이 글을 작성할 때 톰캣의 최신 버전은 6.0.16입니다. 톰캣 홈페이지에서 바이너리 파일 apache-tomcat-6.0.16.tar.gz을 바탕화면(~/Desktop)에 다운 받은 것으로 가정하겠습니다.

톰캣은 /Library에 설치하겠습니다.

[code bash nogutter nocontrols]cd /Library
mkdir Tomcat
cd Tomcat
tar xvf ~/Desktop/apache-tomcat-6.0.16.tar.gz
ln –s apache-tomcat-6.0.16 Home



톰캣 바이너리 파일에는 OSX에는 필요 없는 파일이 있습니다. 이 파일들은 톰캣이 설치된 곳의 bin에 있습니다. 다음 명령을 이용합니다.

[code bash nogutter nocontrols]cd /Libaray/Tomcat/Home/bin
rm –f *.bat *.exe


톰캣 시작 및 중지

이제 톰캣을 시작 해 보겠습니다.

[code bash nogutter nocontrols 1]cd /Libaray/Tomcat/Home/bin
./startup.sh


사용자 삽입 이미지

위와 유사한 화면이 보입니다. 에러가 발생하는지를 잘 보셔야 합니다. 마지막 문장을 잘 보시면 됩니다. 에러가 발생하지 않으면 http://localhost:8080/ 에서 고양이를 보실 수 있습니다.

포트 번호 80으로 변경 - conf/server.xml 수정

톰캣은 HTTP의 기본 TCP 포트 번호인 80을 사용하지 않고 8080을 사용합니다. 80 번을 사용하기 위해서는 물론 다른 서비스가 80번을 사용하고 있지 않아야 합니다. 그리고 톰캣이 설치된 곳의 conf/server.xml 파일을 수정하면 됩니다. (이 예제를 따라하셨으면 /Library/Tomcat/Home/conf/server.xml 입니다. )
[code xml nocontrols 80 ]
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

여기에 port 속성 8080을 80으로 변경하면 됩니다.

Invoker Servlet 사용 - conf/web.xml, conf/context.xml 수정

또, invoker Servlet을 사용하기 비활성된(주석 처리된) 것을 활성화 해 줘야 합니다. 이는 conf/web.xml 파일을 수정합니다. (이 예제를 따라하셨으면 /Library/Tomcat/Home/conf/web.xml 입니다. )
[code xml nocontrols 115 ]
<!--
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
-->


[code xml nocontrols 374]
<!--
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->

위 두 곳에 있는 <!--, -->을 삭제합니다.

다음은 context.xml 파일에서 <Context>를 다음과 같이 수정합니다.
[code xml nocontrols 19]
<Context reloadable="true" privileged="true">



Mod_Jk 설치

Mod_Jk 는 아파치(Apache)와 톰캣을 연결해 주는 기능을 담당합니다. 다음 페이지에서 다운 받을 수 있습니다. 이 문서를 작성할 때 최신 버전은 1.2.26 입니다. 바이너리 파일을 다운 받아서 설치하셔도 됩니다. 하지만 약간 문제가 있습니다. OSX에 따라오는 아파치는 유니버설 버전입니다. 이는 여러 프로세스 아키텍처에서 수행할 수 있다는 뜻입니다. PPC, PPC64, i386, x86_64 등등 입니다. 따라서 설치된 HTTPD(아파치 데몬)에 따라서 Mod_Jk를 맞게 설치해야 합니다. 그래서 여기서는 소스 파일을 다운 받고 컴파일 하여 사용하겠습니다.

설치된 아파치 컴파일 정보 찾기
/usr/sbin/httpd –VL
을 수행하면 필요한 정보가 나타납니다.

제가 가지고 있는 Leopard가 설치된 맥북에서는 다음과 같은 결과를 보여 줬습니다.
사용자 삽입 이미지

[code bash nogutter nocontrols]
#빌드 하고 설치하기
cd /usr/local/src/tomcat-connectors-1.2.26-src/native

# 32bit
./configure --with-apxs=/usr/sbin/apxs

# x86_64 ( Core 2 Duo, Xeon )
./configure CFLAGS='-arch x86_64' APXSLDFLAGS=' -arch x86_64' --with-apxs=/usr/sbin/apxs

# PPC
./configure CFLAGS='-arch ppc' APXSLDFLAGS='-arch ppc' --with-apxs=/usr/sbin/apxs

# PPC64
./configure CFLAGS='-arch ppc64' APXSLDFLAGS='-arch ppc64' --with-apxs=/usr/sbin/apxs

# 빌드하기
make

# 설치하기
sudo make install


사용자 삽입 이미지

/etc/apache2/httpd.conf 파일 끝에 다음을 추가합니다.

[code xml nogutter nocontrols]
# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module libexec/apache2/mod_jk.so
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile /var/log/apache2/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Send everything for context /examples to worker named ajp13 (ajp13)
JkMount /examples/* ajp13
JkMount /host-manager/* ajp13
JkMount /docs/* ajp13
JkMount /manager/* ajp13



/etc/apache2 에 workers.properties 파일을 만들고 다음을 붙여 넣기 합니다.

[code xml nogutter nocontrols]
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009



이제 정말 끝입니다.
톰캣을 다시 시작해 보세요. 이제는 http://localhost 에서도 고양이를 보실 수 있습니다.
만약에 톰캣 시동중에 에러가 발생하면,  설정파일에 뭔가 에러가 생긴것이기 때문에 잘 수정 하시기 바랍니다. :-)
2008/07/25 04:30 2008/07/25 04:30
Sangkle 이 작성.

Trackback URL : http://www.sangkle.com/trackback/90

Trackback RSS : http://www.sangkle.com/rss/trackback/90

Trackback ATOM : http://www.sangkle.com/atom/trackback/90


« Prev : 1 : ... 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : ... 37 : Next »