겸손한 개발을 위한 자양분

Apache + Tomcat + Mysql + PHP + Eventum + Zeroboard + SVN + WebSVN
설치하기

< Tomcat 설치하기 >

문서 내용 :
a. Tomcat 프로그램 설치
b. 아파치와 톰캣 연동
c. 한글 깨지는 오류 수정
d. 오류 확인 해결하기


기본 준비물 :

공식 홈페이지 : http://tomcat.apache.org/

ReadMe First : http://mirror.apache-kr.org/tomcat/tomcat-6/v6.0.16/README.html

Download Url : http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-6/v6.0.16/bin/


설치는 다음 파일을 기준으로 합니다
apache-tomcat-6.0.16.exe


위 파일을 받아 실행합니다

기본적인 확인 창들이 지나고,
전체 설치로 진행합니다


기본 설정 부분입니다.
80포트는 앞서 설치했던 아파치에서 사용하기 때문에,
보통 톰캣에서 사용하는 8080으로 설정합니다.
사용자명과 암호를 설정하는 부분은 관리자 권한을 위해 입력합니다.


자바를 정상 지원하기 위해서는 JRE 가 설치 되어있어야 합니다.
설치된 JRE 디렉토리를 설정합니다.

갑자기 JRE가 뭐냐? 어디서 설치하냐? 라는 질문이 있으시다면
여기를 클릭!!


설치가 완료되었습니다.
이제, 복잡한 설정의 세계로…


우선 정상 작동을 확인하도록 합니다.
트레이 아이콘에서 톰캣의 작동 상황을 알 수 있습니다


로컬 주소의 8080 포트를 열어봅니다
위의 화면과 같이 페이지가 출력되어야 합니다.
성공적으로 설치되었다고 축하한다고 써있군요.

위와 같이 설치가 마무리된 경우
Java 사용을 위해서는 8080 포트로 접근해야합니다.
하지만, 보통의 웹서버들은 포트지정 없이 그냥 접속해서 Java를 지원하죠.

이러한 기능을 구현하기 위해서는
80포트를 사용하고 있는 아파치서버에게 Java관련 문서는 8080 포트로 넘기라는 설정을 해 주어야합니다.

이러한 기능을 제공하는 모듈중 하나가 mod_jk 입니다.


< mod_jk 설치하기 >


Download Url : http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/

설치에 사용할 파일 : mod_jk-1.2.26-httpd-2.2.4.so

위 파일을 다운로드 받아 아파치 서버의 \modules 디렉토리에 복사합니다.

저는 설치에 필요한 모든 파일들은 \_HostingSetup 에 넣어두었습니다.
이 폴더에 다운받은 mod_jk… 파일을 mod_jk.so 로 이름을 바꾸어 apache\modules\ 폴더에 복사했습닏다.


< D:\_HostingApp\Apache2.2\conf\workers.properties >

# BEGIN workers.properties
worker.list=worker1
worker.worker1.port=8009
# change this line to match apache ServerName and Host name in server.xml
worker.worker1.host=192.168.1.100
worker.worker1.type=ajp13
#END workers.properties

위 이름으로 파일을 생성하여 내용을 입력하여줍니다.
8009번 포트를 이용하여 특정한 워커를 만드는건데
저도 자세히는 몰라요 ;;;
뭐.. 그냥.. 하면 되더라는… 모를때는 과감히 따라하기..


< D:\_HostingApp\Apache2.2\conf\httpd.conf >

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule jk_module modules/mod_jk.so

