FTP 7 따라하기: 가상 호스트 이름 사용하기

등록일시: 2007-07-10 11:51,  수정일시: 2013-11-10 21:59
조회수: 9,974
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

서론

마이크로소프트에서는 원도우 서버 코드명 "롱혼"을 위해 완전히 새롭게 작성된 FTP 서비스를 개발했습니다. 이 새로운 FTP 서비스는 지금까지 웹 저작자들이 사용해오던 방법보다 개선된 방법을 사용해서 저작물을 배포할 수 있게 해주고, 웹 관리자에게 보다 많은 보안 및 배포 옵션들을 제공해주는 수 많은 새로운 기능들을 갖고 있습니다.

새로운 FTP 서비스의 중요한 기능 중 하나는 웹 호스팅 서비스 제공자가 단일 IP 주소를 사용해서 복수의 FTP 사이트를 구성할 수 있게 해주는 가상 호스트 이름 설정 기능입니다. 본문에서는 새로운 FTP 사용자 인터페이스를 사용하거나 IIS 구성 설정 파일을 직접 편집해서 별개의 가상 호스트 이름을 사용하는 두 개의 FTP 사이트를 생성하는 모든 과정을 보여줍니다. *

노트: 본문의 따라하기에는 로컬 관리자 계정으로 FTP 사이트에 로그인하는 과정이 포함되어 있습니다. 이 과정은 반드시 FTP 사이트가 생성된 서버에서 루프백 주소로 로그인하거나, 원격에서 서버에 로그인하는 경우에는 SSL이 적용되어 있어야 합니다. 만약, 관리자 계정 대신 다른 사용자 계정으로 이 따라하기를 따라해보려면, 반드시 해당 사용자 계정에 적합한 폴더를 생성해야 하고, 필요하다면 이 폴더에 해당 계정에 대한 올바른 권한을 설정해야 합니다.

전제조건

이 따라하기의 내용을 모두 따라해보기 위해서는 다음과 같은 준비가 필요합니다:

  • 여러분들의 롱혼 서버에 IIS 7과 인터넷 정보 서비스 관리자가 설치되어 있어야 합니다.
  • 새로운 FTP 서비스가 설치되어 있어야 합니다. 다음 링크 중 하나를 통해서 http://www.iis.net/ 웹 사이트에서 FTP 서비스를 다운로드 받고 설치할 수 있습니다.
  • FTP 사이트들을 위해 다음과 같은 두 개의 루트 폴더를 생성해야만 합니다. **
    • "%SystemDrive%\inetpub\www.example.com"
    • "%SystemDrive%\inetpub\www.contoso.com"

* 간단하게 말해서 가상 웹 서버에서 제공되는 가상 호스트 이름 기능과 정확하게 동일한 기능입니다.

** 두 폴더는 동일한 IP 주소와 별개의 가상 호스트 이름을 사용하는 두 개의 FTP 사이트들의 홈 디렉터리로 사용될 폴더들입니다.

IIS 관리자로 별개의 호스트 이름을 가진 두 개의 FTP 사이트 생성하기

단계 1: FTP 사이트 마법사를 사용하여 첫 번째 FTP 사이트 생성하기 *

