Для установки ProFTPD с MySQL-аутентификацией и поддержкой протокола SFTP, вам необходимо обновить систему. Эта инструкция предназначена для ОС Ubuntu 10.04, но может быть легко модифицирована под CentOS.
И так, устанавливаем джентльменский набор:
apt-get install mysql mysql-server mysql-client libmysql++-dev libssl-dev build-essential libncurses-dev |
Добавляем группу ftpgroup и пользователя ftpuser на сервер:
groupadd -g 2001 ftpgroup |
Запускаем MySQL:
/etc/init.d/mysqld start |
Подключаемся к серверу MySQL:
mysqladmin -root -p password 'yourpassword' |
Создаем базу данных для proftpd:
CREATE DATABASE ftp; |
Качаем, собираем, и устанавливаем proftpd:
wget ftp://ftp1.at.proftpd.org/distrib/source/proftpd-1.3.5rc1.tar.gz |
Создаем скрипт запуска для proftpd
nano /etc/ini.d/proftpd |
Скрипт:
#!/bin/sh
|
Создадим для ключ для сервера SFTP
ssh-keygen -t rsa |
Правим proftpd.conf:
nano /etc/proftpd/proftpd.conf |
Добавьте следующие строки в конец:
SFTPEngine on # use SFTP instead of FTP |
Включаем нужные нам модули в modules.conf:
nano /etc/proftpd/modules.conf |
Раскомментировав следующие строки
LoadModule mod_sql.c |
Запускаем proftpd сервер и проверяем его, подключив к нему через ваш FTP клиент. В моем случае, имя пользователя является exampleuser а пароль secret.
/etc/init.d/proftpd start |
Для регулярных отчетов по пользователям необходимо включить модуль Logrotate и дергать его через cron. Делаем скрипт в config.php:
nano /usr/src/ftpan/config.php |
// Database credentials |
Затем создаем скрипт, который будет читать файл журнала и заполнять базу данных
|
И наконец, нужно создать сценарий CSV для получения данных из базы и отправления его по почте, а также сохранения его в папке.
nano /usr/src/ftpan/generate-csv.php |
Делаем:
require_once('config.php'); |
В заключении нам нужно, чтобы наши журнал очищался. Для этого, отредактировать (или создать) файл proftpd-basic:
nano /etc/logrotate.d/proftpd-basic |
Добавить следующие правила:
/var/log/proftpd/xferlog |
Добавим правило в cron
crontab -e |
Добавляем:
|