Заметки Сис.Админа

статьи

Как сделать FTP сервер [FileZilla Server]

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

FTP

О том, что такое FTP, если кто-то вдруг не в курсе, Вы можете узнать в этой моей статье "Что такое FTP и как им пользоваться [FileZilla]" или сразу приступать к чтению (в рамках данной статьи есть пару слов о самом протоколе). Поехали.

Подготовка к установке своего FTP-сервера

Как и обещал, для начала кратко о том, что такое FTP для тех, кто не знает:

FTP (от англ. File Transport Protocol) - это протокол передачи данных, который позволяет получить доступ к файлам на удаленном сервере. В данной технологии различают две стороны, серверную (FTP сервер) и клиентскую (FTP клиент). В случае, если вы хотите поделиться своей коллекцией музыки или художественными изысканиями, Вам понадобится FTP сервер, т.е место куда все будут подключаться и скачивать всё, что Вы разрешили. Как раз о том, как это настроить, и пойдет речь в данной статье.

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

Для установки Вам необходимо скачать один из множественных дистрибутивов, которые помогут развернуть FTP-сервер. Лично я рекомендую Вам использовать FileZilla Server, ибо он, как и некогда упомянутый мной клиент (см.статью по ссылке выше), предельно прост в установки и настройке, и к тому же бесплатен.

Скачать его можно, например, по этой ссылке.

Установка FTP FileZilla Server

После скачивания дистрибутива, собственно, запустите его установку (имеется ввиду, что надо кликнуть по скачанному exe-файлу) и следуйте рекомендациям ниже.

На первом окне нужно согласиться с лицензионным соглашением, нажмите “I Аgree”.

установка и настройка ftp-сервера filezilla

Далее надо выбрать тип установки. Всего их пять:

установка и настройка ftp-сервера filezilla

  • Стандартный (Standart) - вариант для установки с нуля для полного функционирования сервера.
  • Полный (Full) - почти тоже самое, но так же в папку установки будут скопированы исходный код программы, на случай, если вы что-то захотите в ней изменить.
  • Только FTP сервис (Service only) - устанавливается непосредственно FTP сервис, без доступа к нему через интерфейс. Полезно, если вы планируете управлять своим файлохранилищем с другого компьютера.
  • Интерфейс управления (Interface only) - в отличие от предыдущего пункта, ставится только графическая оболочка управления сервером, но не он сам. Используйте, если вы хотите удаленно получить доступ к своему FTP серверу.
  • Выборочная установка (Custom) - Вы вольны выбирать, что хотите поставить на свой компьютер.

Для первой установки рекомендую выбрать стандартный вариант (Standart). Нажмите  "Next".

На следующем окне необходимо выбрать папку установки, например, “C:\Program Files\FileZilla Server”. После выбора переходите к следующему окну (Next).

Теперь установщик попросит нас выбрать способ установки и запуска сервера.

установка и настройка ftp-сервера filezilla

Есть три варианта:

  • Как службу и запускать при входе в систему
  • Как службу и запускать вручную
  • Простая установка, запускать вручную

Рекомендуется выбрать первый или второй вариант. Разница лишь в том, что во втором случае для работы сервера, Вам необходимо будет переходить в "Панель управления - Администрирование - Управление службами", находить там службу в списке и запускать её самостоятельно, надавив на кнопочку запуск.

Кроме того, на этом этапе следует указать порт, по которому будет подключаться интерфейс управления сервером, т.е так сказать, Ваша консоль администрирования, которая позволит Вам задавать настройки, смотреть кто и куда подключился и тп. Для повышения безопасности, смените его со стандартного (14147) на какой-нибудь еще.

Так же по-умолчанию, отмечена опция запустить сервер после установки (Start Server after setup completes). Можете оставить эту галочку, а можете убрать. Дело Ваше. Сделав оное, переходим к последнему окну, используя кнопочку Next.

Здесь выбираем варианты запуска интерфейса.

установка и настройка ftp-сервера filezilla

Их опять же три:

  • При вход в систему, для всех пользователей
  • При входе в систему, для текущего пользователя
  • Вручную

