GADMIN-PROFTPD — удобный графический интерфейс для управления FTP-сервером ProFTPD, позволяет легко и быстро FTP доступ к домашнему каталогу пользователя. В моем случае возникла необходимость получить ftp доступ к папке сайта.
FTP — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). Использует 21-й порт. FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно.
Протокол FTP в «чистом виде», хоть и является стандартом де-факто для переноса файлов между удаленными компьютерами, имеет серьезные проблемы с безопасностью (пароль передается по сети в не зашифрованном виде). Поэтому рекомендуется использовать безопасные протоколы FTPS или SFTP.
FTPS — это тот же самый FTP-протокол, однако соединение с сервером защищено с помощью протоколов SSL или TLS. Порт при подключении остается стандартным (21).
К сожалению настроить передачу через протокол FTPS мне не удалось, поэтому настройки которые будут показаны ниже обеспечивают простое FTP соединение (незащищенное), хотя GADMIN-PROFTPD позволяет настраивать FTPS соединение.
Ставим простой FTP-сервер на Ubuntu 14.04 LTS
- Устанавливаем ProFTPd:
sudo apt-get install proftpd-basic
В процессе установки выбираем ответ standalone, т.е. самостоятельный запуск FTP-сервера.
- Устанавливаем GADMIN-PROFTPD:
sudo apt-get install gadmin-proftpd
Запускаем GADMIN-PROFTPD
Создаем пользователя
Вы можете взять содержимое настроенного конфигурационного файла, скопировать настройки во вкладку Configuration и сохранить, тогда все настройки программы будут изменены под новый конфигурационный файл:
ServerType standalone DefaultServer on Umask 022 ServerName "0.0.0.0" ServerIdent on "My FTP Server" ServerAdmin E-mail IdentLookups off UseReverseDNS off Port 21 PassivePorts 49146 65534 #MasqueradeAddress 192.168.1.2 TimesGMT on MaxInstances 30 MaxLoginAttempts 3 TimeoutLogin 300 TimeoutNoTransfer 1200 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message User nobody Group nogroup DirFakeUser off nobody DirFakeGroup off nogroup DefaultTransferMode binary AllowForeignAddress on AllowRetrieveRestart on AllowStoreRestart on DeleteAbortedStores on TransferRate RETR 250 TransferRate STOR 250 TransferRate STOU 250 TransferRate APPE 250 SystemLog /var/log/secure RequireValidShell off <IfModule mod_tls.c> TLSEngine off TLSRequired off TLSVerifyClient off TLSProtocol SSLv23 TLSLog /var/log/proftpd_tls.log TLSRSACertificateFile /etc/gadmin-proftpd/certs/cert.pem TLSRSACertificateKeyFile /etc/gadmin-proftpd/certs/key.pem TLSCACertificateFile /etc/gadmin-proftpd/certs/cacert.pem TLSRenegotiate required off TLSOptions AllowClientRenegotiation </IfModule> <IfModule mod_ratio.c> Ratios off SaveRatios off RatioFile "/restricted/proftpd_ratios" RatioTempFile "/restricted/proftpd_ratios_temp" CwdRatioMsg "Please upload first!" FileRatioErrMsg "FileRatio limit exceeded, upload something first..." ByteRatioErrMsg "ByteRatio limit exceeded, upload something first..." LeechRatioMsg "Your ratio is unlimited." </IfModule> <Limit LOGIN> AllowUser User1 AllowUser User2 DenyALL </Limit> <Anonymous /var/www/site1.ru> User User1 Group www-data AnonRequirePassword on MaxClients 10 "The server is full, hosting %m users" DisplayLogin welcome.msg DisplayChdir .msg <Limit LOGIN> Allow from All Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD
SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit NOTHING > DenyAll </Limit> </Anonymous> <Anonymous /var/www/site2.ru> User User2 Group www-data AnonRequirePassword on MaxClients 10 "The server is full, hosting %m users" DisplayLogin welcome.msg DisplayChdir .msg <Limit LOGIN> Allow from All Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD
SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit NOTHING > DenyAll </Limit> </Anonymous>
Перейдите во вкладку Users, создайте нового пользователя, укажите пароль, папку пользователя, установите права пользователя как показано на скриншотах:
После всех настроек запустите FTP сервер нажав Activate, если все нормально то появится надпись «Status: Activated«, если север не запустится программа укажет какой параметр настроек или строка в конфигурационном файле приводит к ошибке.
Для проверки работы FTP сервера введите в строке поиска браузера ftp://site1.ru, укажите логин и пароль и если все нормально то Вы увидите содержимое Вашего сайта.
Для загрузки или скачивания файлов Вы можете воспользоваться популярной программой FileZilla.