centOS에 아파치 + 톰캣 연동 4
리눅스 서버에 아파치, 톰캣 설치 후 연동하는 것까지는 했고
지금 하려는 것은 . 톰캣 서버에 호스트를 두개 두는 것이다.
호스트를 두개 여러개 두려면 도메인이 따로 되어 있어야 하는 것 같다.
테스트 서버이기 때문에 무료 도메인을 받았다.
아파치 VIRTUALHOST 설정
https://okky.kr/article/335820
[Windows] Apache + Tomcat 연동
http://edmundtips.tistory.com/42
하면서 작성한 것이 아니지만 일단 생각나는 부분 적어둔다.
아파치와 톰캣은 연동이 된 상태이고
1.
톰캣의 server.xml에서
<Engine name="기본으로 접속되었으면 하는 주소" defaultHost="localhost">
ex) www.cafe24.com
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="nroot" path="usr/local/server/was1/apache-tomcat-7.0.77/webapps" />
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<-------- 여기까지는 기본 소스
<!-- 추가한 부분 -->
<Host name="www.도메인.com" appBase="webapps"
unpackWARs="false" autoDeploy="false">
<Alias>도메인.com</Alias>
<Context docBase="프로젝트명" path="디렉토리경로" />
</Host>
<Host name="www.서브도메인.tk" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Alias>서브도메인.tk</Alias>
<Context docBase="프로젝트명" path="디렉토리경로" />
</Host>
<!-- 추가한 부분 -->
2. 아파치 httpd.conf파일에서
<Directory "도메인의 디렉토리 경로">
Order Allow,Deny
Allow from all
</Directory>
<Directory "서브도메인의 디렉토리 경로">
Order Allow,Deny
Allow from all
</Directory>
이거 추가하고
# Virtual hosts
Include conf/extra/httpd-vhosts.conf <-여기 주석해제 후 이 파일찾아가서 수정
<VirtualHost *:80>
ServerName 도메인
ServerAlias www.도메인.com *.도메인.com *.도메인.*
DocumentRoot "도메인의 디렉토리 경로"
ErrorLog "logs/파일명은 마음대로-error-%Y%m%d.log"
CustomLog "logs/파일명은 마음대로-%Y%m%d.log" common
JkMount /*.do ajp13
JkMount /*.jsp ajp13
JkMount /*dwr/* ajp13
JkMount /*servlet/* ajp13
<Directory "도메인의 디렉토리 경로">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName 서브도메인
ServerAlias www.서브도메인.tk *.서브도메인.tk *.서브도메인.tk.*
DocumentRoot "서브도메인의 디렉토리 경로"
ErrorLog "logs/파일명은 마음대로-error-%Y%m%d.log"
CustomLog "logs/파일명은 마음대로-%Y%m%d.log" common
JkMount /*.do ajp13
JkMount /*.jsp ajp13
JkMount /*dwr/* ajp13
JkMount /*servlet/* ajp13
<Directory "서브도메인의 디렉토리 경로">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</VirtualHost>
이렇게만 했는데 됐다.
추가로 더 해야 하는 부분이있는데
지금 개발서버로 만들어야 하는 모양이
톰캣 /webapps 하위에 있는 폴더를.. 각가의 도메인으로 실행시키고
폴더명으로 서브도메인으로 진입할 수 있어야 한다.
톰캣/webapps
└ Aroot <- 기본 도메인 연결 폴더 (ex. www.aaa.com)
└ Broot <- 서브 도메인 연결 폴더 (ex. www.bbb.com)
이렇게되어 있고 www.aaa.com 에서 www.aaa.com/Broot를 했을 때 www.bbb.com로 넘어가야 한다고 한다.
도대체 이건 뭐라고 검색을 해야 할까..