내가 요구 한 것과 정확히 일치하지는 않지만 약간 다른 접근 방식을 취할 것입니다. 귀하는 도메인 이름을 가지고 있습니다 (예 : example.com
). 프로덕션 사이트를 가리키는 www.example.com
및 example.com
이 있습니다. 그런 다음 dev.example.com
및 test.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
볼 수 있습니다.
dev
및 test
에 대한 파일을 만듭니다. 그래서 같이 :
# /etc/apache2/sites-available/dev
<VirtualHost 22.22.22.22:80>
ServerName dev.example.com
DocumentRoot /var/www/dev/html
(etc.)
</VirtualHost>
그것은 기본적으로 prod
과 동일하지만, DocumentRoot
및 ServerName
다른합니다. test
의 설정도 거의 동일합니다.
일단 이러한 설정을 완료했다면 사용 설정 만하면됩니다. 실행 :
sudo a2ensite dev
... dev
을 사용합니다. test
에 대해서 다시 똑같이. 이 파일을 실행 한 후에는 파일도 이제 /etc/apache2/sites-enabled
에 심볼릭 링크 된 것을 볼 수 있습니다. (a2ensite
명령은 심볼릭 링크를 만듭니다.)
다음으로 Apache를 다시 시작하면됩니다. 한 가지 방법은 다음과 같습니다. sudo service apache2 restart
감사합니다. 귀하의 답변은 매우 정확합니다. 귀하가 언급 한 모든 것을 이미 완료했지만, 유일한 문제는 아직 IP에 도메인 이름이 없다는 것입니다. 나는 그것을 어느 시점에서 얻을 것이지만, 지금은 IP 주소를 사용해야한다. 그리고 IP는 3 가지 환경 (개발, 테스트 및 데이터)을 모두 제공해야합니다. 궁극적으로 하위 도메인은 내가 지향 할 대상이지만, 지금은 IP가 전부입니다. – Marius