+7 (861)
2900132
info@planetatech.ru
  • Абонентское обслуживание компьютеров
  • Монтаж локальной сети
  • Настройка и обслуживание серверов
  • Внедрение IP телефонии

Установка и настройка Proftpd + Proftpd Administrator на CentOS или Fedora

Цель

Организация ftp доступа к серверу с хранением имен пользователей и паролей, домашних каталогов и т.д. в СУБД MySQL

 

Описание

ProFTPd — FTP-сервер для Linux и UNIX-подобных операционных систем.

 

Поддерживаемые платформы

  • AIX
  • BSD/OS
  • DG/UX
  • Digital Unix
  • FreeBSD
  • HP/UX
  • IRIX
  • Linux for IBM S/390, zSeries
  • Linux
  • Mac OS X
  • NetBSD
  • OpenBSD
  • SCO
  • Solaris
  • SunOS
  • Windows (via Cygwin)

Установка и настройка

Для начала устанавливаем пакет proftpd-mysql.x86_64, после чего приступаем к настройке конфигурационного файла /etc/proftpd.conf. С учетом поставленной цели, содержимое его следующее:

 

ServerName                      "ftp.example.ru" 
ServerIdent                     on "FTP Server ready." 
ServerAdmin                     admin@example.ru 
DefaultServer                   on 
 
AccessGrantMsg                  "User %u logged in." 
DeferWelcome                    off 
 
IdentLookups                    off 
UseReverseDNS                   off 
 
Port                            21 
 
Umask                           022 
 
ListOptions                     "-a" 
 
RootLogin                       off 
MaxLoginAttempts                3 
MaxClientsPerHost               1 
 
AllowRetrieveRestart            on 
AllowStoreRestart               on 
 
MaxInstances                    3 
 
DefaultRoot ~ 
 
AllowOverwrite on 
 
User                            root 
Group                           wheel 
 
UseSendfile                     off 
 
ScoreboardFile                  /var/run/proftpd.score 
 
LogFormat                       default "%h %l %u %t \"%r\" %s %b" 
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s" 
 
LoadModule mod_sql.c 
LoadModule mod_sql_mysql.c 
LoadModule mod_quotatab.c 
LoadModule mod_quotatab_sql.c 
 
# Настройки для авторизации через mysql. 
 
SQLConnectInfo database_name@localhost:3306 user_name my_password 
SQLAuthTypes Backend 
SQLUserInfo usertable userid passwd uid gid homedir shell 
RequireValidShell off 
SQLGroupInfo grouptable groupname gid members 
SQLUserWhereClause              "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)" 
 
# Лог-файлы 
 
SQLLogFile              /var/log/proftpd_sql.log 
SyslogLevel             notice 
SystemLog               /var/log/proftpd/proftpd.log 
TransferLog             /var/log/proftpd/xferlog 
ExtendedLog             /var/log/proftpd/proftpd_auth.log AUTH auth 

 

На данном этапе мы еще не можем запустить наш ftp-сервер, т.к. отсутствует база mysql. Для этого нам необходимо скачать proFTPd Administrator. Скачать его можно тут. Полученный архив распаковываем:

tar xvfz proftpd_admin_v1.2.tar.gz 

Дамп базы находится в каталоге распакованного архива misc/database_structure_mysql, в файле db_structure.sql.

Создадим базу и таблицы в ней:

mysql -uroot -p <db_structure.sql 
 
Перед заливкой дампа необходимо поправить файл db_structure.sql согласно нашим потребностям, а именно: имя базы и права на нее. 

 

На всякий случай применим права к базе еще раз через консоль:

mysql> GRANT ALL ON database_name.* TO user_name@localhost IDENTIFIED BY 'my_password'; 
mysql> flush privileges; 

И последний штрих:

  • Перемещаем распакованный архив proFTPd Administrator-а в каталог, доступный по 80 порту, например в /var/www/html/
  • Прописываем в файле /etc/hosts
X.X.X.X hostname_our_server domainname_our_server 

Теперь запускаем proftpd

service proftpd start 

Устанавливаем права на файлы: 

chown -R apache:apache /var/www/html/ 

Проверяем нашу вебадминку 
http://example.com

и сразу, в разделе Configure, производим настройки, а в разделе Users создаем пользователя для авторизации на нашем ftp-сервере. Пояснять не буду, т.к. там все интуитивно понятно.

 

Не забудьте запаролить веб-админку, например с помощью htpasswd 

И последнее (чтобы стартовал при загрузке системы)

chkconfig proftpd on 

 

Комментарии (1)

Оставить комментарий