категории | RSS

Как установить и настроить частный FTP-сервер

Статья была скомпилирована из нескольких. Авторы оригиналов - Александр Дудкин (Serv-U) и (dolphin) Dmitry Nikushchenko (GuildFTPd,BullettProof FTP Server)
________________________________________

Начальные сведения
В этой небольшой статье будет описан процесс настройки частного ftp-сервера. FTP-сервер - это программа, которая, работая на Вашем компьютере, предоставляет возможность удаленного подключения к нему по ftp-протоколу (File Transfer Protocol). В дальнейшем я предполагаю, что Вы работаете в ОС Windows, и обладаете достаточными знаниями для того, чтобы понять нижеследующее. Если же Вы только начали использовать Интернет, то сможете найти основные сведения об использовании ftp например тут.
Будем считать, что Вы должным образом просветились, и готовы воспринимать новую информацию.

Условия, необходимые для создания FTP-сервера
Ясно, что целесообразность организации сервера зависит от задач, которые Вы собираетесь решать с его помощью. Если речь идет о раздаче больших файлов (как фильмы), то, на взгляд автора, организация сервера для обмена чем-либо при возможном аплоаде меньше 96Kbps не выглядит серьезно.
Однако создание сервера зависит не только от Вашего желания. Посмотрите свойства Вашего соединения, если Ваш адрес начинается с 192.168.х.х или 10.х.х.х, то организация на этой машине сервера невозможна. В любом ином случае необходимо проверить, виден ли Ваш ip-адрес снаружи. Для этого, например, сообщите его кому-нибудь из своих друзей - пусть он попробует постучать в него с помощью программы ping.
Также весьма желательно (но не строго обязательно) иметь фиксированный ip-адрес. Если он у Вас динамический (об этом, в принципе, Вы можете спросить у провайдера или администратора?), то потребуется несколько лишних телодвижений.

Установка и настройка сервера
Таких программ существует множество. Из того, что пробовал автор, наибольшее впечатление произвели: GuildFTPd (free), WARFTPd (free), BullettProof FTP Server (shareware). Ниже будет кратко рассмотрен процесс настройки некоторых из этих программ.

GuildFTPd 0.999.5
Мощный сервер, легко настраиваемый, с удобным интерфейсом и прекрасной реализацией виртуальной файловой системы (ВФС).

Установка и главное окно
Установка программы тривиальна. Вы установили программу на Ваш компьютер, запустили, и с интересом смотрите на главное окно программы:

картинка

Настройка программы.
1. Настройка основных параметров сервера (номер порта, максимальное количество коннектов, количество коннектов с каждого ip и др) осуществляется в правом нижнем окне. Если Вы это сделаете для группы System, то все группы нижнего уровня эти настройки унаследуют. Для любой выбранной Вами группы эти настройки по умолчанию можно перекрыть. В частности, я иногда использовал для разных имен пользователей разные номера портов.

2. Пункт меню Admin -> Options -> Server: впишите имя Вашего сервера, и несколько уменьшите детализацию сообщений сервера (передвинув бегунок “Log Level” влево), иначе файлы журнала быстро наберут сотни мегабайт:

картинка

3. Настройка доступа к серверу. Структура иерархии пользователей в GuildFTPd такова, что любой пользователь должен быть отнесен к какой-либо группе. При этом у Вас есть два основных пути:
• построение фтп на основе личных логинов;
• построение сервера на основе прямого входа в нужную директорию.

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

Алгоритм очень простой:
а) создаете группу, скажем, Team, и сразу сделайте общий для группы корневой каталог (root):

картинка

Ясно, что он уже должен существовать на диске. Обратите внимание - виртуальное выбранного каталога «\». Затем назначим соответствующие права. Получаем следующее:

картинка

Сравните между собой две последние картинки, и у Вас не останется вопросов.

Кроме того, существуют общепринятые соглашения по именам каталогов, находящихся в корневом, в частности: \pub - здесь лежат данные, доступные для публичного (анонимного) скачивания; \upload - сюда будут заливать для Вас; \incoming и некоторые другие. Я думаю, что для частного сервера этим соглашениям следовать необязательно.

