Apache2+Tomcat8 연동 및 기타 겪은 사항들 정리

2021. 9. 14. 14:50톰캣관련

반응형

##관리자 계정으로 이동

Su

## root계정 비밀번호 재설정

Sudo passwd root

 

 

 

1. 아파치 설치

 

apt-get install apache2

 

 

 

2. 톰켓 설치

 

##추가사항!!###

  apt-get tomcat8 설치시 오류날때

 

unable to locate package 는 apt-get으로 package를 install할때 나오는 에러 메시지입니다,

보통 dns 설정이 되어 있지 않아서 sources.list에 있는 서버로 접속이 안되는 경우입니다.

 

아래 파일을 vi로 편집해서 dns를 추가하도록 합니다.

$ vi /etc/resolv.conf

나는 nano 편해서 nano 편집함

Nano /etc/resov.conf

KT 공식 DNS는 168.126.63.1 , 168.126.63.2 를 사용하면 됩니다.

 

이후에는 apt-get upgrade 한번 해줘야했음. Dns 서버를 바꿔서 그런듯함

 

출처: <https://jybaek.tistory.com/253>

 

 

apt-get install tomcat7 tomcat-docs tomcat7-admin tomcat-examples

 

#내가설치한 8버전##

 

apt-get install tomcat8 tomcat8-docs tomcat8-admin tomcat8-examples

 

 

 

3. 설치 확인

 

http://localhost

 

http://localhost:8080

 

###추가사항####

우분투에서 주소를 터미널에 입력하는게 아니였음.

netstat -ntpa | grep 80

명령어로 포트 listen 상태인지 확인.

실제 로컬컴퓨터에서 주소를 검색하기전 세팅

Ip주소 있을때

 

Ip주소 없을때

8080 포트도 설정하고

18080으로 접속시 8080으로 연결되도록 설정해둠.

 

4. 아파치 톰켓 커넥터 설치

 

apt-get install libapache2-mod-jk

##설치완료##

 

 

5. 커넥터 파일 수정

 

vi /etc/libapache2-mod-jk/workers.properties

 

workers.tomcat_home = /usr/lib/tomcat7  (톰켓 설치 경로 입력)

 

workers.java_home = /usr/lib/jvm (자바 설치 경로 입력)

 

##둘다 수정완료 jvm 경우 jvm까지만 해둠 기존꺼는 주석처리##

 

커넥터를 파일을 그대로 둬도 되고 아니면 추후 관리에 용이하게 apache2 폴더에 복사해 넣어둬도 된다.

 

그래도 관리 편하게 하기 위해 복사

 

cp /etc/libapache2-mod-jk/workers.properties /etc/apache2

 

## workers.properties 파일을 sftp 옮겨주려고했더니 root권한으로 생성된 폴더라 arinwater 생성된 ssh접근으로는 파일전송이 안됨.

Xshell root계정으로 접근하려고했으나 기본설정 PermitRootLogin yes 아니라서 root계정으로 ssh 접근이 안되서 해당 부분 수정 service ssh restart 통해서 ssh 재시작하니 접근가능해짐. Sftp 파일전송도 정상적으로 작동됨.

 

 

apache설정파일에서 커넥터 설정을 관리해주기 위해 다음과 같이 입력해준다.

 

먼저 apache2.conf 파일을 열어본다.

 

vi /etc/apache2/apache2.conf

 

 

<IfModule jk_module>

 

JkWorkersFile /etc/apache2/workers.properties

 

JkLogFile /var/log/apache2/mod_jk.log

 

JkShmFile /var/log/apache2/mod_jk.shm

 

</IfModule>

 

#해당부분 추가완료#

 

위를 입력한다면 에러를 만날수 있다. 왜냐하면 다른곳에서 같은 설정파일을 불러주니깐

 

vi /etc/apache2/mods-enabled/jk.conf 를 열어

 

#JkWorkersFile /etc/apache2/workers.properties  다음 문장에 주석 # 을 붙여준다.

##주석처리완료##

 

 

 

6. 톰켓 server.xml 파일 수정

 

vi /usr/lib/tomcat7/conf/server.xml (설치한 경로마다 다르다)

##나의경우 /etc/tomcat8 위치해 있었다.###

 

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ /> 해당 문장 주석 제거 (왠만하면 주석 제거 되어있다)

#주석제거되어있었음#

 

 

 

7. 아파치 가상호스트 설정

 

여기서 꽤 많은 삽질과 삽질을 했다..

 

<VirtualHost *:80> //* 전체를 지정해줘도 되지만 개별적 또는 포트별로 사용하려면 server ip port번호를 다르게 한다.

 

ServerAdmin webmaster@localhost

 

DocumentRoot /home/spring/webapps  //웹서버(아파치)가 바라보는 경로가 된다.

 

<Directory /home/spring/webapps/>

 

// .jsp 요청이 있을시 다음 경로를 바라보게 된다. jsp처리 요청은 JkMount에서 설정해준 값으로 설정된다.

 

//처리 로직은 jsp 요청이 있을시 톰켓에 해당 포트로 이동시킨후 톰켓 경로를 타는? 하여간 잘 모르지만 그런것 같았다.

 

//나중에 이부분을 다시 봐야할 것 같다.

 

Options FollowSymLinks

 

AllowOverride None

 

Order allow,deny

 

Allow from all

 

</Directory>

 

JKMount /*.jsp ajp13_worker

 

JKMount /*.do ajp13_worker

 

JKMount /*.servlet ajp13_worker

 

JKMount /*.lnj ajp13_worker

 

JKMount /*.xlnj ajp13_worker

 

JkUnMount /*.html ajp13

 

JkUnMount /*.gif ajp13

 

JkUnMount /*.jpg ajp13

 

 

 

8. 테스트 페이지 작성

 

해당 경로 index.html 파일과 index.jsp 파일을 만든다

 

index.html에는 아무거나 입력, 친숙한 Hello World 를 입력하면 좋을듯?

 

index.jsp 에는 서버에서 내려주는 명령을 확인 할 수 있는 내용을 입력해준다.

 

<HTML>

   <BODY>

   Hello!  The time is now <%= new java.util.Date() %>

   </BODY>

   </HTML>

9. 아파치 재실행, 톰켓 재실행

/etc/init.d/apache2 restart

/etc/init.d/tomcat7 restart

10. 확인하기

http://localhost

http://localhost/index.jsp

반응형