Tomcat+Apache+connecter

Apache 설치

MySQL의 설치가 성공적으로 설치가 끝났다면 Apache를 설치해 보자. Apache는 1.3.27버전을 사용했다. 필자가 테스트가 끝날무렵 1.3.28버전이 나왔다. 설치에는 크게 지장이 없을 것 같다. 편한 버전을 사용하면 된다. Apache의 DSO관련 사이트는 http://httpd.apache.org/docs/dso.html를 방문하면 된다.

이제 Apache의 압축을 풀고 설치를 해보자.

[root@localhost]#

[root@localhost]# tar xvfz apache_1.3.27.tar.Z
[root@localhost]# cd apache_1.3.27
[root@localhost]# ./configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE 
--enable-module=so --enable-shared=max
[root@localhost]# make; make install

위의 과정만으로 Apache의 설치가 끝났다. 이제 Apache의 기본 설정을 해보자.

[root@localhost]#

[root@localhost]# vi /usr/local/apache/conf/httpd.conf

ServerName 127.0.0.1

<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.php index.jsp
</IfModule>

AddType application/x-httpd-php .php .ph .phtml .php3 .php4 .sql .inc 
.html .htm .jsp
AddType application/x-httpd-php-source .phps

#AddHandler cgi-script .cgi

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1:80>
   ServerName nasord.com
   ServerAlias nasord.com www.nasord.com
   DocumentRoot /home/www.nasord.com/html
     <Directory "/home/www.nasord.com/html">
        Options Includes FollowSymLinks ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
     </Directory>
</VirtualHost>

Apache의 설정은 매우 복잡하나 기본적으로 위의 설정만으로 운영이 가능하다. ServerName는 서버의 IP나 도메인을 넣어주면 된다. mod_dir.c의 모듈에서 시작페이지를 설정해준다. 앞에 나와있는 순서대로 인식이 된다.

중간정도에 보면 AddType부분이 보일 것이다. 위의 설정을 넣어준다. CGI사용시 AddHandler cgi의 주석을 제거해준다.

가상호스트 부분은 위와 같이 NameVirtualHost부분을 자신의 IP로 설정해주고 추가할 도메인의 가상호스트 부분을 설정해 준다.

apache의 자동시작 설정을 위해 아래와 같이 설정한다. 아래와 같이 설정시 Level3Level5에서 자동으로 apache가 시작이 된다.

[root@localhost]#

[root@localhost]# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apachectl
[root@localhost]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc3.d/S85httpd
[root@localhost]# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc5.d/S85httpd

간단한 테스트 페이지 작성후 apache가 정상적으로 설치가 되었는지 테스트 해본다.

[root@localhost]#

[root@localhost]# /etc/rc.d/init.d/apachectl start
./apachectl start: httpd started

아파치 시작후 브라우저로 테스트 페이지가 보이는지 점검을 해본다.

J2SDK 설치

리눅스에서 JSP로 프로그래밍을 할려면 JDK가 필요하다. JDK의 버전은 1.4.1버전을 사용할 것이다. JDK의 설치는 바이너리 버전이기 때문에 환경설정만 해도 사용이 가능하다.

[root@localhost]#

[root@localhost]# chmod +x j2sdk-1_4_1_03-linux-i586.bin
[root@localhost]# ./j2sdk-1_4_1_03-linux-i586.bin
[root@localhost]# mv j2sdk1.4.1_03 /usr/local/java

실행을 시키면 라이센스 화면이 나오고 마지막의 yes를 누르면 압축이 풀리면서 바이너리 폴더가 생성이 될 것이다. 설치는 압축을 해제 하는 것만으로 끝난다. 이제 간단한 환경설정을 하고 사용하면 된다.

[root@localhost]#

[root@localhost]# vi /etc/profile
#j2sdk config
PATH="$PATH:/usr/local/java/bin"
export JAVA_HOME="/usr/local/java"
[root@localhost]# source /etc/profile

java가 제대로 실행이 되는지 테스트 해보자.

[root@localhost]#

[root@localhost]# java -version
java version "1.4.1_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_03-b02)
Java HotSpot(TM) Client VM (build 1.4.1_03-b02, mixed mode)

위와 같이 출력이 되면 정상적으로 설치가 된 것이다.

+TOMCAT 설치

JSP환경을 만들기 위해 톰켓을 설치해 보자. 톰켓은 꼭 바이너리 버전으로 다운받기 바란다.

[root@localhost]#

[root@localhost]# tar xvfz tomcat-4.1.24.tar.gz
[root@localhost]# mv jakarta-tomcat-4.1.24 /usr/local/tomcat

톰켓의 설치는 위의 과정만으로 설치가 끝났다. 이제 Apache와 연동을 위해 설정을 해보자.

[root@localhost]#

[root@localhost]# vi /usr/local/tomcat/conf/workers.properties
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
worker.list=ajp12, ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

workers.properties화일에 위와 같이 설정을 입력을 하고 톰켓의 환경 설정을 한다.

[root@localhost]#

[root@localhost]# vi /etc/profile
#tomcat config
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$CATALINA_HOME/bin
export CATALINA_HOME