б) начинаете набивать группу пользователями (Admin -> Add User):

картинка

в) создаете ВФС для каждого (см. а)):

картинка

И получаете:

картинка

Примечание. Вы можете открыть доступ ко всему диску, скажем, таким образом:

картинка

Физическая директория K:\FTP является для Вас корневой, а физические диски - каталогами. Тогда в ftp-клиенте Вы увидите следующее:

картинка

Файл picture1.jpg как раз находится в каталоге K:\FTP, и Вы сможете его увидеть еще раз, если в этот каталог пойдете по физическому пути.

3.2. Построение сервера на основе прямого входа в нужную директорию.
Здесь Вам не надо создавать множество логинов. Вы создаете один (а то и вовсе используете анонимный вход, для чего вводите имя anonymous, а поля паролей оставляете пустыми), но в правах root-директории снимаете флажок с пункта “list”. А потом просто добавляете туда директории. Не зная полного имени в каталог не попасть.

На этом Ваш сервер готов к работе, для его запуска/выключения нажмите кнопку “on”, или выберите меню Admin -> Allow Logins.

4. Дополнительно. Настройка сообщений сервера: Admin -> Server Messages

картинка

5. Дополнительно. Установка плагинов. Рекомендую установить плагин для просмотра статистики (на сайте авторов):

картинка

6. Дополнительно. Запрещение доступа на сервер: View -> View Ban List. Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист:

картинка
BullettProof FTP Server 2.1.5
Простой в настройке, мощный и очень надежный сервер. Среди недостатков указал бы не очень удобную реализацию VFS, а так же тот факт, что программа не бесплатная и стоит $29.95.

Здесь я расскажу только основные сведения о настройке программы.

Главный экран программы BullettProof:

картинка

Настройка программы.
1. Настройка самого сервера донельзя проста Setup -> Main -> General, вводите имя сервера, номер порта, помечаете галочками понравившиеся пункты:

картинка

Если есть желание: Setup -> Main -> Advanced, включите Anti-hammering - автобан для тех, кто не может настроить софт для работы в один поток.

2. Настройка доступа.
Программа также поддерживает группы, но относить пользователя к определенной группе не обязательно. Порядок создания доступа:
• сперва нажимаем правую кнопку мыши в области User Accounts, выбираем Add, и вписываем имя нового пользователя, если надо, относим его к какой-либо группе;
• теперь нажимаем правую кнопку мыши в области Access Rights, опять Add, выбираем корневой каталог и назначаем права:

картинка

Настройка имени пользователя для аплоада приведена на рисунке:

картинка

Далее:

картинка

Теперь запускаем сервер, и вперед.

3. Реализация ВФС в этой программе значительно менее удобна, чем в GuildFTPd, она несколько мутновато описана в справке программы.
Состоит эта настройка из двух частей:

а) создаете текстовый файл с ВФС в такой форме: Виртуальное имя | Реальное имя

картинка

б) включаете ВФС для данного пользователя или группы:

картинка

Serv-U 4.0.0.4
Также исключительно мощная программа. Автору она не показалась сильно удобной, однако, судя по количеству информации о ней в Интернете, она весьма популярна, стоимость - $39.95.

Процесс настройки:

Установка FTP сервера Serv-U
Для установки возьмем “Serv-U FTP Server”. Запускаем инсталлятор.
Согласившись с лицензией, говорим, куда надо поставить сервер.
Теперь нас попросят указать нужные компоненты. Для установки сервера нам нужны оба.
Установка программы-сервера закончена. Щелкаем правой кнопкой мыши по иконке и выбираем из всплывающего меню “Start Administrator…”

