본문 바로가기
OS/Linux

WAS (Tomcat + Mod_jk) 구축

by BTC_WOOK 2022. 5. 4.

★ 본 포스팅은 BTC-진상팀 WEB 구축 과 이어집니다.(https://btcd.tistory.com/119?category=927623)

 

WEB 구축

안녕하세요 BTC-진상팀입니다. 이번 포스팅은 Web & Server를이어서 Linux WebServer구축을 주제로 포스팅을 진행해 보려고 합니다. 본 내용은 Apache를 설치를 통한 클라이언트로부터 http 요청을 받아 html

btcd.tistory.com

안녕하세요~!! 지난 WEB 구축에 이어 WAS 구축하기 주제로 나타난 BTC - 진상팀입니다!!!!

지난 포스팅에서 Apache를 설치하여 간단한 WEB 페이지를 띄웠습니다.

Apache는 정적인 데이터(html/css문서 및 이미지 등)를 처리하는데에 초점이 맞추어져 있습니다.

그렇다면 이 글에서는 Tomcat + Mod_jk를 구축을 하여

Apache 에서는 정적인 처리를 하고 Mod_jk를 구축

동적 데이터를 처리하는 Tomcat과 연결하여

정적인 요청과 동적인 요청을 각각 진행 할 수 있도록 해보겠습니다!!!

 

 

들어가기전!!!! 알아야할 키워드 간단히 보겠습니다.

  • AJP : 웹서버 뒤에 있는 어플리케이션 서버로부터 웹서버로 들어오늘 요청을 위임할 수 있는 바이너리 프로토콜
  • Mod_jk : AJP프로토콜을 사용하여 톰캣과 연동하기 위해 만들어진 모듈

 

이제 본격적으로 WAS서버 구축에 들어갑니다!!


1. JAVA -Version 확인

java openjdk가 설치되어 있지 않다고 나와있습니다.

설치가 되어있으면 그대로 써도 되고 아니면 특정 버전을 사용하고 싶으면

삭제하고 새로 다운로드합니다.

<java version 확인>
java -version

2. JAVA 설치

아래방법으로 Java를 설치해보겠습니다.

<설치 이전에 wget 설치 확인>
wget

<wget 설치가 안되어 있으면 wget 설치>
yum install wget -y

<java, OpenJdk 16.0.2 다운>

wget https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz

<압축 풀기>
tar -zxvf openjdk-16.0.2_linux-x64_bin.tar.gz

<설치확인>
/usr/lib/jdk-16.0.2/bin/java -version

3. 환경변수 설정

운영체제가 컴퓨터의 어떤 경로에서든지 파일을 인식하도록 환경변수를 설정 해주도록 하겠습니다.

<환경변수 등록 경로>
vi /etc/profile

<Shift + G를 눌러 vi 편집기 제일 아래로 이동후 입력>
export JAVA_HOME=/usr/lib/jdk-16.0.2

<저장후 나가기>
:wq

<수정한 파일 저장>
source /etc/profile

4. 환경변수 확인

<등록된 환경변수 확인>
echo $JAVA_HOME

<CentOS에 등록된 환경변수 모두 보기>
export

이제 컴퓨터의 어떤 경로에서든 운영체제가 자바를 인식할 수 있게 되었습니다.


5. Alias(별칭 설정)

alias란 특정단어를 입력했을때 미리 설정해둔 명령어가 실행될 수 있도록 설정하는 기능입니다.

적용 범위에 따라 bashrc파일을 vi 편집기로 열어 Alias를 등록해 줍니다.

/etc/bashrc (모든 사용자 적용)

~/.bashrc (해당 사용자 적용)

<설정 경로 이동>
vi /etc/bashrc

<vi 편집기에서 Shift + g를 눌러 마지막줄로 이동후 아래 명령어 입력>
alias java="/usr/lib/jdk-16.0.2/bin/java"
alias javac="/usr/lib/jdk-16.0.2/bin/javac"

<저장후 나가기>
:wq

<수정한 파일 저장>
source /etc/bashrc

<jdk 등록 확인>
java -version

java - version 확인


6. Tomcat 설치

<톰캣 설치 확인>
yum list installed | grep tomcat

<톰캣 설치>
yum install tomcat* -y

<설치 경로 이동 후 설치 확인>
cd /usr/share/tomcat

ls

<톰캣 방화벽 설정 success가 나와야함.>
firewall-cmd --permanent --add-port=8080/tcp

firewall-cmd --reload

<톰캣 실행>
systemctl enable tomcat

systemctl start tomcat

<내 IP 확인>
ip a

<브라우저 주소창에 입력>
[내 IP]:8080

Tomcat창이 뜨면 설치 성공


7. mod_jk설치 및 설정

<mod_jk 설치전 필요한 컴파일러 설치>
yum install gcc gcc-c++ httpd-devel -y

yum install -y autoconf libtool httpd-devel

<mod_jk 설치>
wget https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

<mod_jk 압축 해제>
tar zxvf tomcat-connector*

<mod_jk 파일 경로 이동 및 파일 확인 컴파일>
cd tomcat-connectors-1.2.48-src

ls

cd native/

./configure --with-apxs=/usr/bin/apxs

make

<make가 컴파일 완료 후 install>
make install

<mod_jk.so파일이 생성되어있는지 확인>
cd /etc/httpd/modules/

ls -al | grep mod_jk

<mod_jk.so Selinux 보안설정 하기전 selinux설정 중요>
vi /etc/sysconfig/selinux

SELINUX=disabled -> enforcing       변경

:wq

reboot

<mode_js.so 보안설정>
chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

8. Apache 설정

<httpd.conf에 LoadModule 추가>
vi /etc/httpd/conf/httpd.conf

<주석 아래 추가>
# Example:
# LoadModule foo_module modules/mod_foo.so
# 아래부터
LoadModule jk_module modules/mod_jk.so
<VirtualHost *:80>
ServerName sm.smt.com
JkMount /*.jsp tomcat
JkMount /*.json tomcat
JkMount /*.xml tomcat
JkMount /*.do tomcat
</VirtualHost>

:wq

<mod_jk.conf 파일 생성>
vi /etc/httpd/conf.modules.d/mod_jk.conf

<아래와 같이 작성>
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties
JkShmFile run/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%y %m %d %H: %M: %S]"
</IfModule>

:wq

9. workers파일 생성

mod_jk.conf에서 workers.properties를 설정했었으니 해당 파일을 만들어야 합니다.

<workers 파일 생성>
vi /etc/httpd/conf/workers.properties

<아래와 같이 작성>
worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=10.0.0.133
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1

<Apache와 Tomcat의 document 위치 설정>
vi /etc/httpd/conf/httpd.conf


DocumentRoot "/usr/share/tomcat/webapps/ROOT"
#
# Relax access to content within /var/www.
#
<Directory "/usr/share/tomcat/webapps/ROOT">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

vi /usr/share/tomcat/conf/server.xml

vi /usr/share/tomcat/conf/server.xml

<추가>
secreRequired="false"
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

10. selinux 설정

chcon -R --type=httpd_sys_rw_content_t /usr/share/tomcat/webapps/ROOT
setenforce 0

systemctl start httpd.service
systemctl start tomcat.service


이렇게 Centos를 통해 WAS tomcatmod_jk 구현을 해보고 java jdk 환경변수도 등록을 해보았습니다.

그럼 다음 포스팅에서 만나요~!!

'OS > Linux' 카테고리의 다른 글

[ Linux ] 작업 관리 (1)  (0) 2022.05.13
[Linux] CentOS - 부팅 과정  (0) 2022.05.10
[Linux] CentOS - 접근 제어 - PAM 실습  (0) 2022.05.03
WEB 구축  (0) 2022.04.29
[Linux] CentOS - 접근 제어 - PAM 이론  (0) 2022.04.26

댓글