이제 톰켓이 제대로 설치가 되었는지 확인해 보자. 먼저 톰켓을 시작한다. 아직 apache와 연동이 설정이 안되었기 때문에 8080번 포트만 테스트를 해보자.

[root@localhost]#

[root@localhost]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /usr/local/java

[root@localhost]# nmap localhost
8009/tcp   open        ajp13
8080/tcp   open        http-proxy

톰켓을 시작하고 포트 스캐너로 스캔을 해보면 8009번과 8080번이 열려 있다면 정상적으로 시작이 된 것이다. 이제 브라우저로 테스트를 해보자. 브라우저에 http://192.168.0.1:8080을 입력해서 8080포트로 index.jsp의 내용이 로딩이 된다면 이상이 없는 것이다. 좌측메뉴에 JSP Examples를 테스트 해보면 이상없이 실행들이 될 것이다.

+mod_jk 설치

이제 마지막으로 tomcat과 apache의 연동을 위해서 mod_jk를 설치해야 된다. 아마도 이 작업이 제일 힘든 부분이 될것 같다. 오류도 많고 철자 한 개만 틀려도 작동이 안되기 때문이다. 긴장을 풀고 설명대로 잘 따라한다면 크게 이상없이 설치가 될 것이다. 필자는 mod_jk의 설치를 위해 아래의 사이트에서 많은 도움을 받았다.

mod_jk 관련 사이트

우리는 mod_jk를 생성하기 위해서 tomcat-connectors를 사용할 것이다. 설치는 어렵지 않으나 설정할 것이 조금 많다. 이제 mod_jk를 설치해 보자.

.

[root@localhost]#

[root@localhost]# tar xvfz tomcat-connectors-4.1.24-src.tar.gz
[root@localhost]# cd jakarta-tomcat-connectors-4.1.24-src
[root@localhost]# cd jk/native
[root@localhost]# ./buildconf.sh
[root@localhost]# ./configure --with-apxs=/usr/local/apache/bin/apxs
[root@localhost]# make; make install

설치는 위의 과정으로 끝난다. 이제 apache에 mod_jk모듈이 추가 되었나 확인해 보자.

[root@localhost]#

[root@localhost]# ls -al  /usr/local/apache/libexec
lrwxrwxrwx    1 root     root           15 Jul 19 18:36 mod_jk.so -> mod_jk.so.0.0.0

mod_jk관련 파일들이 보이는가? 보인다면 제대로 설치 된 것이다. 이제 apache와의 연동을 위해 설정을 해보자.

[root@localhost]#

[root@localhost]# vi /usr/local/apache/conf/httpd.conf
LoadModule	jk_module	libexec/mod_jk.so
AddModule	mod_jk.c

# mod_jk config
JkWorkersFile /usr/local/tomcat/conf/workers.properties
JkLogFile /usr/local/tomcat/logs/mod_jk.log
JkLogLevel info

mod_jk모듈은 위의 설정만으로 설정이 끝난다. 설정내용들의 위치는 비슷한 부분에 넣어주면 된다. 만약 위치를 잘 모르겠다면 끝부분에 추가 시켜줘도 무방하다.

아마도 tomcat과 apache를 연동하는데 있어서 가장 힘든 부분이 가상 호스트 설정일 것이다. 먼저 apache에 설정이 올바르게 되어있어야 되고 tomcat쪽에 가상호스트 설정이 되어있어야 한다. 이제 apache와 tomcat에서의 가상호스트를 설정해보자.

[root@localhost]#

[root@localhost]# vi /usr/local/apache/conf/httpd.conf
<VirtualHost 192.168.0.1:80>
   ServerName nasord.com
   ServerAlias nasord.com www.nasord.com
   DocumentRoot /home/www.nasord.com/html
     <Directory "/home/www.nasord.com/html">
        Options Includes FollowSymLinks ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
     </Directory>
     
   JkMount /*.jsp ajp13
   JkMount /webapps/* ajp13
   JkMount /ROOT/* ajp13
 
</VirtualHost>

기존의 apache가상호스트와 무엇이 틀린지 보일 것이다. 만약 JSP를 사용할 사이트라면 위와 같이 JkMount 3줄을 넣어줘야 된다. 이제 tomcat에서의 가상호스트를 설정해 보자.

[root@localhost]#

[root@localhost]# vi /usr/local/tomcat/conf/server.xml
<Host name="nasord.com" >
         <Context path="" docBase="/home/www.nasord.com/html" reloadable="true"/>
         <Alias>www.nasord.com</Alias>
</Host>

구문의 종속관계에 주의해서 위의 설정을 넣어준다. </host>로 끝나는 부분 아래 쪽에 넣어주면 된다. 이제 apache와 tomcat를 재시작 하고 JSP가 80포트로 제대로 연동이 되는지 테스트 해보자.

[root@localhost]#

[root@localhost]# vi /home/www.nasord.com/html/index.jsp
<%
    out.println("Hello, JSP");
%>

위와 같이 입력을 하고 브라우저로 접속해서 테스트를 해보자. Hello, JSP가 보이는가? 보인다면 성공한 것이다. 이제 모든 설정이 끝났다.

데이터 베이스와의 연동설정은 다음 링크에서 확인하면 된다'

출처 : 나소드(http://www.nasord.com/stories.php?story=03/09/12/8754440)

Press ESC to close