마사키군의 다락방

끄적끄적할게 있을때 끄적거려 보관해두는 다락방

한 서버에서 IIS와 Apache 동시에 사용하기

IIS랑 Apache를 동시에 사용하고는 싶었는데 이렇게 되면 둘 중 하나는 80번 포트를 사용할 수 없었다. 이러면 처음 생각한거랑 어긋나기 때문에 인터넷을 뒤져본 결과, 방법은 있었기에 기록해둔다. 그런데 설정한지 두달이 지났는데 이제서야 기록하기 때문에 기억이 가물가물한게 함정. 그냥 문서를 복사해오는 수준 -_-

전제조건은, IIS용 IP랑 Apache용 IP 해서 IP가 두 개 있어야 한다는 것. 아마존 AWS를 쓰고 있다면 Elastic IPs라도 신청해서 사용하고 있는 인스턴스에 할당해주면 되겠다. 물론 돈은 더 든다 (…)

준비가 끝났다면 IIS가 사용할 IP를 지정해줘야 하는데, 윈도우 2003 이하랑 2008 이상에서 설정 방법이 다르다.

윈도우 2003의 경우

(이 부분은 즐거운인생 :: Apache 와 IIS 동시에 사용하기를 참고했다)

윈도우 2003일 경우 Windows Server 2003 Service Pack 1 Support Tools를 먼저 설치해야 한다.

설치가 되었으면 아래 명령어로 IIS가 사용할 IP를 지정한다.

  • IP 할당
    • httpcfg set iplisten -i xxx.xxx.xxx.xxx
  • 할당된 IP 제거
    • httpcfg delete iplisten -i xxx.xxx.xxx.xxx
  • 할당된 IP 확인
    • httpcfg query iplisten

윈도우 2008 이상의 경우

(이 부분은 Dylan Beattie’s Blog: Running IIS and Apache on the same Windows 2008 R2 Server를 참고했다)

윈도우 2008 이상의 경우, 위의 Windows Server 2003 Service Pack 1 Support Tools 설치할때 호환성에 문제가 있다는 메시지가 표시된다. 실제로 설치를 강행했을때 무슨 문제가 있는지는 확인하지 못했다.

하지만 윈도우 2008 이상에서는 netsh.exe 유틸리티를 이용해서 동일한 작업을 수행할 수 있다.

netsh.exe 파일을 실행하면 netsh 프롬프트가 나오는데, 이 상태에서 아래 명령어로 작업을 수행할 수 있다.

  • IP 할당
    • http add iplisten ipaddress=xxx.xxx.xxx.xxx
  • 할당된 IP 확인
    • http show iplisten

(IP 삭제하는 방법은 확인하지 못했다)

윈도우 2003이건 윈도우 2008이건,  설정이 끝나면 IIS를 재시작해준다.

위 방법으로 IIS가 사용할 IP 할당이 끝났다면, Apache의 httpd.conf 파일을 편집기로 열어서 아래 라인을 추가해주면 된다.

  • Listen xxx.xxx.xxx.xxx:80

설정이 끝났다면, 각각 IIS용 IP를 바라보고 있는 도메인, Apache용 IP를 바라보고 있는 도메인으로 각각 접속해서 설정이 올바르게 되었는지 확인해보면 되겠다.

,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다