Как установить FTP-сервер на выделенном сервере под управлением Debian 11
Перед установкой FTP-сервера необходимо проверить актуальность всех установленных на данный момент программных пакетов, для этого в консоли (CLI) введите:
sudo apt update
Затем система проверит, были ли обновлены репозитории программного обеспечения относительно установленных в данный момент пакетов. Если в системе установлены самые последние версии программного обеспечения, вы увидите сообщение о том, что обновления невозможны. В противном случае вы будете проинформированы о количестве пакетов, доступных для обновления.
ВНИМАНИЕ: Если ни одна из установленных в данный момент версий пакетов не требуется для использования другого программного обеспечения (иногда пользователи используют программы, требующие определенную версию пакета), можно выполнить обновление установленных в данный момент пакетов с помощью следующей команды:
sudo apt upgrade
После выполнения команды вам будет сообщено, какие пакеты будут обновлены, а какие, если таковые имеются, будут удалены; чтобы разрешить обновление, выберите один из вариантов (да*/нет):
Y/n
В нашем случае это будет Y или y, затем введенный вариант подтверждается клавишей Enter.
После того, как установленные на данный момент пакеты будут правильно обновлены, мы можем перейти к установке необходимых компонентов сервера FTP.
В окне консоли (CLI) введите следующие команды и подтвердите нажатием Enter:
sudo apt install vsftpdsudo apt install ufw
На следующем этапе нам нужно добавить соответствующие правила в наш брандмауэр, чтобы разрешить FTP и SSH-соединения с нашим выделенным сервером.
Для этого в окне консоли (CLI) выполняются следующие команды:
sudo ufw allow sshsudo ufw allow 20,21,990/tcpsudo ufw allow 40000:50000/tcp
Затем мы проверяем состояние нашего брандмауэра в окне консоли (CLI) с помощью команды:
sudo ufw status
Если статус нашего брандмауэра аналогичен скриншоту выше в окне консоли (CLI), выполните следующую команду:
sudo ufw enable
После выполнения вышеуказанной команды нам сообщат, что текущий сеанс SSH может быть прерван во время активации брандмауэра с новыми правилами, мы должны принять этот риск. Сессию тем не менее не следует отключать, а если это произойдет, просто снова установите SSH-соединение с сервером.
На следующем этапе мы займемся настройкой FTP-сервера. Для начала создадим резервную копию файла конфигурации FTP-сервера, для этого в окне консоли (CLI) выполните следующую команду:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
После резервного копирования удаляем исходный файл командой:
sudo rm -rf /etc/vsftpd.conf
Теперь нам необходимо создать новый конфигурационный файл для нашего FTP-сервера. В окне консоли (CLI) выполним следующую команду и в окне редактора вставим строки, приведенной ниже команды:
sudo nano /etc/vsftpd.conf
listen=YESlisten_ipv6=NOconnect_from_port_20=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=vsftpdpasv_enable=YESpasv_min_port=40000pasv_max_port=50000user_sub_token=$USERuserlist_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_deny=NO
После добавления указанных строк в файл сохраните изменения с помощью клавиш ctrl+s, а затем выйдите из редактора с помощью клавиш ctrl+x.
После настройки межсетевого экрана и FTP-сервера создаем нового FTP-пользователя, выполняем в окне консоли (CLI) следующие команды:
sudo adduser ftp_user
echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist
Последним шагом будет перезапуск нашего FTP-сервера и настройка его на автоматический запуск при старте системы, для чего в окне консоли (CLI) выполним следующие команды:
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
После того как все описанные выше шаги выполнены правильно, можно переходить к подключению к нашему FTP-серверу. Для этого можно использовать, например, программу FileZilla, которая доступна в Windows и Linux. В окне FileZilla введите IP-адрес нашего сервера, имя FTP-пользователя, пароль и нажмите кнопку "Quickconnect".
Готово! Вы установили FTP-сервер.