1. Настройка сервера, создание учетных записей
В Главном меню программы находятся основные управляющие элементы, но подробно мы их изучать не будем, вы сами сможете это сделать потом, прочитав справку к программе. То же самое касается элементов управления и статус-панели. Принцип настройки сервера такой - в дереве настроек мы выбираем нужный раздел и в панели настроек и отчетов видим одну или несколько закладок с настройками и (или) статистикой. Для начала создадим свой FTP сервер. Войдя в раздел “Local server”, вы сможете управлять установленным у вас на машине сервером. При входе в раздел в панели настроек появится следующая информация:
Если поставить галочку на пункте “Start automatically”, ваш сервер будет стартовать вместе с Windows при каждой загрузке. Далее идет статус сервера (зеленый цвет - работает, красный - выключен). Далее кнопка, включающая/выключающая сервер. И кнопка, задающая главный пароль администратора. Если вы его зададите, никто кроме вас не сможет менять настройки вашего сервера. Здесь и далее я буду описывать только основные ходы для развертывания своего FTP сервера, об остальных дополнительных возможностях вы можете узнать из справки к программе. Для начала проведем настройку глобальных параметров сервера, войдя в раздел “Settings”.

В закладке “General” нам интересны пункты:
Max. Upload speed: максимальная скорость загрузки файлов на ваш сервер с клиента
Max. Download speed: максимальная скорость отдачи файлов клиентам (всем вместе - это глобальная настройка)
Max. no. of users: максимальное количество одновременно подключившихся клиентов (также глобальная настройка)
Delete partially uploaded files: если клиент пытался закачать к вам на сервер файл, но не до конца его закачал, надо ли удалять такой незавершенный файл. Если стоит галка - то удалять.

Во всех остальных закладках оставляем настройки по умолчанию.
В разделе “Activity” можно посмотреть отчет о работе программы, добавить IP адрес в список запрещенных IP адресов, или отправить сообщение подключенным клиентам. Углубляться в эти возможности мы не будем, поэтому идем к следующему разделу.
Раздел “Domains” - основной рабочий инструмент администратора. Пока в нем пусто. Правой кнопкой мыши щелкнем на пустой панели настроек и выберем из меню пункт “New Domain” (можно просто нажать клавишу Ins). Появится мастер создания домена. В первом окне вам предложат выбрать IP адрес, по которому будет “жить” ваш FTP сервер. Если оставить поле пустым, сервер будет отвечать по всем адресам (например и в локалке и в интернете). Если сервер делается только для локалки - из выпадающего списка выберите свой IP адрес в локальной сети

Нажав кнопку “Next”, переходим к следующему вопросу - надо ввести имя домена. Если вы делаете интернетовский FTP, можете в качестве названия ввести его адрес, это даст возможность не запутаться при большом количестве доменов. А можете просто ввести название своего FTP, к примеру “Мой FTP сервер”

