2012-06-01 1 views
1

누구든지 Apache를 사용하여 새 로컬 VirtualHost를 정의 할 수 있는지 궁금합니다.Apache에서 로컬 사이트 정의 - 80 이외의 포트 사용

목표는 로컬 네트워크에서만 볼 수있는 사이트 (방화벽 뒤에 숨김)를 사용하는 것입니다. 지금은 Webmin이 설치되어 있고 트랜잭션 : 10000에서 실행됩니다. 다른 사이트를 7000 트랜잭션에서 실행하려고합니다.

이 작동하지 않음 다음

을 DocumentRoot는/var/경로

이 작업을 수행 할 수있는 더 나은 방법이 있나요를? 나는 아파치에 익숙하지 않고 이것을 알아 내려고 노력하고있다.

요약 : 로컬 액세스 전용으로 80 이외의 포트에서 실행하려면 로컬/var/path 디렉토리가 필요합니다.

답변

1

Apache 가상 호스트 코드에 대해 잘 모르는 것으로 가정합니다. 어떻게 사용하는지 보여 드리겠습니다. 이게 도움이되지 않으면 나에게 답장하는 것을 망설이지 말라.
conf 폴더에있는 HTTPD.CONF에 코드를 삽입해야합니다. 파일 이름이 wwwroot 인 경우 대신 아래 코드에서 이름을 변경하십시오. 그러나 폴더 이름을 변경하지 마십시오 !!!

NameVirtualHost 111.22.33.44 
<VirtualHost *:7000> 
ServerName www.domain.tld 
ServerPath /domain 
DocumentRoot /htdocs/domain 
</VirtualHost> 

이것은 무엇을 의미합니까? "/ domain"으로 시작하는 URI에 대한 요청은 가상 호스트 인 www.domain.tld에서 제공된다는 의미입니다. 즉, 모든 클라이언트에 대해 domain.tld/domain /으로 액세스 할 수 있지만 Host : 헤더를 보내는 클라이언트는 domain.tld /로 액세스 할 수도 있습니다.

이 작업을 수행하려면 주 가상 호스트 페이지의 링크를 http://www.domain.tld/domain/으로 지정하십시오. 그런 다음 가상 호스트 페이지에서 순전히 상대 링크 (예 : "file.html"또는 "../icons/image.gif") 또는 prefacing/domain /을 포함하는 링크 (예 : "http : //www.domain.tld/domain/misc/file.html "또는"/domain/misc/file.html ").

그래서 "www.domain.tld"인 경우 모든 도메인은 IP 주소를 가리키고 도메인 이름을 기반으로하면 "/ htdocs/domain"또는 "/ wwwroot/domain"폴더로 이동합니다.

편집 :

<Directory "/var/path/"> 
Order Deny,Allow 
Deny from all 
Allow from 127.0.0.1 
</Directory> 

이 아파치가 당신의 컴퓨터에있는 구성되는 경우에만 로컬 호스트에서 "/ var에/경로 /"폴더에 액세스 할 수 있습니다!

행운을 빌어 요 !!!

+0

서명을 포함하지 마십시오. –

+0

도움을 주셔서 감사합니다, 나는 오늘 이것을 조사 할 것입니다. Apache에 대해 더 자세히 배우기 위해 권장되는 온라인 리소스가 있습니까? 그들의 문서가 말도 안되게 혼란 스럽다. (어쨌든 PHP와 MySQL에 비해). – citizenen

+0

아무 것도 모른다면 잘 모르겠지만 어떤 문제가 있어도 기꺼이 도와 드리겠습니다. 또한 Google이 도움이 될 수 있습니다. –

관련 문제