프로그래밍/서버(WS, WAS)

리눅스 아파치, 톰캣 연동 및 설치 상세 가이드

강남리치 2017. 9. 18. 15:08
반응형

목차 


1. 아파치 설치

1-1. 아파치 관련 설치 압축 파일(apr, apr-util, pcre, apache) 다운로드

1-2. 다운로드 받은 아파치 관련 설치 압축 파일(apr, apr-util, pcre, apache) 풀기

1-3. 개발툴 설치(./configure, make 오류 방지를 위한)

1-4. apr 컴파일 + 설치

1-5. apr-uti 컴파일 + 설치

1-6. pcre 컴파일 + 설치

1-7. apache 컴파일 + 설치

 

2. 톰캣커넥터 설치

2-1. 톰캣 커넥터 다운로드/압축풀기 및 컴파일 + 설치


3. 톰캣 설치

3-1. 톰캣 다운로드/압축풀기

 

4. 아파치, 톰캣 연동 설정

4-1. 아파치 workers.properties 파일 생성

4-2. 아파치 mod_jk.conf 파일 생성

4-3 아파치 httpd-vhosts 파일 수정

4-4. 아파치 httpd.conf 파일 수정

4-5. 톰캣 server.xml 파일 수정

4-6. 테스트 (아파치, 톰캣 시작)


AWS의 Amazon Linux AMI 환경에서 실제로 설치 과정을 기록하면서 작성했습니다^^


 




1. 아파치 설치

 

1-1. 아파치 관련 설치 압축 파일(apr, apr-util, pcre, apache) 다운로드

 

먼저 설치할 디렉터리 이동

# cd /home/conple/


apr 다운로드

# wget http://apache.mirror.cdnetworks.com/apr/apr-1.6.2.tar.gz -O apr.tar.gz

 

apr-util 다운로드

# wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.6.0.tar.gz -O apr-util.tar.gz

 

pcre 다운로드

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz -O pcre.tar.gz


apache 다운로드

# wget http://apache.tt.co.kr/httpd/httpd-2.4.27.tar.gz -O apache.tar.gz

 

 

1-2. 다운로드 받은 아파치 관련 설치 압축 파일(apr, apr-util, pcre, apache) 풀기

 

# tar -zxvf apr.tar.gz

# tar -zxvf apr-util.tar.gz

# tar -zxvf pcre.tar.gz

# tar -zxvf apache.tar.gz

 

1-3. 개발툴 설치(./configure, make 오류 방지를 위한)

 

make 시 아래와 같은 오류가 발생하는 것을 방지하기 위해 미리 개발툴을 yum으로 설치해둔다.

make: *** No targets specified and no makefile found. Stop.

yum groupinstall 'Development Tools' 'Development Libraries'

 

1-4. apr 컴파일 + 설치

 

# cd /home/conple/apr-1.6.2/

# ./configure --prefix=/home/conple/apr

# make && make install

 

 

./configure시 오류 대처 방안

오류: configure: error: no acceptable C compiler found in $PATH

원인: 컴파일러를 찾지 못해서 생기는 문제

해결: # yum -y install gcc (gcc를 설치한다.) 1-3에서 개발툴을 설치했으면 아마 자동으로 필요한 gcc가 깔려있을 것이다.

 

 

1-5. apr-uti 컴파일 + 설치

 

# cd /home/conple/apr-util-1.6.0/

# ./configure --prefix=/home/conple/aprutil --with-apr=/home/conple/apr/

# make && make install

 

make시 오류 대처 방안

오류: xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory

원인:

해결: # yum install expat-devel (expat-devel를 설치한다.) 1-3에서 개발툴을 설치했으면 아마 자동으로 필요한 expat-devel가 깔려있을 것이다.

 

 

1-6. pcre 컴파일 + 설치

 

# cd /home/conple/pcre-8.38/

# ./configure --prefix=/home/conple/pcre

# make && make install

 

 

1-7. apache 컴파일 + 설치

 

# cd /home/conple/httpd-2.4.27/