Первый вариант сгодится, если вы единственный пользователь компьютера, куда устанавливается сервер, и Вам, в принципе, всё равно под всеми аккаунтами операционной системы интерфейс будет запускаться автоматически или же только под одним.
Второй подходит для тех, кто работает на компьютере не один (т.е на компьютере несколько аккаунтов, используемых разными людьми) и хочет, чтобы никто другой не управлял его FTP сервером, т.е запуск интерфейса осуществлялся только из под аккаунта, в котором сейчас и производится установка.

И третий вариант задает параметр запуска только вручную, т.е оный не будет стартовать вместе с системой вовсе.
Напомню, что интерфейс представляет собой нечто вроде административной программы, которая позволяет следить за состоянием сервера, запускать-останавливать и настраивать оный.

Галочка (Start Interface after setup completes) в данном окне, опять же, задает запуск интерфейса сразу в конце установки.

Ну и, разобравшись со всем оным, наконец-то можно начать установку сервера (используя, само собой, кнопочку "Install") :)

Настройка FTP FileZilla Server

Итак, после установки, при первом запуске интерфейса, появится маленькое окошко, где требуется указать адрес и порт для подключения, а так же пароль администратора (при первой установки его нет). Можно отметить опцию "Всё время подключаться к этому серверу" (Always connect to this server). Нажимаем "Ok".

запуск и настройка ftp сервера filezilla

Хочется подчеркнуть, что это есть подключение к серверу локально, а именно, подключение к интерфейсу администрирования, т.е выдавать адрес 127.0.0.1 и порт 14147 для друга, который захочет подключиться, бесполезно. О внешних адресах, паролях и явках, необходимых для подключения к серверу, будет написано по ходу статьи.

Теперь перейдем к настройкам. Это делается путем перехода по адресу "Edit -> Settings" или кликом на кнопку на панели интерфейса:

запуск и настройка ftp сервера filezilla

Перед вами откроется окно настроек. На первой вкладке (General Settings) можно задать следующие параметры:

установка и настройка ftp-сервера filezilla, вкладка General Settings

Сверху вниз по скриншоту:

  • Порт, по которому клиенты будут подключаться к серверу
  • Максимальное количество клиентов
  • Количество потоков
  • Различные таймауты (три штуки)

В рамках данной статьи нас интересуют первые два пункта. Порт можно оставить как есть, а можно и сменить для повышения безопасности, но тогда придется сообщать об оном всем желающим подключиться.

Вторая настройка отвечает за максимальное количество подключений. По-умолчанию значение параметра стоит “0”, это означит, что их количество не ограничено. Менять этот параметр стоит в том случае, например, если Ваш интернет канал не справляется с нагрузкой, т.к к Вам подключается уж очень много людей.

Остальное можно оставить без изменений, т.к для домашнего использования настройки оптимальны.

Поехали дальше.

В следующем подпункте можно настроить приветственное сообщение, которое будут видеть пользователи при подключении. Например: “Сервер Заметок Сис. Админа! :)”. Здесь же можно воспользоваться, так называемыми, текстовыми параметрами. Например, можно задать вывод для клиентов версии ftp-сервера. Для этого введите, помимо приветствия, сочетание символов %v . В месте где Вы их введете, будет автоматически выводится вышеупомянутая версия.

запуск и настройка ftp сервера filezilla, вкладка Welcome message

Далее переходим на подпункт “IP bindings”. Здесь настраиваются IP-адреса, по которым будет доступен наш FTP сервер. Если Вам хочется, чтобы сервер был доступен только из локальной сети, то вместо звёздочки, следует указать ваш локальный IP-адрес, как например, 192.168.1.5. В противном случае, здесь трогать ничего не стоит.

установка и настройка ftp-сервера filezilla, вкладка IP bindings

В подпункте “IP Filter” можно задать IP адреса (или их диапазон), которым будет запрещено подключаться к Вашему серверу, а так же задать исключения из заданного диапазона (второе поле). Т.е, например, если Вы хотите кого-то забанить и запретить ему попадать на Ваш сервер, то укажите его в первом окошке. Так же, если Вы хотите предоставить доступ только кому-то определенному и запретить всем остальным, то поставьте звёздочку в первом поле и задайте список IP-адресов во втором.

установка и настройка ftp-сервера filezilla, вкладка IP Filter

