Установка FTP-сервера на IIS 7 в Windows Server 2008 R2

FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2.

0. Оглавление

  1. Добавление службы FTP-сервер
  2. Добавление FTP-сайта
  3. Детальная настройка уровня доступа для FTP-сайта

1. Добавление службы FTP-сервер

FTP-Сервер является службой роли «Веб-сервер (IIS)» , поэтому для начала нужно установить данную роль. Для этого заходим в диспетчер сервера  («Пуск» — «Администрирование» — «Диспетчер сервера»). Раскрываем вкладку «Роли» и нажимаем «Добавить роли» . Если веб-сервер уже был установлен раннее, то необходимо кликнуть правой кнопкой мыши на названии роли в диспетчере сервера и выбрать «Добавить службы ролей» .

В запустившемся мастере нажимаем «Далее» , выбираем роль «Веб-сервер (IIS)» и 2 раза жмем «Далее» .

Теперь надо выбрать службы для данной роли. По умолчанию уже отмечены службы, необходимые для работы web-сервера. Листаем вниз и отмечаем службу «FTP-Сервер» . Затем жмем «Далее» , «Установить» и дожидаемся сообщения об успешной установке роли.

 2. Добавление FTP-сайта

Теперь в диспетчере сервера, раскрыв вкладку «Роли» мы видим добавленную только что роль  «Веб-сервер (IIS)» . Кликаем по ней 2 раза и заходим в «Диспетчер служб IIS» (доступен также через  «Пуск» — «Администрирование» — «Диспетчер служб IIS» ).