<IfModule jk_module>
JkWorkersFile "D:/_HostingApp/Apache2.2/conf/workers.properties"
JkMount /*.jsp worker1
# Add Service Directory
# Example :
# JkMount /MyService/* worker1
</IfModule>

위 파일을 열어 붉은 색으로 표시된 부분을 추가해줍니다

내용은 대충 mod_jk 모듈을 로딩하고,
설정된 워커를 연동하라는 것 같네요.


#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html index.htm index.jsp
</IfModule>

앞에서 열어놓은 파일에서 위의 해당 부분을 찾아 붉은색 부분을 추가해줍니다.
내용은 디렉토리에 있는 index.jsp 를 처리하겠다는 말일겁니다


< D:\_HostingApp\Tomcat6.0\conf\server.xml >

<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
    <Connector className="org.apache.tomcat.service.PoolTcpConnector">
    <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
    <Parameter name="port" value="8009"/>
    </Connector>

위 파일을 열어 붉은색 부분을 추가하여줍니다


Get방식의한글이 깨지는 오류 해결

<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="euc-kr" />

기본설정에서사용시 한글이 깨지는 문제가 발생할 수 있는데요,
이것을 피하기 위해 앞에서 열었던 server.xml 파일을 위의 붉은색 부분으로 수정을 해줍니다


Tomcat 구동시 에러가 나는경우, Log 폴더안의 .log 파일을 확인하여 종류를 알 수있습니다.
저는 설치할 때 아래와 같은 에러가 발생했는데요

필요한 DLL을 로딩하지 못해서 발생하는 에러입니다
jdk\bin 폴더 안의 msvcr71.dll 파일을 윈도우의system 폴더로 복사해서 해결합니다.


요로케~


휴, 이제 아파치와 톰캣의 설치가 완료되었습니다.

회사에 ITS와 그 외 시스템을 구축하기 위해,
APM + 기타 등등을 설치 하게 되었습니다.
설치를 해보니, 이거 뭐 만만치가 않은 작업이네요…

잊지 않기 위해 포스팅~

우선, 적용 시스템 사양은
AMD Athlon 3800+EE
WindowsSvr 2003 EE
2Gbyte Memory

입니다.

설치될 프로그램들은
Apache + Tomcat + Mysql + PHP + Eventum + Zeroboard + SVN + WebSVN
휴…… 많네요…

이제 시작합니다~


< 아파치 서버 설치하기 >

문서 내용 :
a. 아파치 서버 프로그램 설치
b. 웹문서 폴더 임의 설정
c. 정상설치 되었는지 확인하기


기본 준비물 :

공식 홈페이지 : http://www.apache.org/

ReadMe First : http://mirror.apache-kr.org/httpd/binaries/win32/README.html

Download Url : http://ftp.kaist.ac.kr/pub/Apache/httpd/binaries/win32/


설치는 다음 파일을 기준으로 합니다
apache_2.2.8-win32-x86-openssl-0.9.8g.msi

위의 파일을 다운받아 실행하면~

쭉쭉쭉쭉~ 기본적인 화면들을 기본적으로 패스하고~
네트워크 도메인 설정을 합니다.
기본적으로는 서버로 사용될 PC의 아이피로 설정하면 문제 없겠네요


쭉쭉쭉쭉~ 기본설정으로 마무리합니다.
아파치 서버 자체는 설치가 아주 쉽네요,
앞으로, 다른 부분들이 문제…


설치가 끝나면, 트레이에 아파치서버의 작동상황을 알리는 아이콘을 볼 수 있습니다.
또한 이 서비스 모니터를 통해 서버의 작동을 관리할 수 있죠.

< 아파치\conf\httpd.conf >

사용 편의를 위한 설정 부분입니다.
저는 사용할 때 아파치 프로그램과 웹문서를 별도로 관리합니다.
백업을 용이하게 하고, 웹문서를 정리하기 위함이죠.


기본적으로 설치 디렉토리의 htdocs로 설정된 웹문서 폴더를
임의의 폴더로 재배치 한 모습입니다.


요 부분도 수정을 해줘야 정상작동합니다.


이렇게 수정이 완료되면, 서비스 모니터를 통해 아파치를 재시작하고,


설정된 디렉토리에 시험용 웹문서를 만들어봅니다.


정상 작동 한다고 하네요,

위에 설치하기로 한 프로그램들 중에 가장 쉬운것중의 하나를 끝냈습니다.