[교육] mod_ssl 모듈을 추가한 아파치 재 설치 + 아파치 톰캣 연동
차주 과제
아파치 + 웹서버 연동
- 아파치 연동 => 동일 소스 사용버전(아파치, 톰켓이 같은 소스 폴더 적용)
- 아파치 연동 => html, css, js, img 등은 아파치소스 폴더, jsp는 was 소스 폴더로 분리하여 설정
- ssl 을 위 1번과 2번중 하나를 골라 설정
ssl은 3개월 무료 버전사용
도메인은 임의로 적용해 host 사용
* 부장님이 준 힌트
아파치에 처음 설정 모듈에 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 위치도 알제
그거 그대로 입력해줘
그럼 끝