리눅스 | 서버

[교육] mod_ssl 모듈을 추가한 아파치 재 설치 + 아파치 톰캣 연동

토도 2024. 6. 26. 18:01

차주 과제

아파치 + 웹서버 연동

  1. 아파치 연동 => 동일 소스 사용버전(아파치, 톰켓이 같은 소스 폴더 적용)
  2. 아파치 연동 => html, css, js, img 등은 아파치소스 폴더, jsp는 was 소스 폴더로 분리하여 설정
  3. ssl 을 위 1번과 2번중 하나를 골라 설정

ssl은 3개월 무료 버전사용

도메인은 임의로 적용해 host 사용


 

* 부장님이 준 힌트 

3. mod_ssl.so 설치 및 적용
1) httpd -l 로 검색(https://openlife.tistory.com/272)
mod_ssl.c 면 정적으로설치된것
mod_so.c면 동적으로 설치된 것으로 modules에 mod_ssl.so가 있는지 확인
없다면 apache configure 부터 ssl 적용해서 다시 설치(아파치 자동설치는 yum install mod_ssl https://waspro.tistory.com/383)
2) mod_ssl.so를 설정(mod_ssl.so가 생성되어도 LoadModule을 수동으로 설정해야 함)
LoadModule ssl_module   modules/mod_ssl.so

 

아파치에 처음 설정 모듈에  mod_ssl.so가 있어야 되는데 

나는 설치할 때 그걸 몰랐다.. 다시 깔아야함

아파치 설치 후  mod_ssl을 설치 하는 방법이 있긴 한거 같은데 해보니까 원하는대로 되지 않아

 

원래 깔려있던 /engine에 있는 /apache /apache2.4를 삭제 했음

 

그리고 다시 설치하기 시작.. 전 포스트를 고대로 따라하는데 

 

아파치를 설치할 때 요 아래 블로그를 참고하여 내 옵션으로 변형 해주면 되는 것이야

 


근데 보면 with-ssl이라는 옵션이 있는데 여기에 이미 open ssl이 깔려있어야 한다네

그렇다면 그러도록 하지

 

지피티가 이렇게 하래요

 

네, OpenSSL을 /engine/apache2.4 경로에 설치할 수 있습니다. 이를 위해 소스에서 OpenSSL을 설치한 후, Apache를 컴파일할 때 해당 경로를 지정하면 됩니다. 다음은 OpenSSL을 지정된 경로에 설치하고 Apache를 컴파일하는 방법입니다.

1. OpenSSL 설치
먼저, OpenSSL을 /engine/apache2.4/openssl 경로에 설치합니다.

# OpenSSL 소스 코드 다운로드
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xzf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k

# OpenSSL을 /engine/apache2.4 경로에 설치

./config --prefix=/engine/apache2.4 --openssldir=/engine/apache2.4

make && make install

 

 

요렇게  wget 해주고여

tar 도 해줌니다

 

./config --prefix=/engine/apache2.4 --openssldir=/engine/apache2.4

make && make install 명령어도 해주고

 

그럼 openssl 라이브러리 설치완료 

 

 

그럼 아까 다시 돌아가서 ssl 모듈을 옵션으로한 아파치 설치를 다시 하겠슴둥

 

./configure --prefix=/engine/apache2.4 \
--with-included-apr \
--enable-module=so \
--enable-so \
--enable-mods-shared=ssl \
--with-ssl=/engine/apache2.4/openssl-1.1.1k \
--enable-ssl=shared \
--with-pcre=/engine/apache2.4/bin/pcre-config

 

요렇게 했더니 config는 되던데 make install 할 때
openssl 라이브러리를 못찾는다구 오류가 났다 .. 

 

여기 with-ssl 의 경로에는

 

  • --with-ssl=/engine/apache2.4/openssl: OpenSSL의 설치 경로입니다. 여기에는 include와 lib 디렉토리가 포함되어야 합니다.
  • --with-pcre=/engine/apache2.4/bin/pcre-config: PCRE 설치 경로 내의 pcre-config 파일의 경로입니다.

 

 

/engine/apache2.4/openssl-1.1.1k 에

libcrypto 와 libssl이 있었는데 lib 폴더 안에 있는게 아니여서 오류가 났나보다..

 

./configure --prefix=/engine/apache2.4 \
--with-included-apr \
--enable-module=so \
--enable-so \
--enable-mods-shared=ssl \
--with-ssl=/engine/apache2.4 \
--enable-ssl=shared \
--with-pcre=/engine/apache2.4/bin/pcre-config

 

오류 난 이유는 

--with-ssl=/engine/apache2.4/openssl-1.1.1k \ 를 --with-ssl=/engine/apache2.4 \ 로 바꿔주니까 잘 된다..

 

아오 개 짜즈응나.. 

그리고 다시 make && make install

 

해주고 systemctl restart httpd 해주니까 잘 실행 되고 있음

이건 앞서 내가 서비스 파일에다 설정해준건 삭제하지 않고

그 경로 그대로 아파치를 설치 했으니 가능한 것

 

그럼 이제 지옥에 톰캣 연동을 시작해볼까

 

yum install -y autoconf libtool httpd-devel

 

wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.49-src.tar.gz

 

 

configure 파일이 있는 곳에서 아래의 명령어를 사용하기 때문에 

디렉토리를 native로 이동한다

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

 

make && make install 하면 밑에 뭐 쫘르륵 뜨는데

 

chmod 755 /usr/lib64/httpd/modules/mod_jk.so 이 위치에 자동으로 깔려버리는군

옵션 주는 거 깜빡함ㅋ

 

위치 확인하는 명령어 갈겨,

 

확인 완료

 

tomcat의 server.xml파일 AJP Connector 설정 

 

vi /engine/tomcat/conf/server.xml

밑에 놈을 주석을 제거 해주고 설정을 요래 해줌 

 

Apache + Tomcat 연동 설정

apache와 연동할 worker(tomcat)들을 설정하는 파일을 만들어줌

 

vi /engine/apache/conf/workers.properties

 

 

vi /engine/apache/conf/httpd.conf

 

설정 파일에 아래를 추가해줌

 

#mod_jk.so 모듈의 위치
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so

#workers.properties 설정 파일 위치
JkWorkersFile /engine/apache/conf/workers.properties

#mod_jk log 위치
JkLogFile /engine/apache/logs/mod_jk.log

#Load balancing workers will not function properly 오류 대응
JkShmFile /engine/apache/logs/mod_jk.shm

# /* 요청을 모두 worker1으로 넘긴다.
JkMount /* worker1

 

이렇게 설정해 줌.. 아까 mod_jk.so 모듈의 위치 확인 해줬지 

그거 그대로 입력해주고 

workers.properties 위치도 알제

그거 그대로 입력해줘

 

그럼 끝