FTP 7 따라하기: 웹 사이트에 FTP 추가하기

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

서론

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

본문의 따라하기에서는 여러분에게 새로운 FTP 사용자 인터페이스를 사용하거나 IIS 구성 설정 파일을 직접 편집해서 이미 존재하고 있는 웹 사이트에 FTP 게시를 추가하는 모든 과정을 보여드립니다. *

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

전제조건

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

  • 여러분들의 롱혼 서버에 IIS 7이 설치되어 있고, 다음과 같은 구성이 준비되어 있어야 합니다.
    • IIS 7이 설치될 때 생성된 기본 웹 사이트가 존재해야 합니다.
    • 인터넷 정보 서비스 관리자가 설치되어 있어야 합니다.
  • 새로운 FTP 서비스가 설치되어 있어야 합니다. 다음 링크 중 하나를 통해서 http://www.iis.net/ 웹 사이트에서 FTP 서비스를 다운로드 받고 설치할 수 있습니다.

* IIS 7에서는 웹 사이트와 FTP 사이트가 따로 구분되지 않고 모두 "사이트"로 다뤄집니다. 그래서, 해당 사이트에 설정된 바인딩의 종류와 갯수에 따라 그 사이트가 웹 사이트인지, FTP 사이트인지, 또는 웹 사이트면서 동시에 FTP 사이트인지 결정됩니다. 본문에서는 기본 웹 사이트에 FTP 게시를 추가해서 임의의 사이트를 웹 사이트면서 동시에 FTP 사이트로 설정하는 과정을 보여줍니다.

IIS 관리자를 사용하여 FTP 게시 추가하기

새로운 FTP 서비스에서는 이미 존재하는 사이트에 FTP 게시를 추가하기 위한 전 과정을 처음부터 끝까지 안내해주는 마법사를 제공해서 사용자를 도와줍니다.

단계 1: FTP 사이트 마법사를 사용하여 FTP 게시 추가하기

이번 첫 번째 단계에서는 기본 웹 사이트에 FTP 게시를 추가하고, 로컬 관리자 계정의 권한으로 기본 웹 사이트의 컨텐츠를 편집하기 위해 필요한 설정을 추가해 볼 것입니다.

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

요약

축하합니다! 여러분들은 지금 막 기본 웹 사이트에 FTP 게시를 추가하는데 성공했습니다.

이번 단계에서 살펴본 내용들을 다시 정리해보면, 기본 웹 사이트에 FTP 게시를 추가하기 위해:

  • 기본 웹 사이트에 로컬 루프백 주소 및 21번 포트를 사용하는 FTP 바인딩을 추가했습니다.
  • FTP 사이트에 대한 보안 소켓 계층(SSL)은 사용하지 않도록 설정했습니다.
  • 기본 인증을 활성화시키고 로컬 관리자 계정에 FTP 사이트에 대해 "읽기"와 "쓰기"를 허용하는 권한 규칙을 추가했습니다.

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

단계 1에서는 기본 웹 사이트에 FTP 게시를 추가하고, 로컬 관리자 계정이 웹 사이트의 콘텐츠를 읽거나 쓸 수 있도록 허용하는 권한 규칙을 추가해봤습니다. 이번 단계에서는 로컬 관리자 계정으로 로그인을 해보게 될 것입니다.

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

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

  1. FTP 서버에서 명령 프롬프트를 실행합니다.
  2. FTP 서비스에 접속하기 위해 다음과 같은 명령어를 입력합니다:
    FTP localhost
  3. 사용자 이름을 입력하는 프롬프트가 나타나면 "administrator"를 입력합니다.
  4. 비밀번호를 입력하는 프롬프트가 나타나면, 관리자 계정의 비밀번호를 입력합니다.

그러면, 단계 1에서 추가한 컨텐츠 폴더에 대한 읽기와 쓰기 접근 권한이 설정된 규칙에 따라 FTP 사이트에 로컬 관리자로 로그인 될 것입니다.

요약

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

  • FTP 사이트에 로컬 관리자 계정으로 로그인합니다.

IIS 구성 설정 파일을 편집하여 FTP 게시 추가하기

직접 IIS 구성 설정 파일을 편집하여 이미 존재하는 웹 사이트에 FTP 게시를 추가할 수도 있습니다. 다음의 단계들에서는 기본 웹 사이트에 FTP 게시를 추가하기 위해 필요한 전체 과정을 보여줍니다.

  1. 메모장 같은 텍스트 편집기를 사용해서, %SystemRoot%\System32\inetsrv\config 폴더에 존재하는 applicationHost.config 파일을 엽니다.
  2. <sites> 섹션으로 이동합니다. 이 섹션은 대부분 다음과 비슷한 내용으로 구성되어 있을 것입니다:
    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
        </bindings>
    </site>
  3. bindings 섹션에 새로운 binding 요소를 생성하고 protocol 속성값은 "ftp"로, bindingInformation 속성의 포트값은 "21"로 설정합니다.
  4. 이제 기본 웹 사이트의 설정은 다음과 비슷하게 구성되어 있을 것입니다:
    <site name="Default Web Site" id="1">
        <application path="/">
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:80:" />
            <binding protocol="ftp" bindingInformation="*:21:" />
        </bindings>
    </site>
  5. 닫기 bindings 태그 바로 아래에 인증 설정을 위한 <ftpServer> 섹션을 추가합니다.
    <ftpServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <basicAuthentication enabled="true" />
            </authentication>
        </security>
    </ftpServer>

    노트: URL 기반으로 구성되는 웹 사이트의 인증과는 달리 FTP 사이트의 인증 설정은 사이트 기반으로 구성됩니다.

  6. 이제 여러분들의 <sites> 섹션은 다음과 비슷하게 구성되어 있을 것입니다:
    <sites>
        <site name="Default Web Site" id="1">
            <application path="/">
                <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:80:" />
                <binding protocol="ftp" bindingInformation="*:21:" />
            </bindings>
            <ftpServer>
                <security>
                    <authentication>
                        <anonymousAuthentication enabled="false" />
                        <basicAuthentication enabled="true" />
                    </authentication>
                </security>
            </ftpServer>
        </site>
  7. 이제 applicationHost.config 파일의 가장 마지막 부분으로 이동하여 기본 FTP 사이트의 권한을 설정하기 위한 location 섹션을 추가합니다.
    <location path="Default Web Site">
        <system.ftpServer>
            <security>
                <authorization>
                    <add accessType="Allow" users="administrator" permissions="Read, Write" />
                </authorization>
            </security>
        </system.ftpServer>
    </location>

    노트: 이 예제에서 볼 수 있는 것처럼 FTP 사이트에 대한 권한 설정은 URL 기반으로 구성됩니다.

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

이제 FTP 클라이언트를 사용해서 관리자 계정으로 FTP 활성 사이트에 로그인할 수 있습니다. 그러나, 다른 사용자 계정으로는 로그인이 불가능 할 것입니다.

요약

이번 단계에서는 IIS 구성 설정 파일을 직접 편집해서 기본 웹 사이트에 FTP 게시를 추가했습니다. 이번 단계에서 살펴본 내용들을 다시 정리해보면:

  • 기본 웹 사이트에 FTP 바인딩을 추가했습니다.
  • 기본 웹 사이트에 대한 FTP 기본 인증을 활성화하고 익명 인증은 비활성화 했습니다.
  • 로컬 관리자 계정이 기본 웹 사이트에 대해 "읽기" 및 "쓰기" 권한을 갖도록 설정했습니다.