Настройка ftp-сервера IIS на Windows 7

Иногда проще и быстрее передать файл через собственный ftp-сервер, чем закачивать на файлообменник. Ниже рассмотрена процедура установки и настройки ftp-сервера IIS, входящего в состав Windows 7.  

Содержание:

Установка FTP-сервера.

FTP-сервер входит в состав служб IIS. Для его установки открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Раскрываем раздел Службы IIS и ставим галочки напротив следующих компонентов: Служба FTP и Консоль управления IIS.

Установка службы FTP
Установка службы FTP

Настройка FTP-сервера.

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу Службы и приложения и открываем Диспетчер служб IIS. В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку Добавить FTP-сайт.

Создание FTP-сайта
Создание FTP-сайта

В мастере создания ftp-сайта указываем его название и расположение (по умолчанию c:\inetpub\ftproot).

Название и расположение сайта
Название и расположение сайта

Далее указываем параметры привязки и SSL. Раздел привязка оставляю без изменений. Опцию “Запускать ftp-сайт автоматически” отключаю (ftp мне нужен только время от времени). В разделе SSL выставляю опцию “Без SSL”.

Параметры привязки и SSL
Параметры привязки и SSL

В следующем окне оставляем все без изменений и нажимаем Готово.

Сведения о проверке подлинности и авторизация
Сведения о проверке подлинности и авторизация

Сайт создан. Теперь можно перейти к дополнительным параметрам для тонкой настройки (например ограничить максимальное количество одновременных подключений). Выделите только что созданный сайт, справа в панели Действия нажмите на Дополнительные параметры.

Дополнительные параметры
Дополнительные параметры

Следующий этап – настройка брандмауэра Windows. Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В разделе “Правила для входящих подключений” находим и активируем “FTP-сервер (входящий трафик)” и “FTP Server Passive (FTP Passive Traffic-In)”. Последнее правило позволяет подключаться ftp-клиенту в пассивном режиме.

Открываем порт 21 (входящий)
Открываем порт 21 (входящий)
Открываем порты 1023-65535 (пассивный режим)
Открываем порты 1023-65535 (пассивный режим)

В разделе “Правила для исходящего подключения” находим и активируем “FTP Server (FTP Traffic-Out)”.

Открываем порт 20 (исходящий)
Открываем порт 20 (исходящий)

Если в системе установлен дополнительный брандмауэр (Comodo, Outpost и т.п.), то в нем также необходимо открыть порт 21 (TCP) для входящих подключений и порт 20 (TCP) для исходящих.

Если подключение к Интернет осуществляется с помощью маршрутизатора, и вы хотите сделать свой сервер доступным интернет-пользователям, тогда необходимо настроить проброс портов на маршрутизаторе. На моем Dlink DI-804HV это выполняется в разделе Virtual Server.

Настройка маршрутизатора
Настройка маршрутизатора

192.168.10.4 – ip-адрес ftp-сервера в локальной сети.

Настройка прав пользователей.

Если оставить все как есть, то подключиться к ftp-серверу сможет любой пользователь (включен анонимный доступ) с правами только на чтение (можно скачивать, но записывать и изменять файлы нельзя). Предположим, что нам нужно сделать доступ для доверенных пользователей, которые имели бы права записи и изменения файлов.

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). Далее раскрываем группу Локальные пользователи и группы (данная настройка доступна только в редакциях Бизнес и Максимальная). Правый клик на папке Группы, в меню выбираем Создать группу.

Создание группы пользователей ftp (1)
Создание группы пользователей ftp (1)

Вводим название группы – Пользователи FTP, описание (можно не вводить) и нажимаем кнопку Создать.

Создание группы пользователей ftp (2)
Создание группы пользователей ftp (2)

Теперь необходимо создать пользователя. Делаем правый клик на папке Пользователи и в меню выбираем Новый пользователь.

Создание пользователя ftp (1)
Создание пользователя ftp (1)

Вводим имя пользователя (например ftp_user_1), пароль (не менее 6 символов), выставляем галочки напротив опций “Запретить смену пароля пользователем” и “Срок действия пароля не ограничен”.

Создание пользователя ftp (2)
Создание пользователя ftp (2)

Пользователь создан. Теперь необходимо присвоить ему ранее созданную группу Пользователи ftp. Для этого открываем свойства пользователя и переходим на закладку “Членство в группах”. По умолчанию новому пользователю присваивается группа Пользователи, удаляем ее. Нажимаем кнопку Добавить -> Дополнительно -> Поиск. Откроется список групп пользователей. Выбираем группу Пользователи FTP и нажимаем Ok. В итоге получаем:

Создание пользователя ftp (3)
Создание пользователя ftp (3)

Нажимаем Ok и переходим к следующему этапу.

На этапе создания ftp-сайта нам было необходимо выбрать рабочий каталог (c:\inetpub\ftproot). Теперь для группы “Пользователи FTP” необходимо настроить права доступа к этому каталогу. Открываем c:\inetpub в проводнике, открываем свойства папки ftproot, переходим на закладку Безопасность и нажимаем кнопку Изменить. В открывшемся окне нажимаем кнопку Добавить и выбираем группу “Пользователи FTP” (как при создании пользователя). Устанавливаем уровень прав – “Полный доступ” и нажимаем Ок.

Установка прав доступа к папке ftproot
Установка прав доступа к папке ftproot

Последний этап. Вновь открываем Диспетчер служб IIS и выделяем наш ftp-сервер (Test FTP). В панели управления ftp-сайтом выбираем “Правила авторизации FTP”. Добавляем разрешающее правило. В открывшемся окне выбираем опцию “Указанные роли или группы пользователей”. Внизу в текстовом поле руками прописываем название нашей группы (Пользователи FTP), далее ставим галочки в разделе Разрешения напротив Чтение и Запись и нажимаем Ок.