이번 단계에서는 유일한 가상 호스트 이름을 사용하는 첫 번째 FTP 사이트를 생성할 것입니다.

  1. 인터넷 정보 서비스 관리자의 Connections 패인에서 트리뷰의 Sites 노드를 클릭합니다.
  2. 다음 이미지에서 볼 수 있는 것처럼, 트리뷰에서 Sites 노드를 마우스 오른쪽 버튼으로 클릭한 다음, Add FTP Site 메뉴를 클릭하거나, Actions 패인에서 Add FTP Site 링크를 클릭합니다.
  3. Add FTP Site 마법사가 나타나면:
    1. FTP site name 텍스트 박스에는 "www.example.com"이라고 입력합니다.
    2. Contents Directory에는 전제조건 섹션에서 여러분들이 미리 만들어 놓았던 "%SystemDrive%\inetpub\www.example.com" 폴더를 지정합니다.

      노트: 만약, Contents Directory의 물리적 경로를 직접 타이핑해서 입력하면, "%SystemDrive%\inetpub\www.example.com" 같이 경로에 환경 변수를 사용할 수도 있습니다.

    3. 작업을 모두 마쳤으면, Next 버튼을 클릭합니다.
  4. 마법사의 다음 페이지에서는:
    1. FTP 사이트의 IP 주소를 지정하려면 일반적으로 IP Address 드롭다운 목록 상자에서 주소를 선택하거나 기본적으로 선택되어 있는 "All Unassigned."를 그대로 사용하면 됩니다. 그러나, 이 따라하기에서는 나중에 관리자 계정을 사용하여 로그인을 해 볼 것이므로, 서버에 대한 접근을 확실하게 제한하고 싶다면 IP Address에 "127.0.0.1"을 입력하여 로컬 루프백 IP 주소를 지정하십시오.
    2. FTP 사이트의 포트를 지정하기 위해 Port 텍스트 박스에 TCP/IP 포트를 입력합니다. 이 따라하기에서는 기본 포트인 21번 포트를 사용합니다.
    3. Virtual Host 텍스트 박스에는 "www.example.com"라고 입력합니다. **
    4. Certificates 드롭다운 목록 상자의 값을 "Not Selected"로 지정하고, Require SSL 옵션의 체크를 해제합니다.
    5. 작업을 모두 마쳤으면, Next 버튼을 클릭합니다.
  5. 마법사의 다음 페이지에서는:
    1. Authentication 설정에서 Basic을 체크합니다.
    2. Authorization 설정에서:
      1. Allow access to 드롭다운 박스의 값을 "Specified users"로 지정하고,
      2. 사용자 이름으로 "administrator"를 입력합니다.
      3. Permissions 옵션은 Read와 Write를 모두 체크합니다.
    3. 작업을 모두 마쳤으면, Finish 버튼을 클릭합니다.

요약

축하합니다! 여러분들은 지금 막 새로운 FTP 서비스를 사용하는 새 FTP 사이트를 생성했습니다.

이번 단계에서 살펴본 내용들을 다시 정리해보면:

  • "www.example.com"라는 이름으로 새로운 FTP 사이트를 생성했으며, 이 사이트의 컨텐츠 루트는 "%SystemDrive%\inetpub\www.example.com" 폴더로 지정했습니다.
  • FTP 사이트를 컴퓨터 로컬 루프백 주소 및 21번 포트에 바인딩하고, 가상 호스트 이름으로 "www.example.com"를 지정했습니다.
  • 기본 인증을 활성화시키고 로컬 관리자 계정에 FTP 사이트에 대해 "읽기"와 "쓰기"를 허용하는 권한 규칙을 생성했습니다.

단계 2: FTP 사이트 마법사를 사용하여 두 번째 FTP 사이트 생성하기 *

두 번째 단계에서는 유일한 가상 호스트 이름을 사용하는 또 다른 FTP 사이트를 생성할 것입니다.

  1. 인터넷 정보 서비스 관리자의 Connections 패인에서 트리뷰의 Sites 노드를 클릭합니다.
  2. 다음 이미지에서 볼 수 있는 것처럼, 트리뷰에서 Sites 노드를 마우스 오른쪽 버튼으로 클릭한 다음, Add FTP Site 메뉴를 클릭하거나, Actions 패인에서 Add FTP Site 링크를 클릭합니다.
  3. Add FTP Site 마법사가 나타나면:
    1. FTP site name 텍스트 박스에는 "www.contoso.com"이라고 입력합니다.
    2. Contents Directory에는 전제조건 섹션에서 여러분들이 미리 만들어 놓았던 "%SystemDrive%\inetpub\www.contoso.com" 폴더를 지정합니다.

      노트: 만약, Contents Directory의 물리적 경로를 직접 타이핑해서 입력하면, "%SystemDrive%\inetpub\www.contoso.com" 같이 경로에 환경 변수를 사용할 수도 있습니다.

    3. 작업을 모두 마쳤으면, Next 버튼을 클릭합니다.
  4. 마법사의 다음 페이지에서는:
    1. FTP 사이트의 IP 주소를 지정하려면 일반적으로 IP Address 드롭다운 목록 상자에서 주소를 선택하거나 기본적으로 선택되어 있는 "All Unassigned."를 그대로 사용하면 됩니다. 그러나, 이 따라하기에서는 나중에 관리자 계정을 사용하여 로그인을 해 볼 것이므로, 서버에 대한 접근을 확실하게 제한하고 싶다면 IP Address에 "127.0.0.1"을 입력하여 로컬 루프백 IP 주소를 지정하십시오.
    2. FTP 사이트의 포트를 지정하기 위해 Port 텍스트 박스에 TCP/IP 포트를 입력합니다. 이 따라하기에서는 기본 포트인 21번 포트를 사용합니다.
    3. Virtual Host 텍스트 박스에는 "www.contoso.com" 라고 입력합니다. **
    4. Certificates 드롭다운 목록 상자의 값을 "Not Selected"로 지정하고, Require SSL 옵션의 체크를 해제합니다.
    5. 작업을 모두 마쳤으면, Next 버튼을 클릭합니다.
  5. 마법사의 다음 페이지에서는:
    1. Authentication 설정에서 Basic을 체크합니다.
    2. Authorization 설정에서:
      1. Allow access to 드롭다운 박스의 값을 "Specified users"로 지정하고,
      2. 사용자 이름으로 "administrator"를 입력합니다.
      3. Permissions 옵션은 Read와 Write를 모두 체크합니다.
    3. 작업을 모두 마쳤으면, Finish 버튼을 클릭합니다.

