jdk(Java SE Development Kit)설치

java.sun.com에서 SE버전 다운로드 한다. rpm버전이든 bin버전이든 상관없음
Java SE(Standard Edition)                     Java ME(Micro Edition)                                               Java EE(Enterprise Edition)
일반적인 자바 플랫폼                              휴대폰 및 PDA의 자바 플랫폼                                   대규모자바 플랫폼. 원격 소스를 실행
                                                                                                                                                            하거나 코바(CORBA), Servlet등의
                                                                                                                                                            웹기반 플랫폼을 말한다.
java다운(1.6.0_12)
http://java.sun.com jdk 6.0 se다운
pwd
/usr/local
chmod +x jdk-6u12-linux-i586.bin
./jdk-6u12-linux-i586.bin
설치시에 라이센스 파일을 물어보는데 More라고 아래쪽에 보이면 엔터키를 눌러서 마지막까지 내려간다
Do you agree to the above license terms? [yes or no]
위의 메세지가 나타나면 라인센스에 동의한다.(yes입력)
mv jdk1.6.0_12 java
java -version으로 정상설치 확인 (버전이 출력된다)

PATH설정
/etc/profile에 추가
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
추가 후 적용 source /etc/profile
jdk설치완료

tomcat설치
http://tomcat.apache.org 5.5.x다운
톰켓 5.x 특징
 - 서블릿 2.4와 JSP 2.0 스펙을 지원
 - 보다 향상된 성능과 확장성을 제공하며 가비지 컬렉션을 감소
 - 윈도우와 유닉스 wrapper의 플래폼 통합
 - 보다 빠른 JSP파싱

톰켓 6.x 특징
 - 서블릿 2.5와 JSP 2.1 스펙을 지원
 - Unified Expression Language 2.1을 지원
 - Java SE 5.0과 5.0버전 이상에서만 동작
 - Comet 프로세스 인터페이스 지원
6.x버전을 사용하지 않고 5.x버전을 사용하는 이유는 아직 6.x버전은 안정화 되어있지 않으며, 대부분의 jsp웹페이지 개발이
4.x 혹은 5.x버전으로 구성되어있기 때문이다. 즉 호환성을 위해서 5.x버전이 안정적이다.
tomcat 5.5.27
pwd
/usr/local
tar zxvf  apache-tomcat-5.5.27.tar.gz
mv apache-tomcat-5.5.27 tomcat
이렇게하면 설치가 완료된것이다. ^^;;

클래스경로설정
/etc/profile
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat <--- 추가
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar:$CATAINA_HOME/common/lib/jsp-ap.jar:$CATALINA_HOME/common/lib/servlet-api.jar <---추가
cd tomcat/bin
./startup.sh
[root@ns jsp]# /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 JRE_HOME:       /usr/local/java

tomcat 시작시 Using JRE_HOME: 경로가 /usr/local/java라고 나타나야된다.
tomcat 기본포트인 8080포트를 방화벽에 추가한다.
접속 url형식 : http://서버 IP 또는 도메인:8080
고양이 그림이 나타나고 좌측메뉴에서 Example항목 중 JSP Examples링크와 Servlet Examples링크를 클릭하여 예제파일의 실행을 확인하고 에러가 생기지 않으면 java+tomcat설치는 정상적으로 된것이다.

좌측메뉴의 Tomcat Manager를 사용 할 경우에는 설정파일에서 관리자 아이디와 패스워드를 추가해주면된다
vi /usr/local/tomcat/conf/tomcat-users.xml
  <role rolename="admin"/>  - 추가
  <user username="admin" password="패스워드" roles="admin,manager"/>
추가 후 tomcat 재시작 ./shutdown.sh ./start.sh

/etc/rc.d/init.d에 톰캣추가
/etc/rc.d/init.d/tomcat 스크립트 작성
#!/bin/sh
#
# Startup script for Tomcat, the Apache Servlet Engine
#
# chkconfig: 35 85 35
# description: Start Tomcat
#
# processname: tomcat
#
# Source function library.
. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin


