Linux WEB

아파치와 tomcat 연동

2008.07.01 02:19

호스트웨이 조회 수:25717

Apache + PHP + mysql + Tomcat

 

 

2008-03-20

Hostway IDC

Sakang Hong



 

1. 테스트 시스템 환경 및 소스 다운로드                                         

 

Redhat 7.3

Kernel 2.6.24.2

Apache 2.2.2

PHP 5.1.6

Mysql 5.0.22

ZendOptimizer 3.0.1

jdk-1_5_0_15-linux-i586.bin

- sun.com 에서 자바 다운로드

jakarta-tomcat-5.0.30.tar.gz

- apache.org 에서 tomcat 다운로드

tomcat-connectors-1.2.26-src.tar.gz

- apache.org 에서 tomcat 다운로드

mysql-connector-java-5.1.6.tar.gz

- mysql.com 에서 jdbc 다운로드

 

* 참고 : mirror.hostway.co.kr 에서 다운로드 가능

 

2. Mysql installation                                                            

 

[root@hostway mysql-5.0.22]# ./configure --prefix=/usr/local/mysql --with-charset=euckr

[root@hostway mysql-5.0.22]# make && make install

 

설치 완료 후 DB install permission 조정

[root@hostway src]# cd /usr/local/mysql/bin

[root@hostway bin]# ./mysql_install_db

[root@hostway src]# cd /usr/local/mysql

[root@hostway mysql]# chown -R mysql.root var

 

데이터베이스 시작

[root@hostway mysql]# /usr/local/mysql/bin/mysqld_safe &

 

 

3. Apache installation                                                                

 

아파치 소스 파일 수정

/server/mpm/prefork/prefork.c

#define DEFAULT_SERVER_LIMIT 256 2048 로 수정

 

/server/mpm/worker/worker.c

#define DEFAULT_SERVER_LIMIT 16 256 으로 수정

 

컴파일

[root@hostway httpd-2.2.2]# ./configure --prefix=/usr/local/apache2 --enable-module=so --enable-shared=max –-enable-rewrite --enable-ssl

[root@hostway httpd-2.2.2]# make && make istall

 

 

conf/extra/httpd-mpm.conf 에서 MaxClients 1024 로 수정

[root@hostway httpd-2.2.2]# /usr/local/apache2/bin/apachectl start

 

*참고 : mod_ssl 2.1.6 OpenSSL 0.8.1b 0.9.1c 버전 사이에서만 동작합니다

 

 

4. PHP & Zend installation                                                     

 

[root@hostway php-5.1.6]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-sysvshm=yes --enable-sysvsem=yes --enable-debug=no --enable-track-vars=yes --enable-url-fopen-wrapper=yes --with-ttf --with-png-dir=/usr --with-zlib-dir --with-jpeg-dir=/usr --with-gdbm=/usr --enable-ftp --with-tiff-dir=/usr --enable-memory-limit --enable-mbstring --with-expat-dir=/usr --enable-sockets --enable-wddx --with-freetype-dir=/usr --enable-bcmath --enable-mbstr-enc-trans --enable-mbregex --enable-exif --with-gd --enable-gd-native-ttf --enable-gd-imgstrttf --enable-calendar --with-openssl=/usr

 

[root@hostway php-5.1.6]# make && make install

[root@hostway php-5.1.6]# cp -a php.ini-recommended /usr/local/php/lib/php.ini

 

httpd.conf 수정

AddType application/x-httpd-php .php .htm .html

AddType application/s-httpd-php-source .phps

DirectoryIndex index.html index.htm index.php

 

Zend 설치

[root@hostway src]# cd ZendOptimizer-2.6.2-linux-glibc21-i386

[root@hostway ZendOptimizer-2.6.2-linux-glibc21-i386]# sh install.sh

 

*참고 : phpinfo 함수를 실행하여 PHP 페이지가 정상적으로 로딩되는지 확인한 후 다음 작업을 진행한다

 

 

5. java installation                                                             

 

다운로드한 jdk-1_5_0_15-linux-i586.bin 파일을 sh 명령으로 실행하고 라이센스에

동의한다. 실행이 끝나면 jdk1.5.0_15 디렉토리가 생성된다. 이것을 java 로 디렉토리

이름을 변경한다

 

[root@hostway src]# sh jdk-1_5_0_15-linux-i586.bin

[root@hostway src]# mv jdk1.5.0_15 /usr/local/java

 

6. Tomcat installation                                                          

 

소스의 압축을 풀고 디렉토리 이름을 변경한다

[root@hostway src]# tar zxvf jakarta-tomcat-5.0.30.tar.gz

[root@hostway src]# mv jakarta-tomcat-5.0.30 /usr/local/tomcat

 

그 후 /etc/profile 에 자바 환경변수를 설정하고 추가하고 적용

[root@hostway src]# vi /etc/profile

JAVA_HOME=/usr/local/java

CATALINA_HOME=/usr/local/tomcat

PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

export JAVA_HOME CATALINA_HOME

[root@hostway src]# source /etc/profile

 

tomcat 을 실행하고 netstat -atn 으로 8080 포트 확인

[root@hostway src]# cd /usr/local/tomcat/bin/

[root@hostway bin]# sh 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@hostway bin]# netstat -atn |grep 8080

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN

 

서버아이피:8080 포트에 접속하여 tomcat 페이지가 로딩되는지 확인한다.

 

 

7. tomcat-connector installation                                                

 

Tomcat의 경우 기본적으로 8080포트를 사용한다. 이것을 80포트와 연동 시키기 위해서 tomcat-connector 를 설치 한다.

 

[root@hostway src]# tar zxvf tomcat-connectors-1.2.26-src.tar.gz

