Как известно существует отличный FTP-клиент FileZilla, но это программа-клиент. А нам, исходя из задачи, нужна программа-сервер. На помощь нам приходит FileZilla Server. Программа бесплатная и достаточно простая.
1. Скачиваем дистрибутив и устанавливаем.
2. Выбираем тип установки "Standard":
3. Выбираем директорию для установки FileZilla Server
4. Выбираем способ запуска FileZilla Server: (как служба, запуск при старте ОС \ как служба, запуск вручную \ не как служба, автоматический запуск).
Выбираем первый вариант.
Так же на этом этапе можно указать порт управления сервером. Можно сменить на другой, или оставить стандартный.
5. Выбираем вариант запуска интерфейса сервера.
Их опять же три:
- Запуск сервера при авторизации пользователя в систему, применить для всех пользователей
- Запуск сервера при авторизации пользователя в систему, применить для текущего пользователя
- Запуск вручную
Первый пункт следует использовать в случае если Вы хотите, что бы сервер работал вне зависимости от того, кто использует компьютер. Пункт второй следует использовать если Вы хотите, что бы сервер запускался только с текущей учётной записью. Третий для тех, кто хочет запускать его вручную.
Если поставить галочку на "Start Interface after setup completes", то установщик запустит интерфейс сервера завершения установки.
Нажимаем "Install"
Настраиваем FileZilla Server
После того как процесс установки завершится, и будет запущен интерфейс сервера, появится маленькое окно, где потребуется указать адрес, порт и пароль администратора.
Теперь сделаем несколько настроек нашего сервера:
нажимаем на "Edit" и далее "Settings", либо на иконку шестерни на панели.
На вкладке General Settings можно увидеть такие параметры:
- Listen on these ports (указываем какой порт будет слушать сервер, по умолчанию это порт 21. Если хотите установить другой порт, то его следует выбрать из диапазона от 1 до 65535)
- Max. number of users (Указываем максимальное разрешённое количество одновременно подключенных. По-умолчанию стоит значение "0", что означает отсутствие ограничения.)
- Number of Threads (Устанавливаем количество потоков для одного пользователя. По-умолчанию значение "2" - обычно этого достаточно.)
- Connections timeout (Указываем тайм-аут соединения. Можно не трогать.)
- No Transfer timeout (Тайм-аут для соединения, если нет передачи данных. Можно не трогать.)
- Login timeout (Тайм-аут авторизации нового пользователя. Можно не трогать.)
Первая внутри General Settings вкладка Welcome message
В поле можно занести любой текст, который душе угоден.
Следующая вкладка IP bindings.
По-умолчанию стоит "*", - это значит что сервер доступен с любых адресов. В случае если мы хотим ограничить доступ к серверу, то необходимо указать список IP-адресов. Если затрудняетесь с выбором, то оставьте поле без изменений.
Вкладка IP Filter
Здесь мы видим 2 поля. В верхнем можно указать список IP-адресов которым не разрешено подключаться к серверу, в нижнем указываем исключения.
Например можно в верхнем можно указать диапазон 10.0.0.1-10.0.0.256, в нижнем исключение 10.0.0.23.
Что бы запретить подключение вообще всех, в верхнем окне ставим знак "*", в нижнем соответственно пишем адреса прямо разрешённые.
Вкладка Admin Interface Settings
Здесь можно сменить IP-адрес и локальный порт для доступа к интерфейсу управления. Так же можно указать IP-адреса с которых разрешено подключение к интерфейсу.
Вкладка Logging
- Enable logging to file (Включаем запись логов)
- Limit log file size to (Устанавливаем максимальный размер лог-файла)
Вкладка Speed Limits
Здесь можно настроить ограничения скорости. Это актуально когда с сервером работает много пользователей одновременно.
Вкладка Filetransfer compression
Здесь можно настроить сжатие данных, актуально для если скорость доступа к серверу небольшая.
Вкладка Autoban
Здесь можно включить автоматическую блокировку IP-адресов после установленного количества неудачных попыток авторизации. Т.е. если кто-то неправильно вводит или подбирает пароль к Вашему серверу, то по истечении указанного количества попыток, IP-адрес попадает в бан, на указанное количество часов.
Настраиваем аккаунты пользователей и доступ к ресурсам
Нажимаем Edit, в выпадающем списке Users, либо на иконку с людьми в панели. Появляется окно, где первая вкладка General.
Поле Users изначально пустое. Нажимаем Add и в появившемся окне вводим имя нового пользователя (например anonymous). Ниже можно указать группу нового пользователя, но сейчас нам это не требуется.
Теперь в списке справа, у нас появился новый пользователь. Выбираем его и настраиваем:
- Enable account (выключен\выключен пользователь)
- Password (пароль пользователя)
- Group membership (принадлежность к группе)
Ниже можно указать описание пользователя.
Переходим во вкладку Shared folders
Здесь мы укажем список директорий доступных по FTP. Нажимаем Add и выбираем нужную папку или диск. Далее указываем что этот пользователь может делать с данными в этой директории:
- Read (разрешено чтение)
- Write (разрешено запись)
- Delete (разрешено удаление)
Галочки в поле Directories:
- Create (создание папок внутри папки)
- Delete (удаление папок внутри этой папки)
- List (просмотр содержимого этой папки)
- + Subdirs (просмотр папок внутри этой папки)
Параметр Set as home dir установить эту папку домашней для текущего пользователя, т.е. при подключении пользователю будет показана именно эта папка.
Нажимаем кнопку OK. На этом настройка сервера закончена. Им можно пользоваться в локальной сети. Но подключаться из вне ещё рано
Доступ к FTP серверу из вне
Что бы организовать доступ к Вашему серверу необходимо имеет внешний статичный IP-адрес или пользоваться службой DDNS, и кроме этого дополнительно настроить Ваш маршрутизатор (при его наличии).
Узнать свой IP-адрес можно используя такие сервисы:
Кроме этого необходимо пробросить порт на маршрутизаторе до вашего компьютера. Как это сделать.
Проверить выполненную настройку проброса порта можно с помощью таких сервисов:
Если сервисы сообщают, что порт открыт, значит подключаемся в программе клиенте с указанием Вашего IP, а так же логина и пароля.
Удачи!