# See how we were called.
 case "$1" in
 start)
 echo -n "Starting tomcat:"
 daemon $CATALINA_HOME/bin/startup.sh
 touch /var/lock/subsys/tomcat
 echo
 ;;
 stop)
 echo -n "Shutting down tomcat:"
 daemon $CATALINA_HOME/bin/shutdown.sh
 rm -f /var/lock/subsys/tomcat
 echo
 ;;
 restart)
 $0 stop
 sleep 2
 $0 start
 ;;
 *)
 echo "Usage: $0 {start|stop|restart}"
 exit 1
 esac

 exit 0
/etc/init.d/tomcat stop, /etc/init.d/tomcat start, /etc/init.d/tomcat restart가 정상적으로 되는지 테스트 해본다
톰켓서버를 80포트로 사용하고자 한다면 기존의 아파치서버는 중지하고, 톰캣의 서버설정파일 server.xml파일에서
아래부분의 포트번호를 80으로 수정한 후 톰캣을 재시작한다
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />

tomcat-connector(2.0.4)설치
tomcat.apache.org에서 tomcat-connector다운
pwd
/usr/local
tar xvfp jakarta-tomcat-connectors-jk2-src-current.tar.tar 
cd /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./buildconf.sh
./configure --with-apxs2=/usr/local/apache/bin/apxs
make
cd /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2/mod_jk2.so -> 퍼미션 755확인
/usr/local/apache/bin/apxs -n jk2 -i mod_jk2.so

/usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool' mod_jk2.so /usr/local/apache/modules
/usr/local/apache/build/libtool --mode=install cp mod_jk2.so /usr/local/apache/modules/
cp mod_jk2.so /usr/local/apache/modules/mod_jk2.so
Warning!  dlname not found in /usr/local/apache/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache/modules/mod_jk2.so

vi /usr/local/tomcat/conf/jk2.properties  파일을 만든다
channelSocket.port=8009
shm.file=/usr/local/apache/logs/jk2.shm
apr.jniModeSo=inprocess

vi /usr/local/apache/conf/workers2.properties  파일을 만든다

[shm]
file=/usr/local/apache/logs/jk2.shm
size=1048576

[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

[uri:/examples/*]
worker=ajp13:localhost:8009

[uri:/*.jsp]
worker=ajp13:localhost:8009

[uri:/servlets-examples/*]
worker=ajp13:localhost:8009

[uri:/jsp-examples/*]
worker=ajp13:localhost:8009

httpd.conf에 추가
DirectoryIndex index.php index.htm index.html index.jsp
AddType application/x-httpd-php .php .html .jsp

LoadModule jk2_module    modules/mod_jk2.so

<IfModule mod_jk.c>
JkWorkersFile /usr/local/tomcat/conf/jk2.properties
JkLogFile /usr/local/tomcat/logs/jk.log
JkLogLevel info
</IfModule>

아파치가상호스트 설정
톰켓 가상호스트 작성 - /usr/local/tomcat/conf/server.xml
<Host name="jsp.ysy2080.com" appBase="/home/ysy2080/public_html/jsp"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="" debug="1"/>

documentroot경로에 index.jsp생성
<%@ page contentType="text/html; charset=EUC-KR"%>
<%
request.setCharacterEncoding("euc-kr");
%>
<TITLE>안녕하세요</TITLE>
<!-- the variable, message, is declared and initialized -->
<%!
String message = "Hello, World, 안녕하세요";
%>
</HEAD>
<BODY>
<!-- the value of the variable, message, is inserted between h2 tags -->
<h2><font color="#AA0000"><%= message%></font></h2>
<h3><font color="#AA0000">
<!-- the java.util.Date method is executed and the result inserted between h3 tags -->
<%= new java.util.Date() %>
</font></h3>
</BODY>
</HTML>

확인
http://jsp.ysy2080.com