2016-07-12 2 views
0

자신의 modperl 환경에서 여러 개의 와일드 카드 가상 호스트를 실행하려는 서버가 있습니다.modperl을 사용한 와일드 카드 가상 호스트

각 가상 호스트는 사용자 지정 포함 경로를 정의하기 위해 자체 시작 스크립트를 실행해야합니다. 일반적인 가상 호스트 구성에서

, 나는 다음과 같은 ...

<VirtualHost *:80> 
    ServerName web1.myserver.com 

    Define ApplicationRoot /websites/web1 

    DocumentRoot ${ApplicationRoot} 

    PerlSetEnv PERL_DOC_ROOT ${ApplicationRoot} 
    PerlOptions +Parent 
    PerlPostConfigRequire /websites/lib/startup.pl 
... 

내 startup.pl 스크립트가 동적으로 사용자 정의 lib 디렉토리 경로를 구성 할 PERL_DOC_ROOT 환경 변수를 사용할 수 있습니다 할 수 있습니다.

여러 개의 가상 호스트 섹션에서 제대로 작동합니다. 그들은 각각 자신의 @INC가 정의되어 있으며 모든 것이 올바르게 해석됩니다.

와일드 카드 가상 호스트 구성으로 변환 할 수있는 방법이 있습니까? 사용자가 * .myserver.com에 액세스 할 수있게하려면 사용하려는 document root를 알아 내기 위해 호스트 이름을 사용하고이 폴더를 기반으로 lib 경로를 정의하기 위해 startup.pl을 실행합니다. 나는 이런 식으로 뭔가를 사용할 수 있습니다 알고

...

VirtualDocumentRoot /websites/%1/ 

동적 문서 루트를 설정,하지만 난 그것을 이해되지 않은 다른 선언에서 % 1을 사용하려고합니다. 또한 startup.pl은 구성 파일이 처음로드 될 때가 아니라 사이트가 처음 요청 될 때 실행해야합니다.

전혀 가능합니까? 또는 새로운 가상 디렉터리를 추가 할 때마다 구성 파일을 어떻게 든 동적으로 다시 작성해야합니다.

답변

0

나는 그것이 과도하게 복잡하다는 것을 깨달았다. 와일드 카드 가상 호스트를 사용할 필요가 없습니다. vhosts 디렉토리를 생성하기 위해 Jenkins를 사용할 것이므로 동적으로 config 파일을 생성하여 일치시킬 수도 있습니다.

관련 문제