Добавляем правило авторизации FTP
Добавляем правило авторизации FTP

На этом настройка завершена.

В начале мы не выбрали опцию автоматического запуска сервера, поэтому не забываем запустить его вручную (правый клик на названии сайта -> Управление FTP-сайтом -> Пуск).

Как подключиться?

Вариант с использованием проводника Windows.
Открываем Компьютер (Vista, Win 7) или Мой Компьютер (XP).
Для анонимного доступа просто вводим в адресную строку адрес сервера (ftp://192.168.10.4).
Чтобы войти с именем пользователя и паролем вводим адрес вида: ftp://[имя пользователя]:[пароль]@[адрес ftp-сервера]. Например ftp://ftp_user_1:qwerty@192.168.10.4 – для подключения из локальной сети. Для подключения из Интернет локальный адрес заменяем на внешний или на доменное имя.

Как настроить анонимный доступ?

Как сделать свой ftp-сервер доступным из Интернет?

Если компьютер подключен к Интернет на прямую, то никаких дополнительных действий предпринимать не нужно.

Если компьютер подключен к Интернет через роутер, тогда в панели управления роутера необходимо настроить форвардинг порта TCP 21 (часто это еще называют виртуальным сервером). Настройка форвардинга порта на примере D-link DI-804.

Ссылки по теме:

Вливайтесь в общение

508 комментариев

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  1. Ребята подскажите как отключить отображение списка файлов в папке?

    Хотелось бы так как это реализовано на хостингах если в папке лежит файл index.html пустой то файлов списка файлов в каталоге не видно и пожно обратится к файлу только по прямой ссылке.

  2. Здравствуйте.
    Настроил ftp-сервера IIS на Windows 7 x64. Возникла следующая проблема. При копировании больших файлов через проводник (когда время копирования более 5 минут), то при завершении копирования появляется ошибка “Ошибка при копировании файла. Операция прервана по таймауту”. Если копировать через ftp-клиент с функцией докачки (например FileZilla), то скачиваются файлы любого размера и ошибок нет. Но мне нужно что бы можно было скачать большие файлы через проводник. Подскажите где смотреть.

  3. Наколбасил чегой-то… утомился в стадии когда ФТП через 192.168.1.ххх открывается.
    “проброс портов” вроде сделал как то так

    https://www.dropbox.com/s/9pkqqszp8x2qpq2/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA.PNG?dl=0

    а может быть если у меня IP динамический то из внешней сети не достучишься? даже в краткосрочной перспективе? то есть зарегался мой модем в сети – он же какое то время имеет стабильный адрес… или как это работает?

  4. Большое спасибо. Очень и очень полезная статья!
    Настроил буквально минут за 20, не спеша!

  5. Отличная статья! Не раз выручала, и по ней всё работает, если делать по пунктам. А есть вариант защиты от перебора паролей к ftp? А то будут подбирать, а я и не узнаю. Может есть какая-то стандартная опция?

  6. На сервер пытаюсь сделать два Ftp один на стандартном порте 21 работает нормально, запускаю второй на порте 1450, в поддержка брандмауэра FTP поставил диапазон 1449-1451, при попытке подключиться выходит окно авторизация ввожу логин пароль выходит ошибка папки FTP
    “В ходе открытия папки на ftp-сервере произошла ошибка. Убедитесь, что у вас есть разрешение открывать эту папку.
    Подробности:
    200 Type set to A.
    227 Entering Passive Mode (192,168,1,11,233,224).”

  7. Здравствуйте! Вроде бы все настроил, но не дает авторизоваться.

  8. Все получилось, но есть одна неприятная вещь. В FTP-сайте указан один каталог, а подключение происходит в корень диска, где этот каталог размещен. Причем даже если я в диспетчере служб IIS выключу FTP-сайт, то я все равно могу подключиться и подключаюсь в корень. Как быть-то?

  9. Здравствуйте, в итоге поставил связку IIS7+PHP+MySQL. На уровне тестов работает, но с одной особенностью: не обрабатывается php код в html файле? если сменить расширение файла на .php -работает. Почему-то меня это напрягло, но ничего не нашел в инете -только про apaсhe и настройку .htaccess (такое впечатление что IIS никто не использует). На свой страх и риск в настройках сервера добавил сопоставление модуля для *.html (по аналогии с настройкой для *.php). Кажется работает и для html и для php. Опасаюсь каких-нибудь побочных эффектов? Может не заморачиваться, а просто делать php-сайт? Буду признателен за ответ. Спасибо.

    1. По умолчанию в html-файлах не предполагается исполнение php кода!
      Это не особенность IIS, то же самое и на Apache!
      html- это статика, php – динамика. Зачем смешивать? )
      К тому же сейчас редко где увидишь расширение файла в строке запроса. Все скрыто за ЧПУ

      Но если хочется, можно сделать через сопоставление. Это абсолютно легально. Побочных эффектов быть не должно.

      1. Спасибо, понял. И еще вопрос: у меня 2 сайта: я разместил две папки в wwwroot и обращаюсь к ним через Мой_IP/ИмяПапки1 и …2 – работают и в локальной сети, и через удаленный доступ, и раздельно, и одновременно. В настройках управления IIS я вижу один сайт включающий две папки с моими сайтами (+ некую папку aspnet_client – видимо служебную). У меня проброшен через роутер только 80-й порт. Если я выношу мой второй сайт как отдельную единицу, то система запрашивает отдельный порт отличный от 80: не проблема- пробрасываю 81, работает. Но как правильно (лучше), я не понимаю? Примечание: это просто забава (пока, по крайней мере) и показываю я эти сайты только друзьям и пока не планирую общий доступ.