Image

(Последнее изменение: 06.11.2024)

Debian 12 Linux FTP Server (ProFtpd + Apache)

Порой возникают задачи, когда нужно срочно передать большой объем данных через интернет, зачастую это видео файлы большого размера, в бесплатных облачных сервисах как правило установлен лимит на размер 1 файла не более 10 Гб, а создавать ftp сервер совсем нет времени. Мы создали готовую конфигурацию FTP сервера, на базе ProFTPD. Сервер работает в двух режимах, активном и пассивном, что дает больше возможностей для подключения. Также чтобы была возможность передать ссылку на размещенный файл через браузер мы настроили службу Apache, которая смотрит в корень ftp каталога.


Конфигурация преднастроенного сервера доступна на форме заказа.

Обновим пакеты:

apt update -y  
apt upgrade -y

Установим службы:

apt install proftpd -y
apt install apache2 -y


Запустим и настроим автозапуск:

systemctl start proftpd
systemctl start apache2
systemctl enable proftpd
systemctl enable apache2

Проверим состояние:

ss -antpl | grep proftpd


Создадим ftp пользователя и зададим пароль:

adduser ftpuser
passwd ftpuser


Внесем необходимые настройки:

Добавим директиву, чтобы запереть пользователей в домашнем каталоге

/etc/proftpd/proftpd.conf

DefaultRoot ~

Добавим конфигурацию в самый конец файла

/etc/proftpd/proftpd.conf


Include /etc/proftpd/conf.d/



Umask 022

AllowOverwrite on



AllowUser ftpuser

DenyAll





AllowUser ftpuser

DenyAll








Перезапустим службу для применения настроек: 

systemctl restart proftpd

Сделаем так, чтобы служба apache2 смотрела в корень каталога созданного нами пользователя. Данный функционал будет полезен при необходимости поделиться файлом ссылкой по протоколу http. Укажем новый путь /home/ за место старого /var/www/:

vi /etc/apache2/apache2.conf 

Options Indexes FollowSymLinks
AllowOverride None
Require all granted

Перезапустим службу:

systemctl restart apache2

При необходимости и наличии SSL сертификата разместим файлы CRT и KEY 

chmod 600 /etc/ssl/private/proftpd.key 
chmod 600 /etc/ssl/certs/proftpd.crt

Добавим файл конфигурации: 

/etc/proftpd/proftpd.conf

Include /etc/proftpd/tls.conf

Проверим конфигурацию и приведем к виду:

/etc/proftpd/tls.conf 

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRequired on
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off

Перезапустим службу:

systemctl restart proftpd

FTP сервер готов к работе.

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




Leonid
22.08.2024 16:01
не рабочая инструкция
Synay Support
22.08.2024 19:39
Вы правы, поля со знаками (<> и /) исчезли, что касается конфигураций файлов, /etc/proftpd/proftpd.conf, html редактор порезал, потому и пробелы, спасибо, что сообщили. В ближайшее время поправим.

/etc/proftpd/proftpd.conf

В самый конец файла:

Include /etc/proftpd/conf.d/
<Directory /home/ftpuser>
Umask 022
AllowOverwrite on
<Limit LOGIN>
AllowUser ftpuser
DenyAll
</Limit>
<Limit ALL>
AllowUser ftpuser
DenyAll
</Limit>
</Directory>