0

에 설치 DEV/PROD 웹 사이트이가되는 아파치/2.4.7 (우분투) 우분투 14.04 LTS어떻게 공용 IP

나는 특정 IP 주소 (예 22.22.22.22)와 서버가 있습니다. DEV, TEST 및 PROD 환경을 설정하고 싶습니다. 나는이 충돌합니다 예를 들어

나는 그때 http://22.22.22.22/test로 개발 웹 사이트 3) 충돌합니다 다음 내가 http://22.22.22.22/dev에 생산 웹 사이트 2) 충돌합니다 http://22.22.22.22에 세계 1)의 모든 컴퓨터에서 갈 경우 테스트 웹 사이트

어떻게 설정해야합니까?

이 문제에 관한 귀하의 제안과 생각을 나누십시오.

감사합니다.

답변

0

내가 요구 한 것과 정확히 일치하지는 않지만 약간 다른 접근 방식을 취할 것입니다. 귀하는 도메인 이름을 가지고 있습니다 (예 : example.com). 프로덕션 사이트를 가리키는 www.example.comexample.com이 있습니다. 그런 다음 dev.example.comtest.example.com을 해당 사이트로 연결할 수 있습니다. 모든 DNS 항목은 여전히 ​​22.22.22.22을 가리키고 있지만, Apache를 다르게 처리하도록 설정해야합니다. 가상 호스트 이름이 인 가상 호스트을 사용합니다.

Apache의 표준 설치에서 사이트 구성은 /etc/apache2/sites-available이어야합니다. 시작하려면 default이라는 구성 파일이 있어야합니다. 다음과 같은 내용으로 새 파일 prod 만들기 : 내가 거기에 기초를 가지고

# /etc/apache2/sites-available/prod 
<VirtualHost 22.22.22.22:80> 
    ServerName example.com 
    ServerAlias www.example.com 
    DocumentRoot /var/www/prod/html 

    (etc.) 

</VirtualHost> 

,하지만 당신은 당신이 원하는 것, 다른 지시어에 대한 default 볼 수 있습니다.

devtest에 대한 파일을 만듭니다. 그래서 같이 :

# /etc/apache2/sites-available/dev 
<VirtualHost 22.22.22.22:80> 
    ServerName dev.example.com 
    DocumentRoot /var/www/dev/html 

    (etc.) 

</VirtualHost> 

그것은 기본적으로 prod과 동일하지만, DocumentRootServerName 다른합니다. test의 설정도 거의 동일합니다.

일단 이러한 설정을 완료했다면 사용 설정 만하면됩니다. 실행 :

sudo a2ensite dev 

... dev을 사용합니다. test에 대해서 다시 똑같이. 이 파일을 실행 한 후에는 파일도 이제 /etc/apache2/sites-enabled에 심볼릭 링크 된 것을 볼 수 있습니다. (a2ensite 명령은 심볼릭 링크를 만듭니다.)

다음으로 Apache를 다시 시작하면됩니다. 한 가지 방법은 다음과 같습니다. sudo service apache2 restart

+0

감사합니다. 귀하의 답변은 매우 정확합니다. 귀하가 언급 한 모든 것을 이미 완료했지만, 유일한 문제는 아직 IP에 도메인 이름이 없다는 것입니다. 나는 그것을 어느 시점에서 얻을 것이지만, 지금은 IP 주소를 사용해야한다. 그리고 IP는 3 가지 환경 (개발, 테스트 및 데이터)을 모두 제공해야합니다. 궁극적으로 하위 도메인은 내가 지향 할 대상이지만, 지금은 IP가 전부입니다. – Marius