컴퓨터2013. 10. 1. 15:20
300x250





32bit  AnNyung Linux 2.4 , Apache 1.3  에 tomcat 설치하기



1. 우선 jdk 가 필요하다.


  http://www.oracle.com/technetwork/java/javase/downloads/index.html


  현재 기본 배포하는 버전은 jdk1.7 이다. 

  jdk 1.7 은 위 환경에서 설치시하여 tomcat 을 실행하면 다음과 같은 오류 로그가 남는다. 


  로그파일 위치 : CATALINA_HOME/logs/catalina.out 

  로그 내용

    /usr/local/jdk1.7/bin/java: /lib/i686/libc.so.6: version `GLIBC_2.3' not found .... 어쩌고 저쩌고


  그래서 jdk 1.6 을 설치하려고 하는데. 이건 그냥 안준다.. 로그인 해야 다운로드 가능하다. 

  위 사이트에서 Previout Releases 로 들어가면, Java SE 6 에서 받을 수 있다. 

  1.6 의 마지막 버전 파일은 jdk-6u45-linux-i586.bin  로 bin 형태로 제공한다. 


  설치

  # cd /usr/local

  # chmod +x jdk-6u45-linux-i586.bin

  # ./jdk-6u45-linux-i586.bin

  # ln -s jdk1.6.0_45 jdk1.6


  이렇게 하면 /usr/local/jdk1.6.0_45  에 설치가 되고, 심볼릭 링크 /usr/local/jdk1.6  도 만들어 준다. 


2. 톰캣 설치


  http://tomcat.apache.org/download-70.cgi

  8.0 버전까지 나와 있으나, 7.0 버전을 설치한다.

  Core 의 tar.gz 를 다운받는다. 

  역시 /usr/local 에 설치한다. 


  설치 

  # cd /usr/local

  # tar zxvpf apache-tomcat-7.0.42.tar.gz

  # ln -s apache-tomcat-7.0.42 tomcat7


  이렇게 하면 /usr/local/apache-tomcat-7.0.42  에 설치가 되고, 심볼릭 링크  /usr/local/tomcat7  도 만들어 준다. 


3. 환경 설정


  위에서 심볼릭 링크를 만들지 않아도 되지만, 환경설정 경로를 간단하게 설정하기 위해서 해 주었다. 


  /etc/profile  파일에  다음 환경변수 설정을 추가한다. 


  # Tomcat

  export JAVA_HOME=/usr/local/jdk1.6

  export CATALINA_HOME=/usr/local/tomcat7

  export PATH=$PATH:/usr/local/bin:$JAVA_HOME/bin:$CATALINA_HOME/bin


  환경변수 다시 읽기. 수정된 profile 을 적용하기 위해서는 다시 읽어야 한다. 
  # source /etc/profile

  환경변수를 확인해 본다. 

  echo $JAVA_HOME

  echo $CATALINA_HOME


4. 동작 확인


  톰캣을 실행시켜 봅시다. 

  # /usr/local/tomcat7/bin/catalina.sh start


  프로세스 확인

  # ps auxf


  브라우저에서 확인.. 브라우저 주소창에

  http://servername:8080


  기본 아파치가 80 포트를 사용하고 있기 때문에, 8080  포트를 사용한다.

  서버 방화벽에서 8080 포트를 열어 주어야 한다. 


  톰캣을 실행 중지 

  # /usr/local/tomcat7/bin/catalina.sh stop


4. Tomcat Connectors (mod_jk) 설치 


  http://tomcat.apache.org/download-connectors.cgi


  # cd /usr/local/src

  # tar zxvf tomcat-connectors-1.2.37-src.tar.gz

  # cd tomcat-connectors-1.2.37-src/native/

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

  # make

  # make install


  이렇게 하면, 아파치 모듈 폴더에 mod_jk.o 가 복사되어 들어 간다... 라고 되어 있는데, 모듈 폴더에 해당 파일이 없다. ㅡㅡ
  어데로 갔나? 찾아 보자.. 
  원래 안녕리눅스의 아파치 모듈 폴더는 /usr/lib/apache  인데, 
  mod_jk.o 를 찾아 보니,  /usr/libexec  디렉토리 안에 들어가 있다. ㅠㅠ
  그리고, 또 찾아 보니,  위에서 컴파일한  tomcat-connectors 소스 디렉토리 안의  native/apache-1.3  안에도 똑같은게 있다. ^^
  그런데, 실제 파일 이름은 mod_jk.so.0.0.0  이고  mod_jk.so 가 심볼릭 링크 되어 있다. libexec 에서도 마찬가지다.

  일단 모듈 파일은 찾은 것 같으니, mod_jk.so.0.0.0  을 /usr/lib/apache  에  mod_jk.so 로 이름바꾸어 넣자.. 

5. 아파치 기본 설정 추가 및 변경

  먼저, workers.properties 파일이 필요한데, 이 파일은 httpd.conf 가 있는 폴더에 만들자. 다음은 그 내용

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

  다음엔, httpd.conf 파일에 mod_jk.so 모듈 불러오는 부분을 추가해야 하는데, 
  httpd.conf 파일 안에 직접 추가할 수도 있고, rpm 모듈 불러오는 식으로 module.d 폴더에 추가할 수도 있다. 
  module.d 디렉토리에 tomcat.conf 파일을 만들어 아래 내용을 추가한다. 

  LoadModule jk_module modules/mod_jk.so
  <ifModule jk_module>
      JkWorkersFile workers.properties
      JkShmFile logs/mod_jk.shm
      JkLogFile logs/mod_jk.log
      JkLogLevel info
      JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
  </ifModule>

  JkMount /*.jsp ajp13
  <Directory />
      Options FollowSymLinks
      AllowOverride None
  </Directory>

  위에서 JkMount 부터 Directory 설정까지는 apache virtual host 를 사용하지 않을 경우를 위한 세팅으로 보인다. 
  가상 vhost 를 사용한다면, 없어도 될 것 같다. 

  module.d 디렉토리의 *.conf  파일들은 메인 설정 파일인 httpd.conf 에서 불려지도록 되어 있다. 
  따라서, 이 경우엔 httpd.conf 파일을 별도로 수정하지 않아도 된다.  

6. 아파치 가상 호스트 세팅

  이제 아파치 가상호스트 설정에서 tomcat 을 사용할 수 있도록 구문을 추구한다. 

  <VirtualHost *>
      ~ 어쩌고 저쩌고 ~
      Jkmount /*.jsp ajp13
  </VirtualHost>

  이렇게 한줄을 추가하면, 해당 virtual host 에서 tomcat 을 사용할 수 있게 된다. 
  가상 호스트 마다 추가해야 하고, 추가하지 않은 가상호스트는 jsp 를 사용하지 않는 걸로 된다. 

  여기까지 하고 아파치를 다시 시작 한다. 

  브라우저에서 http://servername/index.jsp  쳤을 때, Congraturation! 이라고 나오면 잘 설치된 것이다. ^^

7. tomcat 서버 설정

  톰캣 서버 설정을 해 보자.. 
  톰캣 서버 설정 파일은 $CATALINA_HOME/conf/server.xml  파일이다. 
  추가할 설정은 Host 설정인다. 아래와 같이 Host 를 추가한다. 

  <Host name="domain.com" appBase="/home/domain/public_html"
      unpackWARs="true" autoDeploy="true">
      <Context path="" docBase="" debug="1" />
      <Alias>www.domain.com</Alias>
  </Host>

  이렇게 추가한다, 아파치의 가상호스트 설정과 비슷하며, 아파치 가상호스트 설정과 비교를 하자면,  
  name 은 가상호스트 ServerName 이고, appBase 는 아파치의 DocumentRoot 에 해당한다. 
  Alias 는 ServerAlias 에 해당하고 여러개를 추가할 수 있다. 

  이제, tomcat 을 재시작 해 보자. 
  # /usr/local/tomcat7/bin/catalina.sh stop
  # /usr/local/tomcat7/bin/catalina.sh start

  원하는 위치에 index.jsp 파일을 하나 만들고 브라우저에서 호출해 보자.. 

  <%
  String msg = "test";
  %>
  <%= msg %>

  잘 나오면 Success.. ^^

  톰캣에 기본적으로 한글 문제가 있는 듯 하다. 
  한글 문제는 기본적으로 이제는 utf-8 을 사용하도록 하자.. 
  문서 포맷도 utf-8 로 가고, 문서 인코딩 지정도 utf-8 로 가자.. 
  그래서 한글이 포함된 utf-8 포맷의  jsp 문서는 문서 상단에 
  <%@page pageEncoding="utf-8"%>  를 추가해 주면 한글이 잘 나온다. 

  <%@page pageEncoding="utf-8"%>
  <%
  String msg = "한글";
  %>
  <%= msg %>

  euc-kr 을 써야 한다면, 
  문서 포맷을 ansi 로 하고 문서 상단에 <%@page pageEncoding="euc-kr"%> 이라고 정의해 주면,
  한글이 나온다.

  <%@page pageEncoding="euc-kr"%>
  <%
  String msg = "한글";
  %>
  <%= msg %>

 


8. init 스크립트 생성


  init 스크립트 생성은 아래 참고 사이트를 참고하면 만들수 있다. 




** 참고

http://blog.sixpoly.com/?p=292

http://nowonbun.tistory.com/138

http://wnstjqdl.tistory.com/12

http://blog.daum.net/haha25/5390356

http://okjsp.pe.kr/lecture/lec01/vhost02.html

http://knight76.tistory.com/entry/%ED%95%9C-%EC%84%9C%EB%B2%84%EC%97%90-%ED%86%B0%EC%BA%A3%EC%9D%B4-%EC%97%AC%EB%9F%AC%EA%B0%9C%EC%97%AC%EC%84%9C-%EC%A2%8B%EC%9D%80-%EC%A0%90




300x250
Posted by 마스타