Как создать FTP сервер средствами самой Windows 10, 8.1, 8, 7, Vista

В продолжении темы о передаче файлов через интернет, сегодня расскажу о FTP сервере. Хотя я и отдал своё предпочтение HTTP файловому серверу, упускать из виду FTP сервер нельзя, так как это очень популярный способ передачи файлов. Итак, немного теории. Что такое FTP?

FTP (File Tranfser Protocol) в переводе с английского означает «Протокол передачи файлов» и служит для обмена файлами между компьютерами через интернет или локальную сеть. Для входа на FTP сервер достаточно обычного браузера или даже проводника Windows. Единственное условие это открытый порт 21 (используется по умолчанию, но можно заменить на свой), то есть он должен быть открыт. Так что, если у вас стоит Firewall или роутер, придется вспомнить где у вас лежит инструкция, чтобы пробросить 21 порт.

Конечно же лучше всего использоваться для подобных целей специальный NAS сервера (они и электричества не так много едят, как ПК, да и заточены под такие протоколы)к, но не у всех есть на это деньги, поэтому будем делать небольшой сервер из своего компьютера. Есть много программ как платных, так и бесплатных, которые могут создать FTP-сервер в автоматическом режиме, но сегодня мы рассмотрим случай простейшего сервера, который может создать сама операционная система Windows. Для этого нам не придется ничего скачивать, необходима только Windows, но не в издании Home или ниже, всё выше нам подходит. Как альтернативу можно рассмотреть так же создание WebDAV файлового сервера.

Итак, переходим к настройке FTP-сервера.

1) И первое, что нам нужно — это добавить компоненты в нашу операционную систему.  Для этого идём в «Панель управления» → «Программы» → «Программы и компоненты» и жмём кнопку слева «Включение или отключение компонентов Windows»:

Выбираем "Включение или отключение компонентов Windows"

2) В открывшемся списке нам необходимо включить группу компонентов «Службы IIS», а именно: «FTP — сервер», «Службы Интернета» и «Средства управления веб-сайтом». Должно получить так же, как на скриншоте:

Выбираем "Службы IIS"

Жмём ОК и ожидаем завершения установки компонентов. В зависимости от выпуска вашей операционной системы, может понадобиться диск с установочным пакетом Windows.

Windows применила требуемые изменения

3) Далее нам нужно запустить наш FTP-сервер. Для этого идём в «Панель управления» → группа «Сеть и безопасность» → «Администрирование» и открываем «Диспетчер служб IIS»:

Открываем "Диспетчер служб IIS"

В открывшемся окне в левой колонке открываем дерево до вкладки «Сайты» и жмём по этой вкладке правой клавишей. Выбираем «Добавить FTP-сайт»:

Добавить FTP-сайт

Указываем имя сайта и каталог, к которому будет осуществляться доступ по FTP протоколу:

Вводим имя сайта и физический путь

Указываем параметры запуска FTP-сервера. Если вы не хотите, чтобы сервер запускался автоматически при старте системы, снимите галочку. В подразделе SSL поставьте точку на «Без SSL»:

Отключаем SSL

На следующей странице ставим галочку напротив «Анонимный» и «Обычная» и жмём готово:

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

FTP-сайт создан, продолжаем настройку.

FTP сервер создан, переходим к настройке

4) Идём в «Панель управления» → группа «Система и безопасность» → «Брандмауэр Windows» и в левой колонке выбираем «Дополнительные параметры»:

Выбираем "Дополнительные параметры" в окне Брандмауэра Windows

Переходим на вкладку «Правила для входящих соединений». Необходимо найти и включить два пункта:

— FTP-сервер (входящий трафик);
— Трафик FTP-сервера в пассивном режиме (входящий трафик FTP в пассивном режиме).

Для этого жмём правой клавишей по правилу и выбираем «Включить правило»:

Включаем два правила: FTP-сервер (входящий трафик) и Трафик FTP-сервера в пассивном режиме (входящий трафик FTP в пассивном режиме)

Затем переходим во вкладку «Правила для исходящих подключений» и включаем правило «Трафик FTP-сервера (исходящий трафик FTP)»:

Включаем правило Трафик "FTP-сервера (исходящий трафик FTP)"

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

