proFTPd Administrator - веб панель для фтп сервера proFTPd
Представляю вашему вниманию довольно интересную панель управления под незатейливым названием proFTPd Administrator. Эта панель оказалась куда интереснее, информативнее и функциональнее, чем ProMA. proFTPd Administrator умеет создавать, редактировать и удалять пользователей и группы пользователей, выставлять им различные параметры. Кроме того доступна масса различной статистики, такой как объем входящего и исходящего трафика, какие конкретно файлы были переданы, топы пользователей по объему трафика, кто сейчас подсоединен к серверу. Помимо статистики, относящейся к передаче файлов, есть информация по степени загрузки сервера, свободному объему на жестких дисках и в оперативной памяти, данные по конфигурации ядра, базе данных mySQL, по скомпилированным модулям фтп сервера. proFTPd Administrator поддерживает различные стили и локализации. Последняя версия 1.2 была выпущена 18.11.2006
Скриншоты
Процесс установки на FreeBSD.
Прежде, чем устанавливать web панель управления, вам необходимо установить и настроить web сервер. Также стоит упомянуть, что в этом тексте все действия совершаются отностительно домашней директории пользователя.
Логинимся на сервер и попадаем в директорию пользователя, куда и скачиваем исходные коды панели управления
fetch http://downloads.sourceforge.net/project/proftpd-adm/proFTPd%20Administrator/proFTPd%20Administrator%20v1.2/proftpd_admin_v1.2.tar.gz
Затем распакуем
tar -xfvz proftpd_admin_v1.2.tar.gz
Переходим в каталог misc/database_structure_mysql и редактируем файл db_structure.sql на предмет пароля, который будет использовать proFTPd для доступа к базе данных, то есть необходимо заменить поля <database_password> на любой пароль по выбору. Эти три поля находятся в самом низу.
cd misc/database_structure_mysql
ee db_structure.sql
Далее следует создать базу данных с помощью следующей команды, после выполнения которой нужно ввести пароль рутового пользователя для MySQL
mysql -u root -p < db_structure.sql
Теперь поднимаемся на два уровня вверх и меняем права для конфигурационного файла
cd ..
cd ..
chmod o+w configuration.xml
Правим конфигурационный файл proFTPd, где вписываем следующее:
# Some logging formats
LogFormat default "%h %l %u %t "%r" %s %b"
LogFormat auth "%v [%P] %h %t "%r" %s"
LogFormat write "%h %l %u %t "%r" %s %b"
# Define log-files to use
TransferLog /var/log/proftpd.xferlog
ExtendedLog /var/log/proftpd.access_log WRITE,READ write
ExtendedLog /var/log/proftpd.auth_log AUTH auth
ExtendedLog /var/log/proftpd.paranoid_log ALL default
SQLLogFile /var/log/proftpd.mysql
# Set up authentication via SQL
# ===========
AuthOrder mod_sql.c
SQLAuthTypes Backend
SQLConnectInfo proftpd_admin@localhost proftpd <database_password> #write your password here
SQLUserInfo usertable userid passwd uid gid homedir shell
SQLGroupInfo grouptable groupname gid members
SQLUserWhereClause "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)"
# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable
# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable
# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"
# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
и не забываем указать пароль для доступа к базе, который указан в файле db_structure.sql
Или, если ваш proFTPd еще не настроен, то копируем конфиг из поставки proFTPd Administrator:
cp misc/sample_config/proftpd.conf /usr/local/etc/proftpd.conf
Перезагружаем конфиг фтп сервера командой:
/usr/local/etc/rc.d/proftpd reload
Теперь переходим в директорию, где хранятся файлы, относящиеся к сайту, и делаем линк на директорию, куда распакован proFTPd Administrator:
ln -s /usr/home/username/proftpd_admin_v1.2/ ftpadm
Теперь из браузера открываем страницу с профтпд админом
http://www.domain.ru/ftpadm/
Должна открыться страница, на которой будет написано, что не удалось подсоединиться к базе данных, так как наверняка неправильно указан пароль, поэтому перемещаемся в раздел Configure->Database где вводим необходимый пароль и нажимаем кнопку Submit. После этого все начинает работать. Также следует заглянуть в подраздел proFTPd и указать там корневую директорию для фтп. Затем в подраздел Sections, где можно указать директории, по которым статистика будет вестись раздельно. Затем в подраздел Filepaths, где по необходимости поправить пути до утилит, например, мне пришлось исправить пути для who (/usr/bin/who) и до proFTPd (/usr/local/sbin/proftpd).
Так как в этой панели управления нет встроенной авторизации, то требуется запаролить директорию методами веб-сервера Apache.
Все, можно приступать к работе!