1. 설치 환경
-H/W : CPU-Cel 500/RAM-96M/HDD-8G
-O/S : Slackware Linux 8.1

2. 준비물
-apache_1.3.31.tar.gz (http://httpd.apache.org/download.cgi )
-jakatra-tomcat-4.1.31.tar.gz (http://mirror.apache.or.kr/jakarta/tomcat-4/v4.1.31/bin )
-jakarta-tomcat-connectors-4.1.31-src.tar.gz (http://mirror.apache.or.kr/jakarta/tomcat-4/v4.1.31/src )
-j2sdk-1_4_2_06-linux-i586.bin (http://java.sun.com/j2se/1.4.2/download.html )

3. 설치
① apache를 설치한다.
# tar xvzf apache_1.3.31.tar.gz
# cd apache_1.3.31
# ./configure --prefix=/usr/local/apache \
--htdocsdir=/home/apache/htdocs \
--iconsdir=/home/apache/icons \
--cgidir=/home/apache/cgi-bin \
--logfiledir=/var/log/apache \
--enable-shared=max \
--enable-module=so \
--enable-rule=SHARED_CORE
......중간 생략......
# make; make install

② j2sdk를 설치한다.
# chmod 777 j2sdk-1_4_2_06-linux-i586.bin
# ./j2sdk-1_4_2_06-linux-i586.bin
......중간 생략......
# mv j2sdk1.4.2_06 /usr/local/java

③ tomcat을 설치한다.
# tar xvzf jakatra-tomcat-4.1.31.tar.gz
# mv jakatra-tomcat-4.1.31 /usr/local/tomcat

④ tomcat-connector를 설치한다.(설치 후 /usr/local/apache/libexec 디렉토리에 mod_jk.so 파일이 생성되었는지 확인한다.)
# tar xvzf jakarta-tomcat-connectors-4.1.31-src.tar.gz
# cd jakarta-tomcat-connectors-4.1.31-src
# ./configure --with-apxs=/usr/local/apache/bin/apxs
......중간 생략......
# make; make install

⑤ /usr/local/apache/conf/httpd.conf 파일에 tomcat에 대한 설정 내용을 추가한다.
......중간 생략......
#
# 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.
# Please read the file http://httpd.apache.org/docs/dso.html for more
# details about the DSO mechanism and run `httpd -l' for the list of already
# built-in (statically linked and thus always available) modules in your httpd
# binary.
#
# Note: The order in which modules are loaded is important. Don't change
# the order below without expert advice.
#
# Example:
# LoadModule foo_module libexec/mod_foo.so
LoadModule env_module      libexec/mod_env.so
LoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_module     libexec/mod_mime.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule status_module    libexec/mod_status.so
LoadModule includes_module   libexec/mod_include.so
LoadModule autoindex_module  libexec/mod_autoindex.so
LoadModule dir_module      libexec/mod_dir.so
LoadModule cgi_module      libexec/mod_cgi.so
LoadModule asis_module     libexec/mod_asis.so
LoadModule imap_module     libexec/mod_imap.so
LoadModule action_module    libexec/mod_actions.so
LoadModule userdir_module   libexec/mod_userdir.so
LoadModule alias_module     libexec/mod_alias.so
LoadModule access_module    libexec/mod_access.so
LoadModule auth_module     libexec/mod_auth.so
LoadModule setenvif_module   libexec/mod_setenvif.so
LoadModule php4_module     libexec/libphp4.so
LoadModule jk_module       libexec/mod_jk.so

# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_php4.c
AddModule mod_jk.c
......중간 생략......
#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
  DirectoryIndex index.html index.php index.jsp
</IfModule>

#
# AccessFileName: The name of the file to look for in each directory
# for access control information.
#
AccessFileName .htaccess
......중간 생략......(마지막 부분)
# Configure mod_jk
JkMount /*.jsp ajp13
JkMount /webapps/* ajp13
JkMount /ROOT/* ajp13
JkWorkersFile /usr/local/tomcat/conf/workers.properties
JkLogFile /var/logs/apache/mod_jk.log
JkLogLevel info

⑥ /etc/profile 파일에 java와 tomcat에 대한 설정 내용을 추가한다.
......중간 생략......
# For Java
PATH="$PATH:/usr/local/java/bin"
export JAVA_HOME="/usr/local/java"
export CLASSPATH=./:$JAVA_HOME/lib/tools.jar:/usr/local/tomcat/common/lib/servlet.jar
export PATH=$PATH:$JAVA_HOME/bin

# For Tomcat
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CATALINA_HOME
......중간 생략......

⑦ 설정이 바뀐 /etc/profile을 시스템에 적용한다.
# source /etc/profile

⑧ /usr/local/tomcat/conf/workers.properties 파일에 java와 tomcat에 대한 설정 내용을 추가한다.(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
......중간 생략......

⑩ /usr/local/tomcat/conf/server.xml 파일에 apache에서 설정한 서버의 호스트 도메인명과 document root 디렉토리를 설정하여 준다.(이 설정을 하지 않으면, jsp의 실행은 /usr/local/tomcat/webapps/ROOT 디렉토리에서만 된다.)
......중간 생략......(마지막 부분)
         <Environment name="maxExemptions" type="java.lang.Integer" value="15"/>
         <Parameter name="context.param.name" value="context.param.value" override="false"/>
         <Resource name="jdbc/EmployeeAppDb" auth="SERVLET" type="javax.sql.DataSource"/>
         <ResourceParams name="jdbc/EmployeeAppDb">
           <parameter><name>username</name><value>sa</value></parameter>
           <parameter><name>password</name><value></value></parameter>
           <parameter><name>driverClassName</name>
             <value>org.hsql.jdbcDriver</value></parameter>
           <parameter><name>url</name>
             <value>jdbc:HypersonicSQL:database</value></parameter>
         </ResourceParams>
         <Resource name="mail/Session" auth="Container" type="javax.mail.Session"/>
         <ResourceParams name="mail/Session">
           <parameter>
             <name>mail.smtp.host</name>
             <value>localhost</value>
           </parameter>
         </ResourceParams>
         <ResourceLink name="linkToGlobalResource" global="simpleValue" type="java.lang.Integer"/>
       </Context>
     </Host>
    <Host name="서버의 호스트 도메인명">
      <Context path="" docBase="/home/apache/htdocs" reloadable="true"/>
       <Alias>서버의 호스트 도메인명</Alias>
     </Host>
   </Engine>
</Service>
</Server>

⑪ apache와 tomcat을 실행한다.
# /usr/local/apache/bin/apachectl start
# /usr/local/tomcat/bin/catalina.sh start (혹은 startup.sh)

⑫ test.jsp 코드를 입력하여 올바르게 출력되는지 확인한다.
<%@ page language="java" %>
<% out.println("hello! JSP"); %>

+ Recent posts