Настройка ProFTPD : просто и понятно

Многие веб-программисты новички, когда переходят с Windows на Linux, думают, что эти системы похожи (программами) и для того чтобы создать локальный сервер им будет достаточно скачать OpenServer, но это бывает далеко не так. Сегодня вашему вниманию представлена программа под управлением операционной системой Linux, которая позволяет пользоваться VDS/VPS при помощи FTP клиента.

Как установить ProFTPD?

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

apt-get install proftpd

Хочется отметить, что настройка ProFTPD для CentOs, Debian или же Ubuntu одинакова, а также этот алгоритм подходит для большинства других дистрибутивов, если не для всех.

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

ProFTPD: настройка пользователей

1. Сначала необходимо перейти в следующую директорию: /etc/proftpd/proftpd.conf

В данном файле конфигурации мы должны написать следующее значение:

AuthUserFile  /etc/proftpd/ftpd.passwd

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

Если вам необходимо указать, в какую директорию попадет пользователь по умолчанию, то дописываем следующую строчку:

DefaultRoot /www/testit.org

Для того чтобы создать пользователя, нам необходимо ввести данную команду:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=first_num --shell=/bin/bash --home=/var/first_user/www/data/ --uid=106 --gid=65534

Тут все весьма просто.

--name=user_num_one - логин пользователя при входе на сервер.

--home=/var/user_some_one/www/data/ - когда пользователь авторизуется, то он попадет в данную директорию по умолчанию.

После нажатия Enter, вам необходимо будет ввести пароль для созданного пользователя.

3. Дальше нам необходимо добавить файл ftpaccess. Сделать это можно простой командой:

touch /var/first_user/www/data/.ftpaccess

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

Настройка ProFTPD: создание сертификата

Для того чтобы создать надежное соединение, нам необходимо создать сертификат безопасности. Сделать это можно при помощи трех команд, которые необходимо прописывать по очереди.

openssl req -new -x509 -days 365 -nodes -out  \
/etc/ssl/certs/proftpd.cert.pem -keyout \
/etc/ssl/certs/proftpd.key.pem

Создает сертификат на год.

После этого нам необходимо заполнить простую форму:

Country Name (2 letter code) [AU]: RU
State or Province Name (full name) [SomeState]: Moskow
Locality Name (eg, city) []: Moskow
Organization Name (eg, company) [Internet Widgits Pty Ltd]: usemind.org  
Organizational Unit Name (eg, section) []: IT
Common Name (eg, YOUR name) []:  testit.org 
Email Address []: testit@gmail.com

Тут все весьма понятно. Вписываем всю необходимую информацию и продолжаем.

После этого необходимо отредактировать файл tls.conf. Сделать это можно весьма просто, выполнив команду:

nano /etc/proftpd/tls.conf

Она откроет окно, в котором нам необходимо поменять следующие строки.

TLSEngine on
TLSLog /var/log/proftpd/proftpd_tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient on
TLSRequired off

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

Следующим шагом необходимо включить TLS в файле конфигурации ProFTPD.

Для этого выполняем команду для редактирования текстовых файлов:

nano /etc/proftpd/proftpd.conf

После этого вам необходимо раскомментировать данную строчку:

Include /etc/proftpd/tls.conf

В случае если данная строка вовсе отсутствует, то просто добавляем ее. Готово, конфигурация TLS включена и на этом можно закончить настройку шифрования соединения. Давайте же перейдем к следующему шагу.

Необходимо в тот же самый файл конфигурации ProFTPD добавить строчки:

<Global>
 RootLogin off
</Global>

Сохранение настроек

Настройка сервера окончена. Последним шагом будет замена файлов на сервере. После замены нам необходимо выполнить данные команды:

/etc/init.d/proftpd stop
/etc/init.d/proftpd start

На этом настройка ProFTPD закончена. Вы можете пользоваться готовой, настроенной версией сервера.

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

Сервер закрывает соединение. Что делать?

Что же делать если вы увидели данную ошибку: ProFTPd Failed to retrieve directory listing - Connection closed by server

Решение довольно простое. Сначала переходим в хорошо знакомый нам файл конфигурации ProFTPD и раскомментируем следующие строки:

PassivePorts   49152 65534

Если же и это не помогло в решении данной проблемы, то в этом же файле убираем комментарий со строки:

Include /etc/proftpd/modules.conf

Ели данной строки вы не обнаружили, то просто добавляем ее в любое свободное место. Таким образом, проблема должна быть решена, а вы можете радоваться рабочей версией сервера. Также хочется отметить, что настройка ProFTPD для Ubuntu и некоторых других операционных систем одинакова, поэтому искать мануалы под вашу операционную систему бессмысленно.

Заключение

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

Комментарии
Спасибо за статью, очень помогли!