5) Необходимо создать пользователя, который будет иметь полный доступ к серверу по FTP (запись/удаление). Для начала необходимо создать новую группу пользователей. Поэтому идём в «Панель управления» → группа «Система и безопасность» → «Администрирование» → «Управление компьютером». В левой части окна выбираем раздел «Локальные пользователи и группы» → «Группы». Кликаем правой клавишей по пустому месту в центральной части окна и выбираем «Создать группу…»:

Создаем новую группу пользователей

Прописываем имя и описание группы и жмём кнопку «Создать»:

Вводим имя и описание новой группы пользователей

Переходим во вкладку «Пользователи» и по аналогии кликаем по пустому месту и  выбираем «Новый пользователь»:

Создаем нового локального пользователя

Прописываем данные и придумываем пароль (не менее восьми символов). Также ставим галочки на «Запретить смену пароля пользователем» и «Срок действия пароля» не ограничен»:

Задаем имя пользователя и пароль для нового локального пользователя

Открываем свойства нового пользователя кликнув по нему правой клавишей. Переходим на вкладку «Членство в группах». Жмём кнопку «Добавить» → «Дополнительно» → «Поиск» и выбираем группу, которую мы создали несколько минут назад. Жмём ОК.

Задаем членство в группах для нового локального пользователя

6) Далее нам необходимо указать разрешения группы для каталога, который мы указывали при создании сервера. Для этого открываем его свойства на вкладку «Безопасность» и жмём кнопку «Изменить»:

Открываем настройки безопасности каталога, который будет иметь доступ через FTP

Жмём кнопку «Добавить» и добавляем группу, которую мы создавали. Предоставляем группе полный доступ, отметив соответствующую галочку в нижней части окна:

Добавляем нашу новую группу пользователей и предоставляем ей полный доступ

Жмём ок, чтобы применить изменения.

7) Далее возвращаемся к настройке нашего FTP-сервера.

Переходим «Панель управления» → группа «Сеть и безопасность» → «Администрирование» и открываем «Диспетчер служб IIS» → «Сайты» и выбираем наш сайт:

Переходим к настройке FTP сервера

Открываем «Правила авторизации FTP» и кликаем по пустому месту в центральной части окна. Выбираем «Добавить разрешающее правило»:

Добавляем новое разрешающее правило

Выбираем «Указанные роли или группы пользователей» и прописываем имя нашей группы. Даём этой группе права на чтение и запись и жмём ОК.

Указываем нашу новую локальную группу и дает полный доступ

Добавляем ещё одно правило авторизации. Выбираем «Все анонимные пользователи» и ставим галочку только на «Чтение», чтобы неизвестные люди не могли записать что-либо на наш сервер:

Добавляем всех анонимных пользователей и дает доступ только на чтение папки

Далее возвращаемся к меню сайта и выбираем «Проверка подлинности FTP». Включаем «Анонимный доступ», теперь к нашему FTP-серверу сможет подключиться кто угодно:

Настраиваем проверку подлинности для FTP-сервера

Возвращаемся на сайт и заходим в «Ведение журнала FTP».

Указываем максимальный размер лога или отключаем его совсем. Жмём справа «Применить»:

Указываем максимальный размер лога или отключаем его совсем

FTP-сервер успешно создан и запущен. Для проверки используем какой-либо FTP-клиент (например FileZilla или ES проводник на телефоне Android). Можно добавить FTP сервер в качестве сетевого диска, это значительно облегчит пользование сервером и не потребует никаких дополнительный утилит. Также к вашему вниманию статья, посвященная подключению к серверу FTP с устройства Android.

Update: Выяснилась интересная, но не очень приятная особенность FTP сервера службы IIS. Если вы добавляете виртуальный каталог, чтобы расшарить отдельную папку, она не отображается в списке каталогов FTP сервера со стороны клиента, хотя в неё всё равно можно зайти введя прямую ссылку (Например ftp://skesov.ru/virtual_folder_name/). На мой взгляд это не очень удобно и не знаю о чём думали в майкрософт, когда писали эту часть кода FTP сервера. Элементарным решением является создание символьной ссылки в папку, которая уже расшарена через FTP протокол. Подробно почитать о этом можно в статье о создании символьной ссылки.

Update 2: Добавил на сайт статью по привязке постоянного доменного имени к динамическому IP адресу.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание :)

Материал сайта Skesov.ru