> Hello World !!!

     

@syaku

리눅스 우분투 9 자바 , 아파치 톰캣 설치 및 설정 : Linux Ubuntu JAVA TOMCAT

written by Seok Kyun. Choi. 최석균



** 설정법은 윈도우와 약간에 차이점이 있을 수 있겠지만, 대부분 비슷하므로 꼭 익혀두도록하자. 

자바 5.0

++ 공식사이트 : http://java.sun.com

** 저장소를 이용한 설치

-- 설치
# apt-get install sun-java5-jdk

-- 테스트
# java -version

-- 환경변수 등록
# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.18

# source /etc/profile  (환경변수 적용)

** 바이너리 설치

1. 내려받기

http://java.sun.com/javase/downloads/5u21/jdk

2. 설치

-- 퍼미션을 변경한다.
# chmod 755 jdk-1_5_0_21-linux-i586.bin

-- 내려받은 파일은 설치할 경로에 복사한다.
# cp jdk-1_5_0_21-linux-i586.bin /usr/local

-- 파일을 실행시키면, 라이센스가 출력된다. e 키를 이용해 하단으로 내루고, yes 를 입력한다.
# ./jdk-1_5_0_21-linux-i586.bin

-- jdk1_5_0_21 폴더가 생성된다.

** 자바 폴더명을 java로 통일하게 되면 새버전마다 심볼링크를 만 걸어주면 환경변수를 수정하지 않아도 된다.
# ln -s /usr/local/jdk1_5_0_21 /usr/local/java

-- 환경변수 등록
# vi /etc/profile
export JAVA_HOME=/usr/local/java

아파치 톰캣 5.5.27

++ 공식사이트 : http://tomcat.apache.org

1. 내려받기

# wget http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.tar.gz

2. 설치

# cp ./apache-tomcat-5.5.27.tar.gz /usr/local
# cd /usr/local
# tar xvf apache-tomcat-5.5.27.tar.gz
# mv apache-tomcat-5.5.27 tomcat

-- 꼭 참고할 문서
# vi /usr/local/tomcat/RUNNING.txt

** 환경변수 등록
-- CATALINA_HOME 환경변수 설정
# export CATALINA_HOME=/usr/local/tomcat

3. 설정

** 설정 파일은 모두 샘플이며, 본 서버에 맞게 내용을 수정해야 한다.

# cd /usr/local/tomcat/conf

-- 기존 설정파일을 한번 읽어보고, 백업해두자. 그리고 아래의 설정소스를 사용하자.
# mv /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml.bak

-- 서비스 설정

# vi ./server.xml
<?xml version="1.0"?>

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <!-- Global JNDI resources -->
  <GlobalNamingResources>

    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />

    <!--
    Container 사용하지 않을 경우 주석처리하면 된다.

    <Resource name="jdbc/aintop"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.OracleDriver"
              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
              url="db 서버 url"
              username="계정"
              password="암호"
              maxActive="20"
              maxIdle="10"
              maxWait="-1" />
    -->

    <Resource name="jdbc/aintop"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="oracle.jdbc.OracleDriver"
              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
              url="jdbc:oracle:thin:@localhost:1521:orcl"
              username="aintop"
              password="aintop"
              maxActive="20"
              maxIdle="10"
              maxWait="-1" />

  </GlobalNamingResources>

  <!--
  <Service name="서비스명">
    <Connector port="포트번호" 
               enableLookups="false" redirectPort="8443"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="언어셋"/>
    <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <Engine name="서비스명" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>
      <Host name="localhost" appBase="서비스 경로" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />
    </Engine>
  </Service>
  -->

  <Service name="test">
    <Connector port="8010" enableLookups="false" redirectPort="8443"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="euc-kr"/>
    <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <Engine name="test" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>
      <Host name="localhost" appBase="/home/test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
     <Context path="" docBase="" debug="0" reloadable="true" crossContext="true" />
      </Host>
    </Engine>
  </Service>

</Server>


-- 서비스 시작
# /usr/local/tomcat/bin/startup.sh

-- 서비스 확인 : 80 포트가 보이면 정상적으로 시작됨.
# netstat -nlt

-- 서비스 중지
# /usr/local/tomcat/bin/shutdown.sh

-- 테스트 접속
http://호스트:80

4. 서비스 자동시작

** 환경변수 등록

# vi /etc/profile

export JAVA_HOME=자바경로
export CATALINA_HOME=톰캐경로
export CLASSPATH=.:

-- 서비스 생성

# vi /etc/init.d/tomcat

#!/bin/bash
## Tomcat auto-start
## description: Auto-starts tomcat
## processname: tomcat
## pidfile: /var/run/tomcat.pid

tomcat=/usr/local/tomcat

case $1 in
  start)
    $tomcat/bin/startup.sh;;
  stop)
    $tomcat/bin/shutdown.sh;;
esac
  exit 0


-- 퍼미션 수정
# chmod 775 /etc/init.d/tomcat

-- 서비스 등록
# cd /etc/init.d
# chkconfig -add tomcat

-- 서비스 설정 옵션
# /etc/init.d/tomcat [start|stop|restart]

-- 서비스 확인 : 톰캣과 관련된 포트가 있으면 구동된 것이다.
# netstat -ntl

http://syaku.tistory.com