# ./configure --prefix=/home/conple/apache --enable-mods-shared=all --enable-so --enable-rewrite --enable-auth-digest --with-apr=/home/conple/apr --with-apr-util=/home/conple/aprutil --with-pcre=/home/conple/pcre

# make && make install

 

 



2. 톰캣커넥터 설치

 

2-1. 톰캣 커넥터 다운로드/압축풀기 및 컴파일 + 설치

 

# cd /home/conple/

# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz -O connector.tar.gz

 

# tar -zxvf connector.tar.gz

# cd tomcat-connectors-1.2.42-src/native/

# ./configure --with-apxs=/home/conple/apache/bin/apxs

# make && make install

 

 



3. 톰캣 설치

 

3-1. 톰캣 다운로드/압축풀기

 

# cd /home/conple/

# cd mkdir was

# cd was

# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

# tar -xvf apache-tomcat-8.5.20.tar.gz

# mv apache-tomcat-8.5.20./ tomcat

 

 


 

4. 아파치, 톰캣 연동 설정

 

4-1. 아파치 workers.properties 파일 생성

 

# cd /home/conple/apache/conf

# vi workers.properties (아래 박스와 같이 편집 후 저장)

worker.list=tomcat1

 

worker.tomcat1.port=8009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1

 

 

4-2. 아파치 mod_jk.conf 파일 생성

 

# cd /home/conple/apache/conf

# vi mod_jk.conf (아래 박스와 같이 편집 후 저장)

<IfModule mod_jk.c>

JkWorkersFile "/home/conple/apache/conf/workers.properties"

JkLogFile "logs/mod_jk.log"

JkLogLevel error

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat "%w %V %T"

</IfModule>

 

 

 

4-3 아파치 httpd-vhosts 파일 수정

 

/home/conple/apache/conf/extra/httpd-vhosts.conf 파일을 열어서 모두 주석 처리한 후 아래와 같이 내용을 추가한다.

# IP로 접속하는 것을 방지한다.

<VirtualHost *:80>

DocumentRoot /home/conple/apache/htdocs

Redirect 403 /

ErrorDocument 403 "Sorry"

UseCanonicalName Off

</VirtualHost>

 

# 톰캣 웹 서비스

<VirtualHost *:80>

# 톰캣루트가 아니고 Jk마운트하지않은

# , 아파치가 기본으로 처리할 때의 루트경로임.

DocumentRoot /home/conple/apache/htdocs

ServerName mydomain.kr

ServerAlias www.mydomain.kr

JkMount /* tomcat1

#ErrorDocument 503 /index.html


# 무조건 www로 접속되도록 하기 위한 rewrite 설정 

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.mydomain.kr [nocase]

RewriteRule ^(.*)$ http://www.mydomain.kr$1 [last,redirect=301]

</VirtualHost>

 

 

 

4-4. 아파치 httpd.conf 파일 수정

 

/home/conple/apache/conf/httpd.conf 파일을 열어서 아래와 같이 수정 한다.

 

1). LoadModule 모듈이라 선언 되어있는 부분 마지막 줄에 아래 모듈 추가

LoadModule jk_module modules/mod_jk.so

 

2) 파일 맨 끝에 include conf/mod_jk.conf 추가

 

3) Include conf/extra/httpd-vhosts.conf 주석 제거

 

 

4-5 톰캣 server.xml 파일 수정

 

/home/conple/was/tomcat/conf/server.xml 파일을 열어서 아래와 같이 수정한다.

 

1) <Connector protocol="HTTP/1.1" ... 태그에 주석달아준다.

이유: 아파치와 톰캣을 연동하므로 톰캣이 단독으로 http서비스를 실행하지않고 아파치가 제어하므로 필요없음.

 

2) <Connector protocol="AJP/1.3".. 태그 부분에 port="8009"인 것을 확인하고 8009가 아니면 8009로 맞춰준다.

이유: 4-1에서 workers.properties 파일에 커넥포트를 8009로 설정 했기 때문에

 

 

 

4-5. 테스트 (아파치, 톰캣 시작)

 

아파치 시작

# /home/conple/apache/bin/apachectl start

 

톰캣 시작

# /home/conple/was/tomcat/bin/catalina.sh start

 

 

 

반응형