В диспетчере служб IIS мы видим, что у нас уже добавлен сайт по умолчанию «Default Web Site» (Чтобы его просмотреть можно набрать в строке браузера http://localhost/ ) , нам же надо добавить новый ftp-сайт. Для этого кликаем правой кнопкой мыши в окне «Подключения» и выбираем «Добавить FTP-сайт» .

Запустится мастер добавления FTP-сайта. Придумываем имя FTP-сайта (только для нас), указываем расположения каталогов для сайта и жмем «Далее» .

На следующей странице, в меню «Привязки» оставляем «Все свободные» и можно поменять порт по умолчанию, если вам это надо. Далее, если у вас есть доменное имя, и вы хотите чтобы по нему был доступен FTP-сайт, записываем его в поле «Виртуальный узел» (О доменном имени и привязке его к IP адресу можно прочитать здесь). У меня это ftp.tavalik.ru, в противном случае НЕ включаем опцию «Разрешить имена виртуальных узлов» . Оставляем галочку «Запускать FTP-сайт автоматически» (чтобы сайт запускался автоматически при запуске компьютера), выбираем пункт «Без SSL» (в этой статье я не буду рассматривать данный протокол) и жмем «Далее» .

Теперь настраиваем уровень доступа к FTP-сайту. Устанавливаем проверку подлинности «Анонимный» , только если хотим  оставить анонимный доступ к сайту и выбираем «Обычная» для обычной проверки доступа. Далее необходимо выбрать для каких пользователей будет доступен наш FTP-сайт. Можно выбрать группы пользователей или перечислить имена пользователей через запятую. Я же выбираю «Все пользователи» , устанавливаем флаги «Чтение» и «Запись» и жмем «Готово» .

Все, на этом наш FTP-сайт готов. Для проверки можно набрать в браузере ftp://<%вашдомен%>, если Вы делали привязку к доменному имени, или ftp://localhost в противном случае.

Если вы настраивали все так же, как описано у меня, то FTP-сайт доступен для всех пользователей, имеющихся в системе (о том как добавить пользователя я писал здесь). Кроме того, все параметры вводимые при добавлении FTP-сайта можно изменить в любое время в меню управления сайтом, а также в меню «Действия» , выделив его в диспетчере служб IIS.

3. Детальная настройка уровня доступа для FTP-сайта

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

Более детально, уровень доступа можно настроить управляя параметрами безопасности для каталогов и файлов в директории, где находится FTP-сервер. В моем случае это C:\my_ftp\ . Заходим в свойства папки, выбираем вкладу «Безопасность» затем нажимаем «Изменить» и выбираем уровень доступа для пользователей и групп пользователей. Аналогично настраивается безопасность для вложенных папок и отдельных файлов.

Помогла ли вам данная статья?
Да, спасибо, помогла.
Немного помогла.
Нет, совсем не помогла.
Не то, что я искал(а).
Смотреть результаты
Запись опубликована в рубрике Windows Server 2008 R2, Хостинг на своем компьютере с метками , , , . Добавьте в закладки постоянную ссылку.


53 Responses to Установка FTP-сервера на IIS 7 в Windows Server 2008 R2

  1. Аноним говорит:

    спасибо!

  2. Александр говорит:

    Сделал все по алгоритму. При попытке подключиться через FileZilla выдает ошибку: 
    Status:Resolving address of ftptest123.com
    Status:Connection attempt failed with «EAI_NONAME — Neither nodename nor servname provided, or not known».
    Error:Could not connect to server
    В браузере тож не может найти его. Перезапускал ftp-сервер, не помогло. Брандмауэр выключен. 

  3. Вадим говорит:

    Сделал все по алгоритму. При попытке подключения с любого места (localhost, имя_сервера, IP_сервера)  любым способом (Opera, Total Commander) запрашивает логин/пароль. Логины/пароли пользователей, прописанных на сервере, не принимает (в т.ч. и админские). Не взирая на типы разрешений доступа к ftp выдает ошибку 530. В какую сторону копать?

    • Артур говорит:

      Для решения проблемы, в качестве имени пользователя нужно указывать еще и домен. Например, у вашего FTP-сервера домен: http://ftp.domen.ru. Имя учетной записи: admin. Пароль: 123.

      При подключении, адрес сервера будет: http://ftp.domen.ru, порт 21 (по умолчанию). Имя пользователя: http://ftp.domen.ru|admin. Пароль: 123.

  4. Сергей говорит:

    Всё сделал по инструкции, теперь просит логин и пароль. admin;123 не подходит. От своего сервера пароль тоже вводил, ниже не работает!!!!!!!

    • Виталий Онянов говорит:

      А вообще не сервер вы можете зайти с такими учетными данными? Также проверьте что у пользователя admin есть права на доступ к FTP-серверу.

  5. Виталий говорит:

    Здравствуйте, Не получилось… Все сделал как написано. Зарегистрировал домен reklamaest.ru в настройках FTP указал — . При подключении долго грузит страницу и все на этом… 

    • Виталий Онянов говорит:

      А по ссылке ftp://localhost на самом сервере работает?

      • Виталий говорит:

        Получилось… Не правильно порты пробросил. Теперь другая загвоздка — требует пароль… хотя тип аутентификации поставил для всех открыт… пароли  пользователей вводил — не подходят. Пароль админа сервера вводил — не подходит… Как убрать эти пароли?

      • Максим говорит:

        ftp://localhost заходит, но из внешней сети не подходят пароли

  6. Евгений говорит:

    Здравствуйте! Настроил фтп сервер за НАТом. Имеется роутер зуксель. в сети роутера есть комп на котором виртуалки. на одной из виртуалок развернул фтп сервер. Сделал проброс портов с белого ип на внутреннюю сеть. при выборе обычных пользователей выскакивает окно авторизации. Прочитав комментарии так и не понял что нужно сделать, чтобы пользователи могли авторизироваться. Подскажите пожалуйста как это сделать? Есть просто задача разграничить доступ на фтп при резервном копировании данных на последний.

  7. Евгений говорит:

    Кстати, на ftp://localhost не заходит, наверное, по причине проброса портов.

  8. Юрий говорит:

    День добрый!
    Помогите пожалуйста.. Решил проверить схему сети с фтп сервером (отдельной машиной в локальной сети) в vmware.. Сделал все по вышенаписанному (с учетом комментариев), но постоянно появляющееся сообщение появляется все равно:

    если указывать адрес ftp://localhost/ пишет:
    «Отсутствует доступ к папке. Убедитесь что имя файла задано правильно, и у вас имеется разрешения на доступ к папке. Подробности: (пусто, ничего не пишет)»

    если указывать ftp://admin.com (имя домена) то пишет:
    «Отсутствует доступ к папке. Убедитесь что имя файла задано правильно, и у вас имеется разрешения на доступ к папке. Подробности: Сброшено подключение к этому серверу»

    Добавлял пользователей где только можно: и в ad, и в диспетчере на фтп сервере, и в свойствах самой папки.. Но результат все тот же(((

    Уже третий день бьюсь — идеи кончились, а решения как не было, так и нет..
    Может упустил какую мелочь, но вроде проверял все досконально раз 20…
    Помогите советом — уж очень сервер нужен…

    • Виталий Онянов говорит:

      Т. к. Вы работаете в виртуальной среде, могу Вам порекомендовать следующее:
      1. Установите Windows Server с нуля в виртуальной машине, не вводя сервер в домен.
      2. Настройте FTP-сервер по данной инструкции. Проверьте что все работает.
      3. Введите сервер в домен, проверьте работоспособность в данном случае.
      4. Если не работает, разбираетесь с настройками безопасностью в домене.

  9. Денис говорит:

    Добрый день.
    Локалхост работает. Домена нет привязанного. Но если пытаюсь зайти через Инет (браузер или тоталкоммандер) ftp://94.249.192.144 — не может подключиться!
    В чем причина может быть?

    • Виталий Онянов говорит:

      1. Проверьте настройки брандмауэра. Попробуйте вообще отключить брандмауэр или другие сетевые экраны, если они есть.
      2. Попробуйте зайти на ftp по внутреннему IP с компьютеров в локальной сети.
      3. Если с локальной сети заходит, проверьте, проброшен ли на порт на маршрутизаторе.

  10. Алексей говорит:

    Добрый день, спасибо FTP сервер работает), но есть не большая проблема с медиа файлами в веб браузере я их не могу скачать. Так как они там воспроизводятся фильмы музыка. Другие файлы скачивает, подскажите как исправить.

    • Виталий Онянов говорит:

      Добрый день.
      Я также сталкивался с подобной проблемой. В данном случае все зависит от текущих настроек браузера.
      Могу вам только порекомендовать использовать пункт контекстного меню «Сохранить как…».

  11. Денис говорит:

    Добрый денью. Сделал все как написано, теперь сайт работает в локалке, а по внешнему ип не заходит, говорит не удалось получить список каталогов… Как быть?

  12. Pavel говорит:

    Несколько откликов здесь было об этой проблеме, поэтому, имхо, ее надо включить в текст статьи
    Логин должен быть вида http://ftp.tavalik.ru|Онянов (Онянов — имяпользователя)
    Об этом написано в http://www.net24.co.nz/kb/article/AA-00201/25/Virtual-Private-Servers/Windows/Error-530-Valid-Hostname-is-expected-using-FTP-to-IIS7.html
    или о поиску в yahoo.com по словам 530 Valid Hostname is expected можно найти более подробные объяснения.
    Может и можно настроить, чтоб имя пользователя было без виртуальной добавки, но в статье об этом не сказано (может снять галку про «разрешить имена виртуальных узлов»?)

  13. Pavel говорит:

    Зачем-то при отправке сообщения ваш движок добавляет перед «ftp» в предыдущем моем сообщении «http://», которые я не писал, и еще подчеркивает-делает ссылкой
    Из-за этого логин искажается, делается непонятным и неверным, как у Артура в сообщении выше.

  14. Павел говорит:

    Сделал все по инструкции не могу авторизоваться для просмотра контента, дал доступ локальному администратору на каталог содержимого, в окне авторизации набираю логин и пароль администратора, окно мигает и опять предлагает авторизоваться, не пойму в чем дело

    • Виталий Онянов говорит:

      Трудно сказать. А по ftp://localhost заходит?

      • Павел говорит:

        Ну окно авторизации появляется но авторизоваться невозможно, временное решение сделал доступ для анонимных пользователей но в будущем нужно сделать контролируемый доступ. Сервер в домене на него приходит интернет с белым IP адресом, на сервере стоит прокси сервер traffic inspector, 21 порт слушется, доступ к ftp с внешки сделал Почему авторизация не проходит для меня загадка. Даже и не знаю чего еще добавить из информации чтобы решить вопрос. Всегда пользовался инструкциями на вашем сайте и все получалось, в этот раз что то у меня пошло не так.

  15. Павел говорит:

    Все проблему решил

  16. Алексей говорит:

    День добрый!
    по инструкции все сделал, в локалке работает нормально (после отключения брандмауэра)
    с включенным брандмауэром не работает, хотя там включены разрешения:
    В правилах для входящих: FTP Server Passive, FTP Server Secure, FTP-сервер.
    В правилах для исходящих: FTP Server, FTP Server Secure.
    Почему бранд может блокировать?

    И еще вопрос: работает в локалке, но извне не подключается
    Как я понимаю, используются не только порты 20 и 21, но и другие. Можно как-то в настройках найти, какие порты нужно пробросить?

    • Виталий Онянов говорит:

      Даже на знаю чем вам помочь. Обычно открытия 20 и 21 портов хватает.

      • Алексей говорит:

        открыты, проброс настроен
        Когда по локалке лезу на FTP, брандмауэр DrWeb говорит мне, что я лезу по портам 50884, 50914, 50916-50926
        много портов просит открыть, когда файлик закачивал.
        Внесу уточнение: сейчас попробовал извне, выдает окно с логином и паролем, ввожу тот же логин и пароль, что и с компа с локалки, и вылетает окно с ошибкой:
        В ходе открытия папки на FTP-сервере произошла ошибка.
        Убедитесь, что у вас есть разрешения открывать эту папку.

        Подробности:
        Сброшено подключение в этому серверу.

  17. Алексей говорит:

    почему может сбрасываться, как думаете?

  18. Евгений говорит:

    Доброго всем денька! Делал, как в описании…
    -первое, что заметил, так как у меня IIS был уже установлен, то просто добавить службу ролей FTP оказалось мало, — у меня не было установлено галки «консоль управления IIS»
    -второе , как и говорил Алексей 22.07.2015 в 15:22 , локально на ftp сайт пускает, с др компов не пускает, не глядя прописал разрешение в брандмауэре на 21 TCP порт, начал пускать с внешних компов, но как-то криво, в итоге просмотрел правила брандмауэра, продублировал (заново вписал вручную) правила , что система уже сделала сама, названия правил для входящих подключений: -FTP Server Passive (FTP Passive Traffic-In) (TCP 1024-65535), FTP Server Secure (FTP SSL Traffic-In) (TCP 990), FTP-сервер (входящий трафик) (TCP 21); для исходящих подкл : -FTP Server (FTP Traffic-Out) (TCP 20), FTP Server Secure (FTP SSL Traffic-Out) (TCP 989). В итоге все заработало.

    • Виталий Онянов говорит:

      Спасибо за комментарий. Хотя это все довольно странно, почему типовые правила не сработали?

      • Евгений говорит:

        специально не ковырялся, но предполагаю, что дело в привязке к исполнит. программам в типовых правилах.

    • 10.000@bk.ru говорит:

      Абсолютно идентичная проблема, чтобы из внешки заработало, пришлось удалять предопределенные правила и добавлять вручную на соответствующие порты без привязки программ.
      WinServer 2008 R2

  19. Игорь говорит:

    День добрый! Возможно ли сделать несколько ftp-сайтов на одном ip-адресе?

    • Виталий Онянов говорит:

      Да, конечно возможно. Я вижу 3 пути:
      1. Если у вас приобретен домен, то можно создать несколько поддоменов (или использовать несколько доменов) и настроить привязку каждого домена к конкретному FTP-сайту в диспетчере служб IIS.
      2. Вы можете создать виртуальные каталоги на одном сайте. Далее, обращение к ним будет происходить по пути ftp:\\< IP адрес >\< Имя каталога >\
      3. Можно использовать разные порты для каждого из FTP-сайтов.

  20. Анатолий говорит:

    День добрый!
    Сделал всё по инструкции. На 2008R2 при подключении к ftp, соединение происходит только при указании в логине имени компьютера. Т.е. так: Comp\ftp, где «Comp» — имя компа, а «ftp» — собственно папка обмена. И никак не получается сократить логин до просто «ftp». Настройки перерыл, но… Подскажите пожалуйста, ЧЯДНТ?
    Спасибо!

    • Виталий Онянов говорит:

      Хм… Если вы подключаетесь по \\ИмяКомпьютера\FTP, то скорее всего обращаетесь к расшаренной папке с именем FTP на этом компьютере. Другого предположить не могу. А находясь на самом сервере, удается ли вам попасть на FTP-сервер по ссылке: ftp://localhost ?

  21. Анатолий говорит:

    Ок, сумбурно вопрос задал. Попробую более внятно.
    Имеется расшаренная папка FTP. Сделаны настройки IIS (анонимных нет, только авторизованные пользователи). При заходе через браузер по IP (ftp://192.168.X.XXX) выводится окно ввода логина-пароля. Вход осуществляется при вводе логина вида: Comp\ftp. Где Comp — имя компьютера. Если просто в виде логина написать ftp (ну, про пароль не пишу, естественно вводятся) — то появляется окно с 530 ошибкой (точный текст не помню).
    Реализовать данную хотелку на стороннем FTP-сервере получилось совсем без проблем. Но, в силу определённых причин надо вернуться на IIS.

  22. Анатолий говорит:

    Виталий, спасибо за полезные и доступные материалы!
    По моему вопросу — интерес уже сугубо ознакомительный («можно или нет»), в практическом смысле работа налажена. Поэтому можно не заморачиваться, если решение не на поверхности.
    Отвечая по сути Вашего вопроса: сервер в рабочей группе.

  23. Олег говорит:

    настроил все как у вас. есть подключение не видно каталогов и не копирует файлы.
    Вот лог.
    Connect to: (06.11.2015 1:00:33)
    hostname=192.168.1.100
    username=user
    startdir=
    192.168.1.100=192.168.1.100
    220 Microsoft FTP Service
    USER USER
    331 Password required for Alligator.
    PASS ***********
    230 User logged in.
    SYST
    215 Windows_NT
    FEAT
    211-Extended features supported:
    LANG EN*
    UTF8
    AUTH TLS;TLS-C;SSL;TLS-P;
    PBSZ
    PROT C;P;
    CCC
    HOST
    SIZE
    MDTM
    REST STREAM
    211 END
    HELP SITE
    214 Syntax: SITE - (site-specific commands)
    OPTS UTF8 ON
    200 OPTS UTF8 command successful - UTF8 encoding now ON.
    Connect ok!
    PWD
    257 "/" is current directory.
    Чтение каталога...
    TYPE A
    200 Type set to A.
    PASV
    227 Entering Passive Mode ().
    LIST
    150 Opening ASCII mode data connection.
    Загрузка
    Ожидание ответа сервера...
    425-Cannot open data connection.
    Win32 error: The network connection was aborted by the local system.
    Error details: Client IP on the control channel didn't match the client IP on the data channel.
    425 End
    TYPE I
    200 Type set to I.
    PASV
    227 Entering Passive Mode ().
    STOR mp4.php
    150 Opening BINARY mode data connection.
    Закачка: 5 304 байт
    425 Cannot open data connection.
    SIZE mp4.php
    550-The system cannot find the file specified.
    Win32 error: The system cannot find the file specified.
    Error details: File system returned an error.
    550 End
    Copied (06.11.2015 1:00:47): c:\ContaCam\94.232.15.6_39003\mp4.php -> ftp://*.*.*.*:*/mp4.php 5 304 байт, 10 Кбайт/с
    Чтение каталога...
    TYPE A
    200 Type set to A.
    PASV
    227 Entering Passive Mode ().
    LIST
    150 Opening ASCII mode data connection.
    Загрузка
    Ожидание ответа сервера...
    425-Cannot open data connection.
    Win32 error: The network connection was aborted by the local system.
    Error details: Client IP on the control channel didn't match the client IP on the data channel.
    425 End
    MKD 1231
    257 "1231" directory created.
    Чтение каталога...
    PASV
    227 Entering Passive Mode ().
    LIST
    150 Opening ASCII mode data connection.
    Загрузка
    Ожидание ответа сервера...
    425-Cannot open data connection.
    Win32 error: The network connection was aborted by the local system.
    Error details: Client IP on the control channel didn't match the client IP on the data channel.
    425 End

    • Виталий Онянов говорит:

      Здравствуйте.
      Скорее всего что-то в настройках прав доступа к каталогам на самом ftp-сервере.

      • Олег говорит:

        Проблема была в бранмауэре. Решил вот так:
        Делать это надо в консоли. Win + R -> cmd -> Enter. Далее пишем следующие команды:

        1) Открываем порт 21 в Firewall-e следующей командой:
        netsh advfirewall firewall add rule name=»FTP (no SSL)» action=allow protocol=TCP dir=in localport=21

        2) Активируем фильтр приложений в Firewall-е для FTP, который будет динамически открывать порты для соединений:
        netsh advfirewall set global StatefulFtp enable

        Последняя команда работает после перезагрузки. всем удачи. И Вам спасибо за статью.

  24. Умный человек говорит:

    Админ, добавь что нужно писать не ftp://localhost, а ftp:\\localhost
    Основная ошибка

  25. Dilshod говорит:

    установил ftp все работает но в логах неправильная время показывает
    #Date: 2016-05-06 01:26:20
    #Fields: date time c-ip cs-username cs-host s-ip s-port cs-uri-stem sc-status sc-win32-status sc-substatus sc-bytes cs-bytes x-session x-fullpath
    2016-05-06 01:26:20 189.141.33.18 — — 189.141.33.4 21 — — 0 0 0 0 648d8ced-9254-44d7-9dc3-d9c8cb314a19 —

  26. Михаил говорит:

    Здравствуйте, сделал все по вашей инструкции, не могу зайти по FTP. пишет введите логин и пароль, ввожу, опять просит ввести логин и пароль.
    Создал группу «Пользователи FTP», добавил в нее пользователя «ftp_user», предоставил полный доступ к папке во вкладке «безопасность». и все равно никак.
    порт 21 пробросил в проутере. даже на самом сервере не получается зайти на ftp в браузере. Помогите пожалуйста, что делать?

    http://s020.radikal.ru/i707/1611/5a/d9d70aaeaff1.jpg

    http://s017.radikal.ru/i406/1611/b5/7bb605ee0609.jpg

    • Виталий Онянов говорит:

      Здравствуйте. А под учетной записью администратора получается зайти?

  27. Александр говорит:

    Здравствуйте.
    Подскажите а как настроить доступ к ftp сайту в пассивном режиме из вне через маршрутизатор? В активном режиме через тотал коммандер подключается, а в пассивном отказывается. На маршрутизаторе сделал проброс портов 21 на ip ftp сервера, а так же диапазон портов 6021-6023. Так же в IIS в Поддержке брандмауэра FTP указал диапазон портов 6021-6023 и прописал внешний ip адрес

  28. Александр говорит:

    Здравствуйте, добавил роль, вместо папки «сайты» у меня «узлы», что я сделал не так?
    И еще 2 ошибки, причину которых я не могу понять

Добавить комментарий для Александр Отменить ответ

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