SaevOps
[CentOS7] Apache Tomcat 연동 본문
본 게시물은 아파치,톰캣이 설치되어 있는 환경에서 시작됩니다.
설치하지 않으셨다면 아래 링크를 통해 설치하고 오시길 바랍니다!
톰캣 설치 : [CentOS7] MariaDB설치 yum install (tistory.com)
[CentOS7] MariaDB설치 yum install
시작하기 앞서 본 게시글은 VirtualBox로 CentOS7 환경에서 만들어졌음을 알립니다. VirtualBox _ CentOS7 가상머신환경으로 시작합니다. Window환경) putty를 사용하면 복사 붙여넣기 하기 용이합니다. ( 보통
shyen.tistory.com
아파치 설치 : [CentOS7] Apache설치 yum install (tistory.com)
[CentOS7] Apache설치 yum install
시작하기 앞서 본 게시글은 VirtualBox로 CentOS7 환경에서 만들어졌음을 알립니다. VirtualBox _ CentOS7 가상머신환경으로 시작합니다. Window환경) putty를 사용하면 복사 붙여넣기 하기 용이합니다. ( 보통
shyen.tistory.com
Apahe Tomcat 연동
1) apache tomcat connectors 다운로드
먼저 밑에 링크를 따라가서 TomcatConnector를 다운받아줍니다.
https://tomcat.apache.org/download-connectors.cgi
Apache Tomcat® - Tomcat Connectors (mod_jk) Downloads
You must verify the integrity of the downloaded files. We provide OpenPGP signatures for every release file. This signature should be matched against the KEYS file which contains the OpenPGP keys of Tomcat's Release Managers. We also provide SHA512 checksu
tomcat.apache.org
아래에 보이는 tar.gz 를 우측마우스 클릭하여 링크를 복사해줍니다.
cd /home
wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz --no-check-certificate
tar -zxvf tomcat-connectors-1.2.48-src.tar.gz
이후 home 디렉토리로 이동하여 다운받고 압축해제합니다.
--no-check-certificate 옵션을 사용하여 다운에 문제가 생기지 않도록 합니다.
2022.03.17 기준 최신버전 : 1.2.48
2-1) gcc, gcc-c++, httpd-devel 다운로드
yum 명령어를 사용하여 컴파일에 필요한 rpm들을 다운받아줍니다.
yum -y install gcc gcc-c++ httpd-devel
2-2) makefile
find / -name apxs
apxs의 위치를 찾아보고 connectors의 native폴더로 이동후 configure을 실행해줍니다.
modules에 mod_jk.so가 설치되었나 확인 후 selinux의 설정을 변경하고 적용시켜줍니다.
./configure --with-apxs=/usr/bin/apxs
make && make install
ls /etc/httpd/modules | grep mod_jk.so
chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
setenforce 0
3) Apache 설정 (1)
vi /etc/httpd/conf/httpd.conf
vi 편집기를 사용하여 LoadModule을 추가하여 줍니다.
다음 내용을 추가해줍니다.
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkShmFile run/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%y %m %d %H:%M:%S]"
JkMountFile conf/uriworkermap.properties
</IfModule>
1. jk_module 로드
2. 만약 jk_module을 사용한다면
3. workfile ( 일하는 was 지정 ) 은 workers.properties에 존재한다. ( 밑에서 만들어 낼 파일 )
4. mountFile : 톰캣이 일할 파일형식 지정 ( 밑에서 만들어 낼 파일 )
4) workers.properties 파일 생성 및 내용 추가
vi /etc/httpd/conf/workers.properties
vi편집기를 통해 파일을 생성하고 내용을 추가해줍니다.
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
1. ajp13 이라는 일꾼 생성
2. ajp13의 포트는 8009
3. ajp13의 ip주소는 로컬호스트(자기자신)
4. ajp13 프로토콜 타입은 ajp13
5. ajp13의 로드밸런서는 1 ( 부하분산용으로 나중에 쓸 예정 )
5) uriworkermap.properties 파일 생성 및 내용 추가
vi /etc/httpd/conf/uriworkermap.properties
/*.jsp=ajp13
.jsp 파일 형식으로 된 모든 것은 ajp13 이라는 일꾼이 처리 할 것입니다.
6) 톰캣 ajp13 통신 확인
vi /usr/share/tomcat/conf/server.xml
저기가 주석처리되어 있을 경우가 있기때문에 주석이 되어있다면 해제, 해제되어있다면 패스!
7) Apache 설정 (2)
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>
/var/www로 되어 있는 디렉토리 설정을 바꾸어줍니다.
아파치가 기본적으로 읽어오는 루트가 /var/www인데 이것을 톰캣 경로로 바꾸어줌으로써 톰캣폴더에 있는 웹페이지를 가져올 수 있습니다.
밑에 권한은
AllowOverride None : 상위 디렉토리 접근 금지
Require All granted : 모든 요구 허용
을 의미합니다.
권한이 잘못되면 access할 수 없다는 에러가 뜨며 홈페이지 정보가 뜨지 않습니다. 오타와 권한설정에 유의할 것!
8. Apache 설정 (3)
다시 httpd/conf/httpd.conf 파일을 수정해줍니다.
/servername ~ 주석처리되어 있는 부분 바로 밑에 작성하면 됩니다.
vi /etc/httpd/conf/httpd.conf
서버이름을 지정합니다.
ServerName localhost:80
9. Selinux 설정
1. 톰캣에 Root폴더에 대한 selinux 설정
2. selinux 변경사항 적용
chcon -R -t httpd_sys_rw_content_t /usr/share/tomcat/webapps/ROOT
setenforce 0
10. 재시작 후 완성 홈페이지 확인 ! ( html, jsp 둘다 테스트해볼것! )
systemctl restart httpd
systemctl restart tomcat
curl localhost/index.html
톰캣과 아파치를 연동하는 과정들은 처음하면 어렵고 복잡합니다.
하지만 아파치와 톰캣을 연동하는 이유를 공부하며 작성하면 아? 이런것도 설정해야될텐데? 하는 부분들이 있습니다.
2개 이상의 톰캣을 아파치에 연결할 경우도 추후 포스팅하도록 하겠습니다. ( 보안 설정 덜덜.. )
'Opensource' 카테고리의 다른 글
[CentOS7] nginx 설치 (0) | 2022.03.24 |
---|---|
[CentOS7] Tomcat MariaDB 연동 (0) | 2022.03.18 |
[CentOS7] MariaDB설치 yum install (0) | 2022.03.17 |
[CentOS7] Apache설치 yum install (0) | 2022.03.17 |
[CentOS7] Tomcat 설치 yum install (2) | 2022.03.17 |