Тариф успешно добавлен в корзину
В корзину
url image

Как установить Pure-FTPd на сервер с Bitrix GT

Pure-FTPd — безопасный, бесплатный и легкий FTP-сервер  для быстрой и надёжной передачи файлов. Он поддерживает различные дистрибутивы Linux и отлично подойдёт для виртуального сервера с Bitrix GT.
В статье рассмотрим  установку и первичную настройку Pure-FTPd.  

1. Зайдите на виртуальный сервер через протокол удалённого доступа SSH

# ssh root@IP_адрес_виртуальной машины

Для авторизации на виртуальном сервере через SSH вам понадобится IP-адрес сервера, имя пользователя и пароль. В Личном кабинете выберите нужный сервер и сверху на панели инструментов нажмите кнопку Инструкция — IP-адрес и имя пользователя указаны в блоке Доступ к серверу. Пароль задавался вами при открытии сервера. В случае если пароль был утерян, вы можете самостоятельно установить новый пароль к ВМ по кнопке  Задать пароль.

Мы не храним пароль для доступа к серверу. Ответственность за его сохранность лежит на пользователе.

2. Используя встроенный пакетный менеджер yum, установите FTP-сервер

Debian / Ubuntu:

# apt install -y pure-ftpd

RHEL / CentOS:

# yum install -y pure-ftpd

3. Настройте конфигурацию Pure-FTPd

Для корректной работы встроенных механизмов безопасности Pure-FTPd и его взаимодействия с FTP-клиентами, такими как FileZilla, нужно задать несколько ключевых параметров. Необходимые настройки хранятся в директории /etc/pure-ftpd/conf/ в виде отдельных файлов: имя файла — это название параметра, а его содержимое — значение. Для изменения параметров нужно создать файл с его названием и значением внутри.

Ниже приведены команды для создания файлов с нужными параметрами. 

Ограничим доступ пользователей (включим механизм изоляции chroot-jail) — каждый будет видеть только свою папку и не сможет зайти в системные каталоги сервера:

# echo yes > /etc/pure-ftpd/conf/ChrootEveryone

Отключим PAM-аутентификацию — по умолчанию она проверяет системных пользователей Linux. Вместо неё будем использовать PureDB, где создадим отдельных виртуальных пользователей только для FTP:

# echo no > /etc/pure-ftpd/conf/PAMAuthentication

Укажем границы пассивных портов для стабильной работы с FTP-клиентами в пассивном режиме:

# echo '30000 50000' > /etc/pure-ftpd/conf/PassivePortRange

Укажем минимальное значение UID для пользователя Pure-FTPd. Веб-сервер Bitrix GT работает от имени пользователя www-data с UID = 33, поэтому разрешаем вход всем пользователям с UID не ниже этого значения:

# echo 33 > /etc/pure-ftpd/conf/MinUID

Другие параметры конфигурации можно посмотреть в соответствующем разделе на официальном сайте проекта Pure-FTPd.

4. Откройте в брандмауэре диапазон используемых портов 20-21 и 30000-50000

Действия могут отличаться в зависимости от ОС и используемого брандмауэра.

Для nftables

В актуальных версиях Debian по умолчанию работает nftables. Чтобы открыть порты, отредактируйте  конфигурационный файл через удобный вам текстовый редактор:

# vim /etc/nftables.conf

Добавим в блок chain input правила, разрешающие подключения на FTP-порты (20–21), и порты для пассивного режима (30000–50000).

tcp dport 20-21 accept
tcp dport 30000-50000 accept

Применить конфигурацию можно с помощью команды:

# nft -f /etc/nftables.conf

Для ufw

Если в качестве основного интерфейса брандмауэра используется ufw, то выполните эти разрешающие команды:

# ufw allow 20:21/tcp
# ufw allow 30000:50000/tcp

Для firewalld

На CentOS по умолчанию используется брандмауэр firewalld. В этом случае команды для открытия портов будут такими:

# firewall-cmd --permanent --add-port=20-21/tcp
# firewall-cmd --permanent --add-port=30000-50000/tcp
# firewall-cmd --reload

5. Включите авторизацию пользователей из PureDB

Одна из особенностей PureFTPd — механизм виртуальных пользователей FTP. Виртуальные пользователи хранятся отдельно от системных учётных записей. Это означает, что они не могут войти в систему напрямую, что значительно повышает безопасность.

Для виртуальных пользователей назначается своя директория, необходимые квоты на объём файлов и другие ограничения. При этом с реальным системным пользователем могут ассоциироваться несколько виртуальных пользователей PureFTPd.

Подключим авторизацию через PureDB. Для этого создадим символьную ссылку на конфигурационный файл:

# ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60PureDB

По умолчанию используется авторизация Unix и PAM. Для использования PureDB мы указываем цифру 60 в названии создаваемой символической ссылки, чтобы проверка пользователя выполнялась приоритетно с проверки из PureDB:

6. Запустите FTP-сервер и добавьте его в автозагрузку

Теперь можно запустить службу Pure-FTPd, добавив её также и в автозагрузку:

# systemctl enable pure-ftpd
# systemctl start pure-ftpd

Проверьте, что служба начала работать:

# systemctl status pure-ftpd

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

7. Включите шифрование SSL/TLS

Работа ряда FTP-клиентов, например, FileZilla, требует защищённого TLS-соединения, поэтому выпустим сертификат для нашего FTP-сервера.

Для этого используем утилиту openssl — она уже установлена в системе:

# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 3650

Запущенная команда задаст несколько информационных вопросов, можно пропустить ответ на них, нажав Enter:

Зададим права на файл полученного сертификата:

# chmod 600 /etc/ssl/private/pure-ftpd.pem

Теперь выберем режим работы TLS. Если хотите разрешить и обычные, и зашифрованные подключения, выполните команду:

# echo 1 > /etc/pure-ftpd/conf/TLS

Если только зашифрованные TLS подключения, то:

# echo 2 > /etc/pure-ftpd/conf/TLS

Перезапустите службу Pure FTPd, чтобы изменения вступили в силу:

# systemctl restart pure-ftpd

8. Создайте FTP-пользователя

Добавьте FTP-пользователя bitrix-gt c правами пользователя www-data и доступом к директории /var/www/html:

# pure-pw useradd bitrix-gt -u www-data -g www-data -d /var/www/html

Это стандартная директория для Bitrix GT, но в вашем проекте она может быть другой — уточните путь к корню сайта.

Если директория вам неизвестна, но сайт использует окружение для работы, найдите в директории /etc/nginx/bx/site_enabled виртуальный хост с именем вашего сайта:

# ls /etc/nginx/bx/site_enabled

Выберите файл с именем вашего сайта и посмотрите, какая директория указана как корневая. Для этого выполните grep с выражением root на файл виртуального хоста:

# grep root /etc/nginx/bx/site_enabled/bitrix-gt.fvds.ru.conf

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

После этого обновите базу PureDB: 

# pure-pw mkdb

На этом настройка сервера FTP завершена. Теперь вы можете с помощью вашего FTP-клиента (например, FileZilla) попробовать подключиться к виртуальной машине Bitrix GT и поработать с файлами.

Если возникнут сложности — наша поддержка всегда готова ответить на ваши вопросы.

Этот материал был полезен?

Скидка новым клиентам
Закажите сервер сегодня и получите скидку на первый месяц аренды!
Наш сайт использует cookies Вы можете отключить их в настройках браузера, но это может ограничить функционал. Оставаясь на сайте, вы соглашаетесь с использованием cookies.