★ 본 포스팅은 BTC-진상팀 WEB 구축 과 이어집니다.(https://btcd.tistory.com/119?category=927623)
안녕하세요~!! 지난 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
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
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
<추가>
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 tomcat 및 mod_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 |
댓글