요약

축하합니다! 여러분들은 지금 막 새로운 FTP 서비스를 사용하는 두 번째 FTP 사이트를 생성했습니다.

이번 단계에서 살펴본 내용들을 다시 정리해보면:

  • "www.contoso.com"라는 이름으로 새로운 FTP 사이트를 생성했으며, 이 사이트의 컨텐츠 루트는 "%SystemDrive%\inetpub\www.contoso.com" 폴더로 지정했습니다.
  • FTP 사이트를 컴퓨터 로컬 루프백 주소 및 21번 포트에 바인딩하고, 가상 호스트 이름으로 "www.contoso.com"를 지정했습니다.
  • 기본 인증을 활성화시키고 로컬 관리자 계정에 FTP 사이트에 대해 "읽기"와 "쓰기"를 허용하는 권한 규칙을 생성했습니다.

단계 3: FTP 사이트에 로그인하기

단계 1과 단계 2에서는 각각 고유한 가상 호스트 이름을 사용하는 두 개의 FTP 사이트를 생성하고 관리자 계정으로만 로그인이 가능하도록 보안 설정을 구성해보았습니다. 이번 단계에서는 로컬 관리자 계정으로 로그인을 해보게 될 것입니다.

노트: 이번 단계에서는 로컬 관리자 계정으로 FTP 사이트에 로그인해 볼 것입니다. 단계 1과 단계 2에서 FTP 사이트를 생성할 때 FTP 사이트를 로컬 루프백 IP 주소와 바인딩했었습니다. 만약, 로컬 루프백 주소를 사용하도록 설정하지 않았다면 반드시 SSL을 사용해야만 여러분의 로컬 관리자 계정을 보호할 수 있습니다. 그리고, 관리자 계정 대신 다른 사용자 계정으로 로그인을 해보려고 한다면, 반드시 그 계정에 적합한 폴더를 생성해야 하고 필요하다면 이 폴더에 해당 계정에 대한 올바른 권한을 설정해야 합니다.

관리자 계정으로 첫 번째 FTP 사이트에 로그인하기

  1. 여러분들의 FTP 서버에서 명령 프롬프트를 실행합니다.
  2. FTP 서버에 접속하기 위해 다음과 같은 명령어를 입력합니다:
    FTP 127.0.0.1 
  3. 사용자 이름을 입력하는 프롬프트가 나타나면, 다음과 같이 가상 호스트 이름인 "www.example.com"을 파이프 라인 문자(|)와 함께 입력합니다. ***
    "www.example.com|administrator"
  4. 비밀번호를 입력하는 프롬프트가 나타나면, 관리자 계정의 비밀번호를 입력합니다.
  5. 그러면, 로컬 관리자 계정으로 "www.example.com" FTP 사이트에 로그인 될 것입니다.

관리자 계정으로 두 번째 FTP 사이트에 로그인하기

  1. 여러분들의 FTP 서버에서 명령 프롬프트를 실행합니다.
  2. FTP 서버에 접속하기 위해 다음과 같은 명령어를 입력합니다:
    FTP 127.0.0.1
  3. 사용자 이름을 입력하는 프롬프트가 나타나면, 다음과 같이 가상 호스트 이름인 "www.contoso.com"을 파이프 라인 문자(|)와 함께 입력합니다. ***
    "www.contoso.com|administrator"
  4. 비밀번호를 입력하는 프롬프트가 나타나면, 관리자 계정의 비밀번호를 입력합니다.
  5. 그러면 로컬 관리자 계정으로 "www.contoso.com" FTP 사이트에 로그인 될 것입니다.

