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.
Все, можно приступать к работе!



