Очень часто возникает вопрос как загрузить файлы сайта на свой сервер. Конечно, можно использовать файл-обменники и вытягивать архивы с помощью команд wget, но это не самый удобный способ – для этого существуют FTP.
FTP (File Transfer Protocol — протокол передачи файлов) – протокол, предназначенный для передачи файлов, часто используется для загрузки файлов с домашнего ПК на сервер. В данной статье будет рассматриваться установка vsftpd (ftp сервера) на ОС Debian либо Ubuntu. Итак, приступим:
Первым делом следует установить необходимые пакеты на наш сервер. Для этого выполним команды:
sudo apt-get update #обновление зеркал
sudo apt-get install vsftpd или sudo apt-get install vsftpd #непосредственно сама установка.
После окончания процесса установки, сервер будет автоматически запущен и будет слушать 21 порт. Проверить работоспособность сервера можно с помощью команды netstat:
netstat -npl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 22468/vsftpd
Перед настройкой рекомендуется остановить FTP сервер, сделать это можно выполнив команду:
sudo /etc/init.d/vsftpd stop #останавливаем сервер ftp
Для настройки сервера мы будем редактировать файл etc/vsftpd/vsftpd.conf. Открываем данный файл:
sudo nano -w etc/vsftpd/vsftpd.conf #открываем в редакторе файл конфигурации
Для начала необходимо отключить разрешение на использование FTP анонимным пользователям. Сделать это можно сменив значение параметра anonymous_enable на NO.
После расскоментируем опции “local_enable”,“write_enable” и “chroot_local_user”.
local_enable – данная опция разрешает использовать для входа на сервер пользователей которые зарегистрированы в системе.
write_enable – разрешает выполнять пользователям любые FTP команды.
chroot_local_user (по умолчанию значение YES) – запрещает возможность выхода из пределов chroot. т.е пользователи не смогут получить доступ к другим файлам сервера. Доступ будет осушествлятся только в пред домашних каталогов.
Создаем нового пользователя user для FTP сделать это можно командой:
sudo useradd -d /var/www/path/to/your/dir -s /sbin/nologin user
Далее необходимо задать пароль для пользователя user:
sudo passwd user #меняем пароль пользователя user
После чего создадим домашнею директорию для пользователя user:
sudo mkdir -p /var/www/path/to/your/dir
Проверяем создалась ли директория:
sudo ls -la /var/www/path/to/your/dir/span>
Для разрешения чтения и записи пользователю user в свой домашний каталог меняем права:
pre lang=”ru-RU”>sudo chown -R user /var/www/path/to/your/dir #меняем владельца каталога
sudo chmod 775 /var/www/path/to/your/dir #разрешаем запись в каталог
Создаем группу ‘webusers‘ для FTP пользователей, и добавляем в нее ‘user‘ :
sudo groupadd webusers #создаем группу webusers
sudo usermod -G webusers user #добовляем пользователя user в группу
Перезапускаем наш FTP сервер:
sudo service vsftpd restart
Настройка анонимного доступа к FTP серверу
Редактируем файл etc/vsftpd/vsftpd.conf
sudo nano -w etc/vsftpd/vsftpd.conf
Опция anonymous_enable позволяет разрешить анонимный доступ по FTP:
anonymous_enable=YES #Включаем если была выключена
После установки загрузка файлов анонимно разрешена и происходит в каталог по умолчанию /srv/ftp в процессе установки создается пользователь ftp с домашним каталогом /srv/ftp. Если вы его хотите изменить, необходимо просто создать новый каталог и изменить домашний каталог для пользователя ftp:
sudo mkdir /var/www/path/to/your/dir #создаем папку
sudo usermod -d /var/www/path/to/your/dir ftp # назначаем пользователю user
При данной конфигурации будет осуществятся анонимный доступ к каталогу /var/www/path/to/your/dir
После изменений перезапустите vsftpd:
sudo service vsftpd restart