По многочисленным просьбам читателей, в данном HOWTO мы подробно рассмотрим установку и настройку FTP (файлового) сервера под Windows на примере самого популярного — FileZilla Server.
Выбор FileZilla Server обусловлен тем, что это один из самых быстрых и надёжных (при правильной настройке) FTP-серверов с графическим модулем настройки. Сервер регулярно обновляется и имеет хорошую документацию на английском языке.
Подробнее установку и настройку рассмотрим под катом. Внимание, трафик (много скриншотов)!
Установка сервера
Скачайте программу установки сервера с её официального сайта и запустите на выполнение. Первые шаги мастера стандартны для большинства Windows-приложений, поэтому подробно рассмотрим только два последних.
На странице Startup settings Вам будет предложено выбрать способ запуска FTP сервера:
- Install as service, started with Windows (default) — запускать сервер как службу Windows при загрузке. Этот вариант предлагается по умолчанию. FTP-сервер будет запущен автоматически даже если ни один пользователь не выполнил вход в систему. Рекомендуется выбирать именно этот вариант;
- Install as service, started manually— сервер будет установлен как служба, но не будет запускаться автоматически. Для запуска Вам потребуется ввести в консоли Windows с правами администратора следующую команду:
net start "FileZilla Server"
- Do not install as service, start server automatically — сервер не будет установлен как служба, но будет запускаться от имени текущего пользователя Windows. Данный вариант категорически не рекомендуется, т.к. в случае взлома злоумышленник получит те же права и может навредить системе.
Здесь же предлагается выбрать порт, который будет слушать административный интерфейс сервера. По умолчанию указан 14147.
На странице Startup settings предлагается выбрать способ запуска административного интерфейса:
- Start if user logs on, apply ato all users (default) — запускать административный интерфейс при входе любого пользователя в систему в виде значка в системном трее. Данный пункт выбран по умолчанию;
- Start if user logs on, apply to current user — запускать административный интерфейс при входе в систему текущего пользователя;
- Start manually — запускать вручную. Рекомендуем выбрать именно этот пункт.
Флажок в чекбоксе Start Interface after setup completes автоматически запустит административный интерфейс сервера по окончании установки. Не убирайте отсюда флажок.
На этом установка сервера завершена. Приступим к его настройке.
Настройка FTP сервера
Итак, запустите сервер и административный интерфейс если они ещё не запущены.
Запустить сервер можно так: Пуск — (Все) Программы — FileZilla Server — Start FileZilla Server, либо с помощью команды:
net start "FileZilla Server"
Запустить административный интерфейс можно так: Пуск — (Все) Программы — FileZilla Server — FileZilla Server Interface.
После запуска административного интерфейса Вы увидите окно с предложением ввести IP сервера (для локального оставьте 127.0.0.1), порт админки (если Вы изменили его во время установки, укажите здесь правильный вариант, иначе оставьте значение по умолчанию) и пароль.
Пароль по умолчанию пуст (его можно задать в настройках сервера на странице Admin Interface settings), поэтому сразу нажимайте OK для перехода в главное окно (нажмите для увеличения):
Большую часть данного окна занимает журнал работы FTP-сервера, в котором будут отображаться подробные записи о подключающихся пользователях и инициированных ими передачах. В нижней части окна Вы увидите логины всех подключённых пользователей, их IP-адреса и прогресс скачивания/загрузки файлов. При нажатии правой кнопкой по логину, Вы сможете отключить пользователя от сервера (Kick user), либо заблокировать ему доступ по IP (Ban user).
Откройте настройки сервера, выбрав в меню Edit пункт Settings.
General settings
На этой странице Вы можете заменить основной порт FTP-сервера с 21 на любой другой если Ваш провайдер блокирует на него входящие подключения. Здесь же можно задать таймауты в секундах, по истечении которых пользователь будет автоматически отключён от сервера. Для отключения таймаутов задайте значение 0. Если Вы хотите ограничить максимальное число подключённых пользователей, это можно сделать в строке Max number of users (по умолчанию установлено 0, т.е. ограничения отсутствуют).
General settings -> Welcome message
Здесь Вы можете заменить стандартное приветствие, отправляемое клиентам при подключении к Вашему FTP-серверу. Допускается ввести до 1024 символов, каждая строка должна быть не длиннее 75 символов.
Установите флажок в чекбокс Hide welcome message in log, чтобы уменьшить размер лог-файлов, отключив запись в них данного сообщения.
General settings -> IP bindings
На этой странице Вы можете указать IP-адреса сетевых интерфейсов, которые должен слушать FTP-сервер. Рекомендуем оставить *, т.е. прослушивание всех возможных интерфейсов.
General settings -> IP Filter
На этой странице Вы можете управлять списком забаненных IP-адресов, т.е. адресов, доступ с которых к серверу будет закрыт (верхнее поле), а также адресов, которые нельзя банить через административный интерфейс (нижнее поле).
Каждый адрес вводится с новой строки. На нашем примере три указанных IP-адреса не смогут подключиться к серверу, а 192.168.98.187 будет невозможно заблокировать.
Passive mode settings
Если у Вас есть роутер с NAT, то это одна из самых важных страниц для Вас. Установите флажок в чекбокс Use custom port range и укажите диапазон портов (допускаются числа от 1024 до 65535), которые будут использоваться в пассивном режиме FTP для подключения клиентов к Вашему серверу. Минимальный диапазон — 100 портов, но рекомендуется указывать не меньше 400. Этот диапазон портов Вы должны пробросить в настройках своего роутера (маршрутизатора). Рекомендуется указывать порты в диапазоне от 30000.
Здесь же Вы должны указать свой внешний IP-адрес. Допускается указание имени хоста, с помощью которого сервер самостоятельно определит Ваш внешний IP-адрес. На нашем примере используется сервис DynDNS.org. Если у Вас статический внешний IP, просто укажите его в поле Use the following IP. Если IP динамический — используйте сервис DynDNS.org или подобный и в поле Use the following IP впишите полученное имя хоста (как на нашем примере).
Установите флажок в чекбокс (если он не стоял) Don’t use external IP for local connections для запрещения использования внешних IP при локальных соединениях. Это решит проблемы с NAT Loopback на большинстве роутеров.
Security settings
На этой странице Вы можете разрешить использование протокола FXP, позволяющего передавать файлы между двумя FTP-серверами напрямую. По умолчанию это запрещено (установлены флажки). Если Вам нужна поддержка FXP, снимите флажки из всех чекбоксов на этой странице.
Miscellaneous
Пункт Don’t show passwords in message log позволяет скрыть пароли пользователей из журналов сервера.
Start minimized включит запуск административного интерфейса в свёрнутом в трей режиме.
Остальные настройки данной страницы изменять не рекомендуется.
Admin Interface settings
Здесь Вы можете сменить порт, который слушает административный интерфейс, а также пароль администратора.
Установите флажок в чекбокс Change admin password и задайте новый пароль администратора. Допускаются латинские буквы и цифры.
Logging
На этой странице Вы можете включить ведение логов (журналов) сервера в файл, установив флажок в чекбокс Enable logging to file. Флажок в чекбокс Limit log file size to позволит указать максимально допустимый размер файла. Если файл превысит указанное число, он будет очищен.
Пункт Log all to FileZilla Server.log позволяет писать все журналы сервера в один файл, а Use a different logfile each day создаёт каждый день новый файл журнала, поэтому рекомендуем именно этот пункт. Чекбокс Delete old logfiles after включает автоматическую очистку от старых логов.
Все логи будут храниться в подкаталоге Logs каталога установки FileZilla Server.
Speed limits
Здесь Вы можете задать глобальные лимиты скорости на загрузку и выгрузку. Эти лимиты будут применены сервером для всех пользователей.
Чтобы задать лимит скорости, поставьте точку в пункт Constant speed limit of и укажите значение в килобайтах в секунду.
Кроме этой страницы Вы можете задавать лимиты для каждого пользователя в отдельности в модуле управления пользователями.
Filetransfer compression
Некоторые FTP-клиенты поддерживают передачу данных со сжатием. Сжатие можно включить, установив флажок в чекбокс Enable MODE Z support. Здесь же указывается минимальный и максимальный коэффициенты сжатия. Обязательно установите флажок в чекбокс Exclude private IP address ranges, что отключит сжатие при передаче файлов внутри локальной сети, либо при локальном подключении к серверу.
Внимание! Включение сжатия может негативно сказаться на производительности FTP сервера.
Autoban
На этой странице можно включить автоматическую блокировку по IP для пользователей, которые неправильно ввели пароль определённое количество раз. Для включения это функции установите флажок в чекбокс Enable automatic bans, в строке Ban IP address after укажите предельно допустимое количество неправильных попыток ввода пароля (минимум — 10), а в строке Ban for — время в часах, на которое будет забанен нарушитель.
Управление пользователями
FileZilla Server позволяет создать неограниченное количество пользователей. Для каждого пользователя есть возможность задать свою рабочую папку, параметры доступа, лимиты скорости и т.д.
Для управления пользователями в меню Edit административного интерфейса выберите пункт Users.
При первом запуске у Вас в разделе Users будет пусто, поэтому мы должны создать пользователя. Для этого нажмите кнопку Add.
В открывшемся окне укажите желаемый логин (допускаются только латинские буквы и цифры). Здесь же можно указать и группу если они уже созданы. Просто вводите логин и нажимайте OK.
Выберите созданного пользователя в разделе Users. Вам будет предложено указать для него рабочую папку, поэтому автоматически откроется страница Shared folders.
Нажмите кнопку Add в разделе Shared folders и укажите на диске каталог, к которому получит доступ выбранный пользователь FTP. После этого выделите его в списке и нажмите Set as home dir. Это действие запретит выход из данного каталога наверх в целях безопасности.
Для каждого добавленного каталога Вы можете задать права на чтение/запись, устанавливая, либо убирая флажки из чекбоксов.
Права для файлов:
- Read — разрешить чтение, скачивание файлов из каталога;
- Write — разрешить запись файлов в каталог;
- Delete — разрешить удаление файлов из каталога;
- Append — разрешить докачку файлов на сервер.
Права для каталогов:
- Create — разрешить создание подкаталогов;
- Delete — разрешить удаление каталогов;
- List — разрешить листинг (просмотр списка файлов). Никогда не запрещайте это действие (флажок всегда должен быть установлен);
- Subdirs — распространить права на подкаталоги.
Теперь перейдите на страницу General. Установите пароль для пользователя, поставив флажок в чекбокс Password и прописав пароль.
Чекбокс Enable account позволяет включать/отключать выбранную учётную запись FTP. Здесь же можно задать лимиты на максимальное число соединений для пользователя. Лимиты скорости для пользователя задаются на странице Speed Limits.
Для удаления пользователя выберите его в разделе Users и нажмите Delete. Кнопка Rename позволяет сменить логин выбранному пользователю (переименовать), а Copy — клонировать, т.е. создать копию с другим логином.
После того, как сделаете нужные изменения, нажмите кнопку OK. Параметры пользователей вступают в силу немедленно.
Включение анонимного доступа на сервер
Если Вам потребуется анонимный доступ на сервер, откройте окно управления пользователями, добавьте пользователя с логином anonymous, уберите флажок из чекбокса Password для отключения запроса пароля, на странице Shared folders выберите домашний каталог, который будет доступен всем, и установите нужные права (не забудьте отключить запись, докачку и удаление файлов и каталогов). После нажатия OK анонимный доступ к серверу будет открыт для всех желающих.
А как сделать так,чтобы человек решался на сайте и пользовался? Пожалуйста на php ,четко и без ошибочек;)
Поясните что именно нужно реализовать?
@Vitaly
типо хостинга на FTP ,сайт ,личный кабинет и создать аккаунт FTP . Чтобы создать FTP аккаунт ,нужно потратить 250 руб ,а еще приделать донат систему.
Для таких целей следует использовать уже готовые панели управления, например Cpanel, DirectAdmin и т.д.
@Vitaly
Хорошо, спасибо. А расскажи ,как открыть ftp сервер в глобальную сеть ? И через wi fi на примере DSL_2640NRU. К тому же ,на мой сервер ничего не загружается ,пишет ошибку,но пути до папки все сделаны.
Нужно открыть и пробросить в настройках маршрутизатора порты 20, 21 и те, которые указаны на странице настроек Passive mode settings в Use custom port range. Необходим белый внешний IP адрес, который можно купить у провайдера за определённую ежемесячную плату.
NAT -> Virtual servers в веб-интерфейсе.
Я не понял про докачку. Мне нужна докачка с сервера, а не на сервер.
wget цепляется и не докачивает. Нет докачки?
Данная статья посвящена настройке FTP-сервера. Сервер FileZilla позволяет клиентам докачку всегда. Для wget следует использовать параметр —continue.
Добрый день!
Спасибо за хорошую статью!
Однако, я понимаю так, что нет возможности одновременно открыть для неавторизованных пользователей anonymous доступ к какому-либо каталогу с ограничениями, если уже дан доступ кому-либо по паролю?
Или я все же не прав?)))
Вполне возможно. Создайте пользователя anonymous (если удалили стандартный аккаунт), уберите флажок из чекбокса Password и назначьте ему нужный домашний каталог.
Спасибо огромное за полезную статью! Самая понятная и подробная инструкция, которую я нашел))