[root@hostway src]# cd tomcat-connectors-1.2.26-src/native

[root@localhost native]# sh buildconf.sh (not required unless you are a developer)

[root@hostway native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs

[root@hostway native]# make && make install

 

 

mod_jk.so 모듈이 생성되었는지 확인

[root@hostway apache2]# ls -al /usr/local/apache2/modules/mod_jk.so

-rwxr-xr-x 1 root  root  736022 Mar 14 11:01/usr/local/apache2/modules/mod_jk.so

 

 

아파치 설정 파일에 모듈 추가

LoadModule jk_module        modules/mod_jk.so

 

 

httpd.conf 파일끝에 아래 설정 추가

 

 

JkWorkersFile /usr/local/tomcat/conf/workers.properties

JkLogFile /usr/local/tomcat/logs/mod_jk.log

JkLogLevel info

 

VirtualHost 설정시 아래 부분 추가

JkMount /*.jsp ajp13

JkMount /webapps/* ajp13

JkMount /ROOT/* ajp13

 

workers.properties 을 생성하고 다음 내용을 입력한다.

*참고 : 5.5 버전은 workers.properties 파일이 존재하며 톰캣, 자바 경로만 수정하면 됨

[root@hostway conf]# cd /usr/local/tomcat/conf/

[root@hostway conf]# vi workers.properties

# Start setup file

#

workers.tomcat_home=/usr/local/tomcat

workers.java_home=/usr/local/java

ps=/

worker.list=ajp12, ajp13

 

# Definition for Ajp13 worker

#

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

#

# End setup file

 

 

server.xml 편집

 

[root@localhost htdocs]# vi /usr/local/tomcat/conf/server.xml

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

위 부분을 찾아서 아래 내용 추가

      <Context docBase="/usr/local/apache2/htdocs" path=""/>

 

/usr/local/apache2/htdocs aaa.jsp 테스트 파일 생성(확장자는 jsp 로 해야함)

<%

out.println("Hello, JSP");

%>

 

 

 

8. jdbc installation                                                             

 

압축을 풀고 디렉토리 변경

[root@hostway src]# tar zxvf mysql-connector-java-5.1.6.tar.gz

[root@hostway src]# mv mysql-connector-java-5.1.6 /usr/local/mysql-jdbc

 

jdbc 환경 설정

/etc/profile

export CLASSPATH=$CLASSPATH:/usr/local/mysql-jdbc/mysql-connector-java-5.1.6-bin.jar

sourece /etc/profile

 

자바 코드로 드라이버 로딩 테스트

[root@hostway root]# vi d.java

import java.sql.*;

 

public class d{

        public static void main(String [] args){

 

                String driver = "org.gjt.mm.mysql.Driver";

                String user = "root";

                String pass = "";

                String dbURL = "jdbc:mysql://localhost/mysql";

 

                Connection conn = null;

 

                try {

                        Class.forName(driver);

                        conn = DriverManager.getConnection(dbURL, user, pass);

 

                        System.out.println("Driver found! Connection Good!");

                }catch(ClassNotFoundException cne){

 

                        System.out.println("jdbc driver not founded!");

                }catch(SQLException se){

 

                        System.out.println("sql error: "+se);

 

                }

 

        }

}

 

javac d.java 명령으로 컴파일하면 d.class 가 생성된다.

 

java d 명령 실행하여 아래와 같이 메시지를 출력하면 성공

[root@hostway root]# java d

Driver found! Connection Good!

 

"jdbc driver not founded!" 라고 나오면 mysql 에 정상적으로 접속하지 못하는것이다.


 

번호 제목 글쓴이 날짜 조회 수
63 아파치 특정폴더에 암호걸기 호스트웨이 2012.12.28 8166
62 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법-2 호스트웨이 2012.12.20 6128
61 PHP 컴파일시 에러 메세지가 나오는 경우 조치방법 호스트웨이 2012.12.14 10328
60 Ubuntu 아파치 웹서버에서 index.php 다운로드 창이 뜰 경우 호스트웨이 2012.12.13 8225
59 Symbolic link not allowed or link target not accessible 에러 발생 시 호스트웨이 2012.11.16 10558
58 CentOS6 64bit openssl 설치시 에러 조치사항 호스트웨이 2012.11.02 7608
57 [php] 세션 유지시간 설정하기 호스트웨이 2012.10.25 17798
56 Apache 재시작시 세션 끊어짐 현상 호스트웨이 2012.10.12 12760
55 apache 구동시 "파일 크기 제한을 초과함 $HTTPD -DSSL" 에러메시지 출력에 대한 해결방법 호스트웨이 2012.10.11 9404
54 failed to open stream: Too many open files in 에러메시지 출력 시 해결방법 호스트웨이 2012.10.03 7626
53 httpd-2.4 설치하기 호스트웨이 2012.09.27 14436
52 아파치 실행시 libphp5.so 에러 호스트웨이 2012.09.14 13523
51 apache internal dummy connection 로그 생성 방지하기 호스트웨이 2012.09.06 18695
50 SSL 패스워드 삭제 하기 호스트웨이 2012.09.05 20690
49 Apache Max Client 값 수정 호스트웨이 2012.08.31 19635
48 Nginx 설치 호스트웨이 2012.08.31 14898
47 nginx - redirect 설정 호스트웨이 2012.08.24 17883
46 CentOS 6.3 에 apache, php, mysql, phpmyadmin(LAMP) 설치하기 #2 호스트웨이 2012.08.07 14202
45 CentOS 6.3 에 apache, php, mysql, phpmyAdmin(LAMP) 설치하기 #1 호스트웨이 2012.08.07 17343
44 PHP 사용 시 특정함수 사용제한 하는 방법 호스트웨이 2012.08.03 11506