* 단계 1과 단계 2는 사실상 가상 호스트 이름과 관련된 부분들을 일부 제외하면 동일한 과정을 설명하고 있습니다.

** 이 부분만 제외하면 일반적인 FTP 사이트를 생성하는 작업과 그다지 차이나는 점이 없습니다.

*** 로그인 할 때, "가상 호스트 이름 + 파이프 문자(|) + 사용자 계정"의 조합으로 로그인한다는 점만 기억해두면 됩니다.

IIS 구성 설정 파일을 편집하여 새로운 FTP 서비스 생성하기

직접 IIS 구성 설정 파일을 편집해서 새로운 FTP 서비스 기반의 FTP 사이트를 생성할 수도 있습니다. 다음의 단계들에서는 새로운 FTP 사이트를 생성하기 위해 필요한 전체 과정을 보여줍니다.

  1. 메모장 같은 텍스트 편집기를 사용해서, %SystemRoot%\System32\inetsrv\config 폴더에 존재하는 applicationHost.config 파일을 엽니다.
  2. <sites> 섹션으로 이동합니다. 그리고, 다음과 같은 구문을 사용하여 <sites> 섹션에 첫 번째 FTP 사이트를 추가합니다.
    <site name="www.example.com" id="2">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\www.example.com" />
        </application>
        <bindings>
            <binding protocol="ftp" bindingInformation="127.0.0.1:21:www.example.com" />
        </bindings>
        <ftpServer>
            <security>
                <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
                <authentication>
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
        </ftpServer>
    </site>

    노트: 만약, 다른 사이트에서 이미 사이트 식별자로 "2"를 사용하고 있다면 사이트 ID를 "2" 이외의 다른 번호로 지정해야 할 수도 있습니다. *

  3. 다음과 같은 구문을 사용하여 <sites> 섹션에 두 번째 FTP 사이트를 추가합니다.
    <site name="www.contoso.com" id="3">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\www.contoso.com" />
        </application>
        <bindings>
            <binding protocol="ftp" bindingInformation="127.0.0.1:21:www.contoso.com" />
        </bindings>
        <ftpServer>
            <security>
                <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
                <authentication>
                    <basicAuthentication enabled="true" />
                </authentication>
            </security>
        </ftpServer>
    </site>

    노트: 만약, 다른 사이트에서 이미 사이트 식별자로 "3"를 사용하고 있다면 사이트 ID를 "3" 이외의 다른 번호로 지정해야 할 수도 있습니다. *

  4. 이제 applicationHost.config 파일의 가장 마지막 부분으로 이동하여 두 FTP 사이트의 권한 설정이 들어갈 location 섹션을 추가합니다.
    <location path="www.example.com">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>
    <location path="www.contoso.com">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>

    노트: 이 예제에서 볼 수 있는 것처럼 FTP 사이트에 대한 권한 설정은 URL 기반으로 구성됩니다. 여기에서는 관리자 계정에 읽기와 쓰기 권한을 모두 허용하고 있습니다.

  5. 마지막으로 applicationHost.config 파일을 저장합니다.

이제 여러분은 새롭게 생성된 두 개의 FTP 사이트에 FTP 클라이언트를 사용해서 로그인 할 수 있습니다. 로그인 방법에 대한 보다 자세한 내용은 본문의 단계 3: FTP 사이트에 로그인하기 섹션을 참고하시기 바랍니다.

요약

이번 단계에서 살펴본 내용들을 다시 정리해보면:

  • 각각 "%SystemDrive%\inetpub\www.example.com"과 "%SystemDrive%\inetpub\www.contoso.com"을 사이트의 컨텐츠 루트로 사용하는 "www.example.com"과 "www.contoso.com"이라는 두 개의 FTP 사이트를 생성했습니다.
  • 두 FTP 사이트를 컴퓨터 로컬 루프백 주소 및 21번 포트에 바인딩하고, 가상 호스트 이름으로 각각 "www.example.com"과 "www.contoso.com"을 지정했습니다.
  • 기본 인증을 활성화하고 로컬 관리자 계정에게 두 사이트에 대한 "읽기" 및 "쓰기" 권한 설절했습니다.

* 사이트 ID에 대한 보다 상세한 개념은 이 문서에서 설명하고 있는 사이트 인덱스의 개념을 참고하시기 바랍니다.