[완료]name virtual host 문제.. 죽겠습니다 ㅜㅜ

shuwenll의 이미지

저희 서버는 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일째 헤매고 있다는.. ㅜㅜ

spinelos의 이미지

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)

앵글브라켓 문자가 ;; 안써저서 가로로 변경했으니 복사 붙여넣기는 주의하세요 ㅎㅎ

shuwenll의 이미지

제가 설정한 내용입니다.

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!" 대신 톰캣화면이 뜬다는데 어떻게 해야할지..

dino288의 이미지

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 이렇게 설정을 한번 해보시죠..

shuwenll의 이미지

구글에 막 찾아보니 /etc/hosts 파일을 그렇게 수정하라고 하더군요
dino 님께서 말씀하신대로 수정하고 해도 안되네요...

shuwenll의 이미지

지금 테스트하는 서버는 등록된 도메인이 없는 그냥 인터넷에 연결만 된 서버입니다.
VNC, DNS, FTP, Java, Mysql, Apache, Tomcat, Tomcat-connectors 순으로 설치, 테스트 중입니다.
제가 아는건 딱 요만큼.. 설치하는것까지만 겨우 안다는겁니다.
가상호스팅 설정하란 말에 처음엔 www.AAA.comwww.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/ 라고 해야 나오는데
어떻게 연결을 해야 할까요..

bushi의 이미지

name vitual host 만 사용해서 투명하게 처리를 해야한다면,
apache 가 proxy 역할도 수행해야겠는데요.

tomcat 은 아니지만 이런 예가 있습니다.
http://gerrit.googlecode.com/svn/documentation/2.0/install.html#apache2

OTL

shuwenll의 이미지

proxy 역할도 수행한다는게 무슨 뜻인지??
암튼 영어로 쫙 깔려진 페이지를 보니 순간 좌절감 급상승했네요 ^^;;

bushi의 이미지

shuwenll의 이미지

며칠을 삽질한 끝에 해결이 되었습니다...

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번째 작업은 왜 하는지 모르겠지만... 검색해보니 그렇게 하라는 부분이 있어 혹시나 해서 해놨습니다. 혹 이유를 아시는분?....
아무튼 알고보면 별거 아닌데(?) 이걸로 일주일을 혼자 고생했다는...
리눅스 초짜의 고생기 였습니다 ^^;;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.