관공서 쪽 관리하는 경우가 많다보니 이래저래 구글링을하다가 입맛에 맞는 것을 득템!!
내 나름대로 수정을 하여 설치 성공한 이력을 남겨 놓자~
※ 설치 환경
- OS : CentOS 6.5 32bit 및 64bit
--------------------------------------------------------------------------------
Ⅰ. 설치 전 준비
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel libtool libtool-libs openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool-ltdl libtool-ltdl-devel bison
yum groupinstall "Development Tools"
yum -y install gd gd2 gd-devel gd2-devel wget pcre openssl* perl libaio
- 설치소스 Download
http://dev.mysql.com/downloads/mysql/#downloads
Generic Linux (Architecture Independent), Compressed TAR Archive download
# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-i686.tar.gz
Gernerally Available (GA) Releases, Source Code : Compressed TAR Archive download
# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
# wget http://mirror.apache-kr.org/httpd/httpd-2.4.7.tar.gz
# wget http://mirror.apache-kr.org/apr/apr-1.5.0.tar.gz
# wget http://mirror.apache-kr.org/apr/apr-iconv-1.2.1.tar.gz
# wget http://mirror.apache-kr.org/apr/apr-util-1.5.3.tar.gz
php : http://www.php.net/downloads.php#v5
# wget http://kr1.php.net/get/php-5.5.8.tar.gz/from/this/mirror
libiconv : http://www.gnu.org/software/libiconv/#downloading
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
libmcrypt : http://sourceforge.net/projects/mcrypt/files/Libmcrypt/
# wget ftp://ftp.superuser.co.kr/etc/libmcrypt-2.5.7.tar.gz
# wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
mhash : http://mhash.sourceforge.net/
# wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download
mcrypt : http://sourceforge.net/projects/mcrypt/
# wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
ImageMagick: http://www.imagemagick.org/script/download.php
# wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.8.8-4.tar.gz
imagick: http://pecl.php.net/package/imagick
# wget http://pecl.php.net/get/imagick-3.1.2.tgz
Tomcat 8.0 : http://tomcat.apache.org/download-80.cgi
# wget http://mirror.apache-kr.org/tomcat/tomcat-8/v8.0.0-RC10/bin/apache-tomcat-8.0.0-RC10.tar.gz
Tomcat Native: http://tomcat.apache.org/download-native.cgi
# wget http://mirror.apache-kr.org/tomcat/tomcat-connectors/native/1.1.29/source/tomcat-native-1.1.29-src.tar.gz
Tomcat Connector : http://tomcat.apache.org/download-connectors.cgi
# wget http://mirror.apache-kr.org//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz
jdk : http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
# wget http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz
pcre: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz
* 위의 모든 소스를 모아 압축해둔 것을 첨부하여 놓는다.
Ⅱ. MySQL
1. 기존 mysql 제거
yum erase mysql-libs
2. 의존성 패키지 설치
yum install cmake.x86_64
yum install ncurses-devel.x86_64
--------------- or ---------------
yum install cmake.i686
yum install ncurses-devel.i686
3. 컴파일
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all
# make
# make install
4. 환경 설정
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
다음 항목을 [mysqld] 영역에 추가
########################
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysql.sock
explicit_defaults_for_timestamp=true
########################
5. 사용자 추가 및 DB 설치
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local
chown -R mysql:mysql mysql
cd mysql
scripts/mysql_install_db \
--user=mysql \
--datadir=/usr/local/mysql/data \
--basedir=/usr/local/mysql
6. MySQL 시동파일 구성 및 시작
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
/etc/init.d/mysqld start
7. root 패스워드 및 보안 설정
/usr/local/mysql/bin/mysql_secure_installation
Enter current password for root (enter for none): 엔터
Set root password? [Y/n] Y
New password: 패스워드입력
Re-enter new password: 패스워드입력
Password updated successfully!
Reloading privilege tables..
... Success!
8. 리눅스 시작시 mysql 구동되도록 설정
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld
Ⅲ. Tomcat 8 설치
1. apr 1.4.8 설치
tar zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make
make install
2. apr-iconv 설치
tar zxvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install
3. apr-util 설치
tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make
make install
4. jdk 설치
rpm -ivh jdk-7u45-linux-x64.rpm
5. Tomcat 8.0 설치
tar zxvf apache-tomcat-8.0.0-RC10.tar.gz
mv apache-tomcat-8.0.0-RC10 /usr/local/
cd /usr/local/
mv ./apache-tomcat-8.0.0-RC10 ./tomcat-8.0.0-RC10
tar xvzf tomcat-native-1.1.29-src.tar.gz
cd tomcat-native-1.1.29-src/jni/native/
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_51/ --libdir=/usr/local/lib64
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_51/ --libdir=/usr/local/lib
make
make install
a. 환경구성
vi /etc/profile 파일의 마지막에 다음 행 추가
export LD_LIBRARAY_PATH=/usr/local/apr/lib
export JAVA_HOME=/usr/java/jdk1.7.0_51
export TOMCAT_HOME=/usr/local/tomcat-8.0.0-RC10
export PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
b. 설정 확인을 위해 다음 명령 실행
# source /etc/profile
# java -version
************* 다음 내용이 출력되면 성공 ***************************
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
*****************************************************************
### 그냥 두고 jdk 버전의 순서를 변경하는 경우
우선 현재 java config를 살펴보자
# update-alternatives --config java
3 개의 프로그램이 'java'를 제공합니다.
선택 명령
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
자동적으로 설치된 openjdk가 자리잡고 있다.
그러므로, 위에 설치한 버전을 config에 추가하고 선택해주어야 한다.
우선 config에 추가
-- 사용법: update-alternatives --install <링크> <이름> <경로> <우선순위>
# update-alternatives --install /usr/bin/java java /usr/local/jdk1.7.0_45/bin/java 3
그럼 추가가 됐는지 볼까요?
# update-alternatives --config java
3 개의 프로그램이 'java'를 제공합니다.
선택 명령
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
3 /usr/java/jdk1.7.0_51/bin/java
현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오 :
3)에 추가가됐네요! 그럼 3을 입력하고 엔터키...
# update-alternatives --config java
3 개의 프로그램이 'java'를 제공합니다.
선택 명령
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
+ 3 /usr/java/jdk1.7.0_51/bin/java
3이 선택된 것을 알 수 있습니다.
그리고 버전을 출력하면,
#java -version
Java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)
위와 같이 위에서 설치한 sun Java가 잡혀있는 것을 볼 수 있다.
c. 방화벽 포트를 오픈
iptables -A INPUT -m state -state NEW -m tcp -p tcp -dport 8080 -j ACCEPT
service iptables save
service iptables restart
d. tomcat 시작/정지
/usr/local/tomcat-8.0.0-RC10/bin/startup.sh
# tomcat 시작
/usr/local/tomcat-8.0.0-RC10/bin/shutdown.sh
# Tomcat 정지
e. 테스트
http://server-ip:8080/
f. 구동파일 생성
vi /etc/init.d/tomcat
다음 내용을 추가
#################################################
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
export JAVA_HOME=/usr/java/jdk1.7.0_51
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat-8.0.0-RC10
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
#################################################
chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on
chkconfig --list tomcat
Ⅳ. apache 설치
1. pcre 설치
pcre-8.33.tar.gz
# tar zxvf pcre-8.33.tar.gz
# cd pcre-8.33/
# ./configure --libdir=/usr/local/lib64
# ./configure --libdir=/usr/local/lib
# make && make install
ln -s /usr/local/lib64/libpcre.so.1 /lib (64bit 일때만)
2. apache 설치
tar -xvzf httpd-2.4.7.tar.gz
cd httpd-2.4.7
groupadd apache
useradd -g apache apache
./configure --prefix=/usr/local/apache-2.4.7 \
--enable-authn-alias \
--enable-cache \
--enable-file-cache \
--enable-mem-cache \
--enable-disk-cache \
--enable-mods-shared=most \
--enable-proxy=shared \
--enable-proxy-ajp=shared \
--enable-proxy-ajp=shared \
--enable-dav=shared \
--with-apr=/usr/local/apr/ \
--with-apr-util=/usr/local/apr-util/ \
--enable-ssl \
--enable-dav \
--enable-cgi \
--with-mpm=event \
--enable-cgid \
--enable-vhost-alias \
--enable-rewrite \
--enable-forward=shared \
--enable-proxy-connect=shared \
--enable-proxy-http=shared \
--enable-deflate=shared \
--enable-so \
--enable-headers=shared \
--enable-include=shared \
--enable-rewrite=shared
make&&make install
3. Apache 사용자 지정을 위해 /usr/local/apache-2.4.7/conf/httpd.conf 파일 수정
User apache
Group apache
4. Apache 시작
/usr/local/apache-2.4.7/bin/apachectl start
테스트
http://server-ip
It Works!가 보이면 정상
5. 구동 파일 설정
cp /usr/local/apache-2.4.7/bin/apachectl /etc/rc.d/init.d/httpd
vi /etc/rc.d/init.d/httpd
다음 5줄을 #을 포함하여 위 파일의 상단부에 복사
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/apache-2.4.7/bin/apachectl
# config: /usr/local/apache-2.4.7/conf/httpd.conf
# pidfile: /usr/local/apache-2.4.7/logs/httpd.pid
chkconfig --add httpd
chkconfig httpd on
chkconfig --list httpd
아파치 재시작
/etc/rc.d/init.d/httpd restart
Ⅴ. php-5.5.8 설치
1. PHP 5 지원 라이브러리 설치
a. libiconv(문자 인코딩 라이브러리)
tar xvzf libiconv-1.14.tar.gz
cd libiconv-1.14/
./configure --prefix=/usr/local --libdir=/usr/local/lib64
./configure --prefix=/usr/local --libdir=/usr/local/lib
make && make install
cd ..
b. libmcrypt(PHP에서 암호화 해독 알고리즘인 mcryp를 사용하기 위해서 설치해야 한다)
tar xvzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local --libdir=/usr/local/lib64
./configure --prefix=/usr/local --libdir=/usr/local/lib
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install --libdir=/usr/local/lib64
./configure --enable-ltdl-install --libdir=/usr/local/lib
make && make install
cd ../../
c. mhash(hash암호화 알고리즘)
tar xvzf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure --prefix=/usr/local --libdir=/usr/local/lib64
./configure --prefix=/usr/local --libdir=/usr/local/lib
make && make install
cd ..
d. mcrypt 설치
tar xvzf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure --prefix=/usr/local --libdir=/usr/local/lib64
./configure --prefix=/usr/local --libdir=/usr/local/lib
make && make install
cd ..
-- 오류 해결 방법 : configure: error: *** libmcrypt was not found
# vi .bash_profile (root 계정을 사용할 수 있을 경우 /etc/ld.so.conf 파일에 추가, 이 때 디렉토리들만 추가할 것)
---------------------------- 라이브러리 환경변수 추가 ------------------------
...
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
...
# source .bash_profile
* 또는 root 권한이 있을 경우, /etc/ld.so.conf 파일 수정
# vi /etc/ld.so.conf
...
include ld.so.conf.d/*.conf
/lib
/usr/lib
/usr/local/lib
...
# ldconfig
2. php-5.5.8 설치
yum install libxml2-devel bzip2-devel libcurl-devel openldap-devel
tar xvzf php-5.5.8.tar.gz
mysql lib를 64비트로 인식되도록 변경
ln -s /usr/local/mysql/lib /usr/local/mysql/lib64
./configure --prefix=/usr/local/php-5.5.8 \
--with-libdir=lib64 \
--with-config-file-path=/usr/local/php-5.5.8/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-apxs2=/usr/local/apache-2.4.7/bin/apxs \
--with-pear=/usr/share/php \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-maintainer-zts \
--enable-opcache \
--with-curl \
--with-iconv-dir=/usr/local \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-ldap \
--with-ldap-sasl \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-bz2 \
--enable-static \
--enable-intl \
--enable-exif \
--with-pdo-mysql=/usr/local/mysql \
--with-gettext
configure 오류시 : configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
# yum -y install icu libicu-devel
# ldconfig
configure 오류시 : configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
해결방법 : 심볼릭 링크 생성
# ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib
# ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/
# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib
# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
make
iconv관련 링크에러가 날 경우 vi 로 Makefile 을 열어서 EXTRA_LIBS 를 찾아 -liconv 를 추가
# cd /usr/local/php-5.5.8
# vi ./Makefile
/EXTRA_LIBS 명령어로 검색
-liconv 추가
make 오류시 : error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
# vi /etc/ld.so.conf
아래 내용 추가
###################################
/usr/local/mysql/lib
/usr/local/mysql/lib64
###################################
make install
3. php구성 파일 생성
cp -f php.ini-production /usr/local/php-5.5.8/etc/php.ini
4. opcache 활성화
/usr/local/php-5.5.8/etc/php.ini 의 opcache 부분을 아래와 같이 변경
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
;opcache.max_wasted_percentage=5
;opcache.use_cwd=1
;opcache.validate_timestamps=1
opcache.revalidate_freq=60
;opcache.revalidate_path=0
;opcache.save_comments=1
;opcache.load_comments=1
opcache.fast_shutdown=1
;opcache.enable_file_override=0
;opcache.optimization_level=0xffffffff
;opcache.inherited_hack=1
;opcache.dups_fix=0
;opcache.blacklist_filename=
;opcache.max_file_size=0
;opcache.consistency_checks=0
;opcache.force_restart_timeout=180
;opcache.error_log=
;opcache.log_verbosity_level=1
;opcache.preferred_memory_model=
;opcache.protect_memory=0
맨 끝에 다음 내용 추가
zend_extension=/usr/local/php-5.5.8/lib/php/extensions/no-debug-zts-20121212/opcache.so
Ⅵ. PHP5확장모듈 컴파일 및 설치
1. ImageMagick-6.8.8-3.tar.xz 설치
ImageMagick은 TIFF, JPEG, GIF, PNG, PDF 및 기타 포토 CD 등 89가지 이상의 이미지의 읽기, 쓰기 및 처리하는 데 사용할 수 있는 안정적인 도구 및 개발 키트 세트입니다
tar xvzf ImageMagick-6.8.8-3.tar.gz
cd ImageMagick-6.8.8-3
./configure --libdir=/usr/local/lib64
./configure --libdir=/usr/local/lib
make && make install
cd ..
2. imagick-3.1.2.tgz 설치
yum -y install gtk2-devel* gtk+extra
tar -zxvf imagick-3.1.2.tgz
cd imagick-3.1.2
/usr/local/php-5.5.8/bin/phpize
./configure --with-php-config=/usr/local/php-5.5.8/bin/php-config
make && make install
vi /usr/local/php-5.5.8/etc/php.ini
"Dynamic Extensions" 부분 마지막 라인에 추가
extension=/usr/local/php-5.5.8/lib/php/extensions/no-debug-zts-20121212/imagick.so
cd ..
3. php
# echo "/usr/local/php-5.5.8/lib" >> /etc/ld.so.conf
# ldconfig
4. php-cgi 프로세스 시작
cd /usr/local/php-5.5.8/etc
cp php-fpm.conf.default php-fpm.conf
올바른 구분을 시작하기 전에 다음 php-fpm.conf 를 테스트 할 수 있습니다.
/usr/local/php-5.5.8/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-5.5.8/etc/php-fpm.conf test is successful
위 메세지가 나오면 성공
/usr/local/php-5.5.8/sbin/php-fpm 실행
5. apache 에서 PHP5 지원
vi /usr/local/apache-2.4.7/conf/httpd.conf
#아래 LoadModule 추가
LoadModule php5_module modules/libphp5.so
#AddType 추가
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
바로 아래 아래 스크립트 추가
AddType application/x-httpd-php .php .php3 .inc
AddType application/x-httpd-php-source .phps
아파치 재시작
/usr/local/apache-2.4.7/bin/apachectl restart
libconv 에러 발생시 /usr/local/apache-2.4.7/bin/apachectl 와 /etc/rc.d/init.d/httpd 의 맨 위에 다음 라인 추가
export LD_PRELOAD=/usr/local/lib64/libiconv.so
-------------------- or --------------------
export LD_PRELOAD=/usr/local/lib/libiconv.so
6. php지원 여부 테스트
cd /usr/local/apache-2.4.7/htdocs
echo "<?php phpinfo(); ?>" > phpinfo.php
http://server-ip/phpinfo.php,정상적으로 출력되는 지 확인
Ⅶ. apache와 tomcat 통합
1. mod_jk 생성
tomcat-connectors-1.2.37-src.tar.gz
tar xvzf tomcat-connectors-1.2.37-src.tar.gz
cd tomcat-connectors-1.2.37-src/
cd native
./configure --with-apxs=/usr/local/apache-2.4.7/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache-2.4.7/modules/
2. 설정파일 복사
cd ../conf
cp httpd-jk.conf /usr/local/apache-2.4.7/conf/mod_jk.conf
cp workers.properties /usr/local/apache-2.4.7/conf/
a. mod_jk.conf 설정
vi /usr/local/apache-2.4.7/conf/mod_jk.conf
다음 내용 추가:
JkWorkersFile /usr/local/apache-2.4.7/conf/workers.properties
JkLogFile /usr/local/apache-2.4.7/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /servlet/* worker1
JkMount /*.jsp worker1
JkMount /application/* worker1
JkMount /*.do worker1
JkMount /*.class worker1
JkMount /*.jar worker1
########해석#############
1. JkMount 위치는 Tomcat이 해석을 담당, JkUnMount는 반대임
2. JkMount /test/* worker1 의 의미는 test 디렉토리 아래는 Tomcat이 처리를 담당
3. jsp와servlet은 tomcat이 처리, 그 외 그림이나 정적 파일은 Apache가 처리
###################
b. vi /usr/local/apache-2.4.7/conf/workers.properties
마지막줄에 다음 내용 추가:
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=192.168.1.185
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
c. apache 설정파일 수정
vi /usr/local/apache-2.4.7/conf/httpd.conf
다음 내용 추가 --------------------------
Include /usr/local/apache-2.4.7/conf/mod_jk.conf
# 위 mod_jk.conf 파일의 맨 위에 아래 라인이 있는 지 확인
LoadModule jk_module modules/mod_jk.so
d. TOMCAT 설정 변경
cd /usr/local/tomcat-8.0.0-RC10/conf
vi server.xml
<Host 를 찾음
(다음과 같음: <Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">)
다음 줄에 다음 내용을 추가:
<Context path="" docBase="/usr/local/tomcat-8.0.0-RC10/webapps"
debug="0" reloadable="true" crossContext="true"/>
########dobase 경로는 /usr/local/apahce/htdocs 로 변경 가능#####
e. apache와 tomcat을 다시 시작
apache 재시작
/usr/local/apache-2.4.7/bin/apachectl stop
/usr/local/apache-2.4.7/bin/apachectl start
tomcat 재시작
/usr/local/tomcat-8.0.0-RC10/bin/shutdown.sh
/usr/local/tomcat-8.0.0-RC10/bin/startup.sh
이 시점에서,tomcat과 apache 통합 완료!
성공여부 확인 :
/usr/local/apache-2.4.7/logs/mod_jk.log 확인
다음과 같은 라인이 나오면 성공!
[Sun Sep 22 23:21:18 2013][15053:3078219984] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
테스트:
vi /usr/local/tomcat-8.0.0-RC10/webapps/test.jsp
다음 내용 추가:
<html>
<h1>JSP test<hr>
<%out.println("Hello World!");%>
</html>
http://server-ip/test.jsp
출력결과: HELLO WORLD