[완료]name virtual host 문제.. 죽겠습니다 ㅜㅜ
글쓴이: shuwenll / 작성시간: 수, 2009/10/28 - 7:06오후
저희 서버는 CentOS 5.3 버젼 사용하고 있습니다
한개의 IP에 두개의 웹페이지를 운영하려고 알아보니 이름 기반 가상호스트라고 되어있더라구요.
원래 운영하고 있던 페이지는 이것저것 프로그램이 많이 들어가있는데
추가로 운영하려는 웹페이지는 거의 html 로 이뤄져있다고 하네요.
Tomcat 의 server.xml 을 수정/추가해야한다거나
Apache 의 httpd.conf, httpd-vhosts.conf 를 수정/추가 하라는데
각 설명마다 내용이 조금씩 달라서 어떤걸 해야할지 모르겠네요.
DNS 서버 설정도 변경해줘야 하나요?
우리 개발자는 새 페이지를 톰캣에 얹어서 사용할 것이니 그것만 수정하면 될거라는데
자신도 잘 모르겠다면서 생초보인 저에게...ㅜㅜ
테스트 서버에서 찾아본 자료로 세팅하다가 도리어 톰캣자체가 안먹히고 있다는... ㅜㅜ
환경은 다음과 같습니다.
Apache 2.2.11
Tomcat 5.5.27
Tomcat-connectors 1.2.28
Mysql 5.1.32
IP : 111.222.111.222
원래 저희 홈페이지 : www.AAA.com
추가할 홈페이지 : www.BBB.com
로 예시를 들어 설명좀 부탁드립니다. 설명이 나와있는 페이지 링크 걸어놓으셔도 감사하겠습니다.
하루면 끝날거라는데 3일째 헤매고 있다는.. ㅜㅜ
Forums:
html 로만 이루어진
html 로만 이루어진 페이지면 apache 설정에서 버추얼호스트 내용만 추가해 주시고, 도메인을 그 서버로 가게끔만 해주시면 될거 같습니다.
기존 설정 밑으로 추가해 주시면 되겟네요
(VirtualHost *:80) <- NameVirtualHost 설정에 맞게 알아서 변경
ServerAdmin webmaster@dummy-host.example.com <- 서버관리자 메일주소 알아서 변경
DocumentRoot "/usr/local/apache2/htdocs/bbb.com/wwwhome" <- 디렉토리 위치 알아서 변경
ServerName www.bbb.com
ServerAlias bbb.com
ErrorLog "logs/bbb_error_log" <- 로그 저장위치 및 이름 알아서 변경
CustomLog "logs/bbb_access_log" common <- 로그 저장위치 및 이름 알아서 변경
(/VirtualHost)
앵글브라켓 문자가 ;; 안써저서 가로로 변경했으니 복사 붙여넣기는 주의하세요 ㅎㅎ
설정대로 했는데 안되네요..ㅜㅜ
제가 설정한 내용입니다.
NamevirtualHost 192.168.0.1
(VirtualHost 192.168.0.1:80)
Servername www.AAA.com
ServerAlias www.AAA.com
DocumentRoot /usr/local/server/tomcat/webapps/ROOT
JkAutoAlias "/usr/local/server/tomcat/webapps/ROOT"
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
(/VirtualHost)
(VirtualHost 192.168.0.1:80)
Servername www.BBB.com
ServerAlias www.BBB.com
DocumentRoot /usr/local/server/tomcat/webapps/ROOT
JkAutoAlias "/usr/local/server/tomcat/webapps/ROOT"
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
(/VirtualHost)
/etc/hosts 에서 127.0.0.1 www.BBB.com -->추가한 상태에서
위의 설정을 한 뒤에 주소창에 www.BBB.com 쳤을때 "It work!" 나오는데요
톰캣과 연동되어 있어서 톰캣화면이 떠야된다고 하네요.
무슨 설정만 잡아주면 "It work!" 대신 톰캣화면이 뜬다는데 어떻게 해야할지..
톰캣 설정은 잘 모르지만...
VirtualHost 192.168.0.1:80 <-- 이IP 80Port로 가상호스팅 한다는...
Servername www.BBB.com <---- 도메인이 www.BBB.com 로 들어 올때는
DocumentRoot /usr/local/server/tomcat/webapps/ROOT <--- 이게 홈페이지 루트 디렉토리라는 이야기
그런데 127.0.0.1 www.BBB.com <---- 이렇게 설정 하셨다면
192.168.0.1 이 아닌 127.0.0.1 이기 때문에 ... 가상호스트 설정 부분에 적용할 수가 없습니다.
그렇게 되면 Apache기본 설정인 /var/www/ 가 DocumentRoot 로 될겁니다.
hosts 설정에서 192.168.0.1 www.BBB.com 이렇게 설정을 한번 해보시죠..
저도 잘 몰라서...
구글에 막 찾아보니 /etc/hosts 파일을 그렇게 수정하라고 하더군요
dino 님께서 말씀하신대로 수정하고 해도 안되네요...
더 자세하게 설명을 했어야 했나요?..
지금 테스트하는 서버는 등록된 도메인이 없는 그냥 인터넷에 연결만 된 서버입니다.
VNC, DNS, FTP, Java, Mysql, Apache, Tomcat, Tomcat-connectors 순으로 설치, 테스트 중입니다.
제가 아는건 딱 요만큼.. 설치하는것까지만 겨우 안다는겁니다.
가상호스팅 설정하란 말에 처음엔 www.AAA.com 과 www.BBB.com을 쳐도 똑같은 페이지를 보여주는것으로
이해를 했었는데 알아보니 그게 아니더라구요. 저의 무지가 다 드러납니다 -_-;;
아무튼.. 제가 설정한 DNS는 www.AAA.com 이구요, 추가할 주소는 www.BBB.com 입니다.
톰캣 가상호스팅 관련자료를 찾아 해본 결과입니다.
http://localhost/ 를 입력하면 It work! 가 뜨고
http://localhost:8080 을 입력하면 톰캣 페이지가 뜹니다.
http://www.BBB.com/ 을 입력하니 It work! 가 뜹니다.
http://www.BBB.com:8080 을 입력하니 역시 톰캣 페이지가 뜹니다.
문제는... 개발자가 www.BBB.com 을 톰캣에서 돌리려고 하니
http://www.BBB.com/ 을 입력했을때 톰캣의 jsp-examples 화면이 뜨게 해달라는겁니다.
저는 아무리해도 www.BBB.com:8080/jsp-examples/ 라고 해야 나오는데
어떻게 연결을 해야 할까요..
name vitual host 만
name vitual host 만 사용해서 투명하게 처리를 해야한다면,
apache 가 proxy 역할도 수행해야겠는데요.
tomcat 은 아니지만 이런 예가 있습니다.
http://gerrit.googlecode.com/svn/documentation/2.0/install.html#apache2
OTL
영어...ㅋ
proxy 역할도 수행한다는게 무슨 뜻인지??
암튼 영어로 쫙 깔려진 페이지를 보니 순간 좌절감 급상승했네요 ^^;;
http://wiki.kldp.org/wiki.php
http://wiki.kldp.org/wiki.php/Apache2Tomcat5Howto2
OTL
일주일만에 해결했답니다 ^^;;
며칠을 삽질한 끝에 해결이 되었습니다...
1. apache/conf/httpd.conf 를 다음과 같이 수정하였습니다.
NameVirtualHost 111.222.111.222
ServerName www.AAA.com ServerAlias AAA.com DocumentRoot "/usr/local/server/tomcat/webapps/ROOT"
JkAutoAlias "/usr/local/server/tomcat/webapps/ROOT"
JkMount /* local
Options Indexes FollowSymLinks
allow from all
ServerName www.BBB.com ServerAlias BBB.com DocumentRoot "/usr/local/server/tomcat/webapps/servlets-examples"
JkAutoAlias "/usr/local/server/tomcat/webapps/servlets-examples"
JkMount /* local
Options Indexes FollowSymLinks
allow from all
두번째 호스팅 할 페이지 초기화면을 servlest-examples 로 잡았습니다.
2. tomcat/conf/server.xml 파일을 수정합니다.
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
AAA.com
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
BBB.com
3. /usr/local/server/tomcat/conf/Catalina 에 www.BBB.com 폴더를 만들고 ROOT.xml 파일을 생성..
<?xml version="1.0" ENCODING="UTF-8"?> 입력하였습니다. 모질라 주소창에 www.AAA.com 을 쳐보니 It works! 가 뜨는군요.. 다른 컴터 hosts파일을 수정, 로컬로 잡아 주소창에 www.AAA.com을 치니 톰캣고양이가 보입니다. www.BBB.com을 치니 servlets-examples 화면이 바로 잡힙니다.
3번째 작업은 왜 하는지 모르겠지만... 검색해보니 그렇게 하라는 부분이 있어 혹시나 해서 해놨습니다. 혹 이유를 아시는분?....
아무튼 알고보면 별거 아닌데(?) 이걸로 일주일을 혼자 고생했다는...
리눅스 초짜의 고생기 였습니다 ^^;;
댓글 달기