Снова “Next”, выбираем порт для FTP сервера. Стандартно для FTP используется 21 порт TCP, но если вы хотите спрятать ваш FTP порт от сканеров, можете указать другой, главное, чтобы на нем не сидела другая программа. Также не забудте открыть этот порт в файрволе или брэндмауэре (если он у вас стоит), иначе никто не сможет попасть к вам на FTP сервер! Выбор порта для домена позволяет организовать несколько FTP на разных портах с разным содержимым. Именно для этого и нужны домены.
2 раза нажимаем “Next” и выходим из мастера. Видим вот такой экран глобальных настроек домена:
Элементы в закладке “Domain” означают:
Name: имя домена
Domain IP address: IP адрес домена
Domain type: где храняться настройки домена (в INI файле или в реестре)
Security: поддерживать ли SSL секретность
FTP port number: номер порта сервера
Enable dynamic DNS: используется в интернете при работе службы DynDNS
Domain is.. (online/offline): текущее состояние домена (зеленый - включен, красный - выключен)
Put Domain offline: кнопка выключения домена
Теперь проведем “тонкую настройку” полученного домена. Для этого перейдем в раздел “Settings” нашего домена:
В закладке “General” обращаем внимание на следующие значения:
Max no. of users: максимум клиентов, которые могут одновременно подключится к домену.
Minimum password length: минимальная длина пароля для пользователя. Если не задано - не проверяется
На закладке Vitual Paths указываются виртуальные папки и пути в ним! Папке дается виртуальное имя (Vitual name) которое и будет отображаться у пользователя, вошедшего по ftp, вместо реального. При этом эти папки надо разрешить хотя бы для чтения (Read) в настройках у каждого конкретного пользователя. Как это сделать - читай ниже.
Mapped to - это путь к папке пользователя, к котрой будет присоединяться (монтироваться) виртуальная папка. К ней также у пользователя должен быть доступ.
Еще одна закладка, на которую можно обратить внимание - “Messages”:
Здесь можно заменить стандартные сообщения сервера на свои собственные, к примеру с названием своего FTP или почтовым адресом для связи. Внимание! Сообщения могут быть только на английском языке или написаны транслитом!
Идем в раздел “Users” и создаем нового пользователя также, как создавали до этого домен. Появится мастер создания пользователя. Для начала вас попросят ввести имя пользователя. Под этим именем пользователь будет заходить на ваш FTP. Если FTP открыт для всех, то в качестве имени надо использовать имя anonymous . Для любого другого пользователя у вас попросят ввести пароль, для пользователя anonymous пароль спрашивать не будут. Далее указываем начальный каталог, в котором будет содержимое вашего FTP, видимое для данного пользователя:
Далее на вопрос следует ответить “Yes”. Мастер завершится, новый пользователь создан. Сервер готов к работе. Некоторые тонкости настройки, например как подцеплять каталоги с других дисков, вы сможете посмотреть в видеофайле, идущем с этим архивом.
5. Проверка работы
Запустите свой FTP клиент, выберите создание нового соединения, в параметрах соединения укажите адрес FTP сервера, порт (если он не стандартный) и имя/пароль пользователя (если не указывать, то будет использован пользователь anonymous и в качестве пароля подставится нечто, напоминающее E-Mail адрес (мало кто указывает свой реальный e-mail). Не забудте указать прокси сервер, если вы соединяетесь не на прямую! Теперь попробуйте подключиться к своему FTP серверу. Если все сделано правильно, сервер должен ответить сразу.
Можно также обратиться в своему серверу через браузер в пассивном режиме: ftp://login:password@ваш_ip или просто ftp://localhost.
P.S. Не забудьте, что если вы закрыты от внешнего мира файрволом или роутером, то в них необходимо открыть порт 21 на входящие подключения (в роутере из WAN в LAN с любого ip).

WARNING: Ввиду популярности программы и ее платности в большинстве случаев под видом кряков и кейгенов вам попытаются впарить бэкдуры и прочую нечисть. Будьте внимательны!!!

Если Ваш ip-адрес - динамический
Это означает, что при каждом входе в Интернет Вам присваивается новый ip-адрес, то есть при выходе из Интернета на короткое время вы получите новый адрес. А иногда адрес меняется принудительно прямо по ходу работы. При таком раскладе работать с Вашим сервером будет очень трудно. Но выход есть. На этот случай существуют специальные службы вроде www.dynip.com или www.no-ip.com . Алгоритм их работы очень прост. Вы забираете с сайта программу-клиент(скажем, DUC отсюда), устанавливаете ее, настраиваете Ваш аккаунт (выбрав уникальное имя Вашего хоста), после чего эта программка, работая резидентно, будет автоматически заниматься подстановкой под имя хоста Вашего нового ip.
При инсталляции программа DUC попросит зарегистрироваться на сайте и выбрать уникальное имя хоста (под которым Вас будут видеть пользователи, например если Вы написали alex, то полное имя хоста будет alex.no-ip.org). Если регистрация прошла без проблем, то в окне этой программы будут имя вашего хоста и смайлик- там нужно поставить флажок.
Вот и все. Удачи Вам на просторах Интернета.

DimonVideo
2008-12-22T17:33:30Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 5

#5   AdminSQRT    

а что делать если у меня маршрутизатор ????


0 ответить

#5   d-tax    

Большое спасибо за статью, щас будем испытывать ммс точку доступа, и этот DUC


0 ответить

#5   ale-lipov    

Использую ServerZilla намного проще да и лучше наверное!!!


0 ответить

#5   non-prevailing    

спасибо wink


0 ответить

#5   hasanshaih    

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


0 ответить

Яндекс.Метрика