Вкладка “Passive mode settings” регламентирует параметры для пассивного подключения к серверу и отклик оного. Менять здесь что-либо стоит только в том случае, если Вы подключены к интернету не напрямую, а через роутер, на котором обитает фаерволл и NAT. В этом случае может потребоваться указать в поле "Use the following IP" свой внешний IP-адрес (можно узнать у провайдера или в интерфейсе роутера), а так же задать диапазон портов (Use custom port range), через которые клиент сможет подключаться к Вашему серверу в пассивном режиме. Трогать эти настройки стоит, пожалуй, только в случае проблем с подключением пользователей. В случае оных и невозможности разобраться самостоятельно, я дам Вам консультацию по настройкам исключительно для Вас (пишите комментарии).

 

установка и настройка ftp-сервера filezilla, вкладка Passive mode settings

Идем далее. В пункте настроек “Security Settings” задаются ограничения на входящие и исходящие соединения типа “сервер-сервер”. Здесь ничего менять не стоит.

Раздел настроек “Miscellaneous” содержат малозначительные для домашнего фтп-сервера настройки. Например, такие как “Не показывать пароль в лог-файлах(Don't show passwords in message log), “Запускать интерфейс свернутым(Start minimized), а так же размеры буферов передачи. Трогать здесь, в общем-то, ничего не нужно.

установка и настройка ftp-сервера filezilla, вкладка Miscellaneous

На вкладке “Admin Interface Settings” можно задать IP-адрес и порт, по которым будет доступен интерфейс управления сервером (тот самый, что мы вначале использовали как 127.0.0.1 и 14147, т.е, если есть желание, то Вы можете их сменить). Кроме того, можно указать IP-адреса, которым разрешено подключаться к нему.

запуск и настройка ftp сервера filezilla, вкладка Admin Interface Settings

Раздел настроек “Logging” позволяет включать запись лог-файлов (Enable logging to file), настроить их максимальный размер (Limit log file size to), писать все в один файл (Log all to "FileZilla Server.log") или для каждого дня создавать отдельный (в этом случае можно ограничить их максимальный срок хранения).

установка и настройка ftp-сервера filezilla, вкладка Logging

Вкладка “GSS Settings” отвечает за использования протокола Kerberos GSS. Для обычного использования эта опция не требует настройки.

Далее у нас “Speed Limits”. Оная может помочь ограничить скорость входящих и исходящих соединений. Есть два пути ограничения: задать постоянное ограничение на все время или создать правила на конкретный день и/или час. Ограничения задаются в килобайтах.

запуск и настройка ftp сервера filezilla, вкладка Speed Limits

Вкладка “Filetransfer compression” позволяет включить режим сжатия файлов при передаче. При этом можно настроить минимальный и максимальный уровни сжатия, а так же указать IP-адреса, для которых не будет использоваться компрессия. Трогать что-либо совсем не обязательно.

установка и настройка ftp-сервера filezilla, вкладка Filetransfer compression

Чтобы настроить защищенное соединение между клиентом и сервером, надо перейти к пункту настроек “SSL/TLS Settings”. Здесь нужно включить поддержку этих протоколов и указать пути к закрытому ключу, файлу сертификата и пароль. Для среднестатистического пользователя в этом нет необходимости, поэтому в этой статье рассматриваться не будет.

И наконец, можно включить автоматический бан пользователей после n-ых попыток неудачных подключений, и время бана. Для этого стоит перейти на вкладку “Autobans” и, если Вам оное необходимо, то выставить галочку "Enable automatic bans", указать в графе "Ban IP adress after" количество попыток после которых будет осуществляться блокировка, а так же время блокировки в поле "Ban for". Оное бывает нужно, чтобы нежелательные личности не спамили Ваш сервер своими попытками подключений.

Первоначальная настройка аккаунтов пользователей (users) и шары (share)

Теперь настроим доступы пользователей, а именно их аккаунты, пароли, папки и тп.
В качестве примера создадим самого, так сказать, распространенного пользователя и дадим ему доступ.

Итак, для добавления нового аккаунта следуем, в главном окне интерфейса, по пути “Edit -> Users”. Перед нами предстанет окно работы с пользователями.

запуск и настройка ftp сервера filezilla, создание доступа

Для добавления нового необходимо нажать “Add”. Далее необходимо будет задать его имя, например, anonymous, и принадлежность к группе (в нашем случае указывать не будем). Задаем, жмем “Ok”.

filezilla ftp-сервер, задаем доступы пользователям
filezilla ftp-сервер, задаем пароли пользователям

Теперь для нашего нового пользователя можно задать пароль и ограничение по количеству соединений. При необходимости сделайте оное, выставив галочку "Password" и указав его (пароль) в окошке напротив. Настоятельно рекомендуется использовать пароли для пользователей в целях безопасности.

Далее переходим на вкладку “Share Folders”. Здесь, собственно, мы задаем к каким именно папкам пользователь будет иметь доступ. Делается это просто: жмем “Add” и выбираем нужную папку на диске. Слева можно задать права доступа к ней: только чтение - “Read”, запись - “Write”, удаление - “Delete”  и возможность изменения существующих файлов в директории - “Append”. Ниже можно разрешить создание, удаление, получение списка файлов и распространение разрешений на подкаталоги.

запуск и настройка ftp сервера filezilla, шарим папки

Задаём необходимые Вам параметры и папки и.. Жмакаем ОК

На этом первоначальная настройка закончена. Для домашнего пользования большего и не надо ;)

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

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

Узнать внешний IP-адрес можно, обратившись к провайдеру, посмотрев в настройках роутера или же, попросту, воспользовавшись одним из многочисленных сервисов, как например, www.2ip.ru (как Вы наверняка догадались, Вам нужно то, что написано под текстом “Ваш IP адрес:” ;) ).

Послесловие

Вот такие вот дела.

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

Как и всегда, если есть какие-то вопросы, дополнения и тп, то пишите в комментариях, - буду рад помочь.

PS: За существование оной статьи отдельное спасибо другу проекта и члену нашей команды под ником “Kellis“.

Оценить —

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(2 голоса, в среднем: 5 из 5)

Подписаться —

RSS Email Facebook Twitter G+ YouTube
Темы:  , , , ,
  1. Буба

    У меня еще такой вопрос, на локальной машине, где настроил FTP сервер, через клиент подключается, все ок. Подключаюсь через (мобильник, через другой ПК) подключение проходит, но не отображаются сами папки, которые сделал на локальном ПК, причем только что пробовал создать папку (подключился с мобильника) папка создалась (но не вижу ее с мобильника) на локальной машине вижу эту папку. (права и пр. вещи я дал)

  2. Евгений

    При установке по инструкции всё делаю, а толку ноль, сразу после установки, попытка запуска программы по указанному по умолчанию адресу,выдаёт error to connected server. И никакие настройки в программе не активны. Спрашивается и как её тогда запускать?

    • Sonikelf

      Фаерволл или антивирус стоят?

      • Евгений

        В общем запустить запустил, но теперь осталось то, что вот выше Буба писал -
        Warning: FTP over TLS is not enabled, users cannot securely log in
        До того,прописывал свой внешний ip в настройках, потому что вообще не включалось. Сейчас осталась только эта хрень

      • Евгений

        Антивирус стандартный от Microsoft - Security Essentials

  3. Павел

    You appear to be behind a NAT router. Please configure the passive mode settings and forward a range of ports in your router.
    Warning: FTP over TLS is not enabled, users cannot securely log in.
    Всё прекрасно работает и клиент,и через мозилу,только на ПК где установлен сервер....почему???????

    • Павел

      Нашёл в чём проблема.Защитник виндовс хулиганит....

    • Sonikelf

      Машина находится за NAT'ом или фаерволлом/антивирусом с таковым.

  4. Павел

    Пардон не то сказал брандмауэр виндовс.

  5. Евгений

    А мне в итоге так и не ответили. Брэндмауэр вообще отключён, но
    Warning: FTP over TLS is not enabled, users cannot securely log in.
    всё так же присутствует

    • Sonikelf

      Посмотрите перевод, включите соответствующую настройку

  6. Евгений

    То есть автор статьи, руководства по настройке, не знает в чём суть проблемы, которая выскочила, если смотреть по комментариям минимум у трёх человек пользовавщихся этим руководством. Отлично просто.

    • Sonikelf

      Я считаю, что Вы ошиблись ресурсом

  7. Евгений

    Ок. Нарыл что там надо какой-то сертификат сделать. Это тоже самому искать как его делать и откуда что брать?

    • Sonikelf

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

  8. Евгений

    Ладно, проехали. Я думал статья для тех, кто реально не сталкивался, и хочет научиться) пошёл искать в других местах

    • Sonikelf

      Удачных поисков

      • SUPERSERG

        Sonikelf ???? Я не могу понять что трудно расжевать людям что такое ошибка "Warning: FTP over TLS is not enabled, users cannot securely log in." где что отключить или где что наоборот отключить что бы она не выскакивала???, может ты просто сам не знаешь как это решить???, я конечно попытаюсь найти почему она у меня выходит на крайняк напишу своим друзьям программистам, думаю её можно решить общими усилиями. Как решу напишу как решил может другим будет полезно.

  9. Сергей Ожерельев

    Спасибо. Для тестирования и разработки с использованием денвера самое то.

  10. SUPERSERG

    Решил проблему: снес FileZilla_Server-0_9_54 и установил более старую версию FileZilla_Server-0_9_49 и всё заработало как надо, а по TLS так и не разобрался какой то сертификат безопасности требует и где его взять х.з.

    • AST_Work

      Друже ты прав.
      Именно так и я сделал. Скачал версию 09.49
      Все заработало.
      Сам проблему с "FTP over TLS is not enabled, users cannot securely log in " не решил.
      Это конечно "костыль", но все таки.

  11. Han

    Здравствуйте!! Подскажите пожалуйста дальше что делать , сделал как здесь на скринах , Моя Цель сделать так чтобы из остальных рабочих компов загружались автоматом скриншоты на админский компьютер . Как это настроить?

    Заранее огромное спасибо!
    Жду Ответа!

  12. Анна

    FTP over TLS is not enabled, users cannot securely log in - проблема решается легко. Edit- settins - ftp over tls settings. Галочка возле enable, ниже выбираем generate sertificate. Вводим Rf, Russian Federation, город свой, айпишник сервера и папку для создания сертификата. Жмем ок и все - проблема решена. Есть активный сертификат.

  13. Ярослав

    Интересно... У меня через интернет-сервис показывает один IP, а cmd показывает другой. Может у провайдера так настроено, никто не подскажет?

    • Sonikelf

      Смотря что вы там смотрите через cmd, консоль может показывать локальный адрес

  14. Александр

    Привет всем и автору особенно.
    Спасибо за статью. Установил с ходу.
    но есть проблемки.
    1) FireFox. Ввожу адрес сервака+порт. Ввожу логин-пасс (любой. валидный или нет) . Выползает такое:
    503 This server does not allow plain FTP. You have to use FTP over TLS.
    галки на FTP over TLS стоят, обе. + сертификат создан.
    В чем косяк?

    2) MobaXTerm (= WinSCP). После логина анонимуса показывает дерево ВСЕХ каталогов, хотя разрешен тока 1 + бесконечно спрашивает пассворд.

  15. ash

    не могу никак подключиться к своему фтп с других ПК. комп подключен к инетчу через роутер

    • Sonikelf

      Скорее всего нужно пробросить порт FTP. Через поиск справа вверху можно найти информацию по теме в статьях или у нас на форуме

  16. Александр

    не могу запустить FTP
    При нажатии на иконку выдает след:

    FileZilla Server 0.9.57 beta
    by Tim Kosse ([email protected])
    Connecting to server localhost:14147...
    Connected, waiting for authentication
    Logged on

    Подскажите, что еще нужно для установки?
    У меня соединение через роутер
    свой внешний ip в настройках прописал
    активный сертификат создал
    Че делать то?

    • Sonikelf

      Возможно надо пробросить порт, т.к роутер.
      В этой статье про торренты был пример проброса на стареньком Асусе. Только в случае с FTP кидаются 21-22ой порты

  17. Александр

    Спасибо

    "задать диапазон портов (Use custom port range), через которые клиент сможет подключаться к Вашему серверу в пассивном режиме"

    Какой диапазон мне задать на моем компьютере, с 1 по 65535???

    • Sonikelf

      Можете оставить как есть

  18. Александр

    разобрался...спасибо

    • Sonikelf

      Ага, пожалуйста

  19. crazypsih

    Подскажите с чем может быть связана ошибка

    Ответ: 425 Can't open data connection for transfer of "/"
    Ошибка: Не удалось получить список каталогов

    • Sonikelf

      Традиционно проверяйте запреты на брандмауере, права на папки.

  20. Алексей

    Спасибо автору статьи и всем кто давал пояснения. Возникла проблема следующего характера. При подключении с другого компьютера(через интернет) выходит сообщение, что нет доступа к списку каталогов. С чем может быть связано?