Панель управления PureUserAdmin для фтп сервера pure-FTPd.
PureUserAdmin - веб панель управления бесплатным фтп сервером pure-FTPd, которая позволяет управлять пользователями с помощью веб-сайта, при этом данные заносятся в базу данных MySQL. Функциональность данной панели минимальна - создать, удалить, изменить данные пользователя, такие как логин, пароль, домашняя директория и оповестить об этом пользователя по e-mail. На этом все, но возможно кому-то этого будет достаточно. К сожалению, заявленная работа в links лично мной не подтвердилась.
Скриншоты.
Установка PureUserAdmin.
Для установки веб панели управления нам понадобится настроенный web сервер и установленный фтп сервер pure-FTPd.
Переходим в директорию, где хранятся файлы сайта, через который мы будем открывать PureUserAdmin. К примеру:
cd /usr/local/www/apache22/data/yoursite.com/
Видимо потому, что у меня стоит php5, скрипт у меня не отрабатывал как следует, поэтому пришлось внести в него некоторые изменения.
Скачиваем в выбранную директорию архив с панелью управления:
fetch http://webpanels.spb.ru/files/PureUserAdmin-0.2.1.tar.gz
Распаковываем:
tar -xf PureUserAdmin-0.2.1.tar.gz
Теперь у нас в директории с сайтом появилась еще одна с названием pureuser.
Далее необходимо внести изменения в файл pureuserclass.php. Нужно найти раздел Class constructor либо можно осуществить поиск по %%ADMIN_MAIL затем все значения начинающиеся с %% нужно заменить на свои и должно получится, к примеру, следующее:
$this->settings["admin_email"] = "[email protected]";
$this->settings["ftp_hostname"]= "yoursite.com";
/* database settigs */
$this->settings["sql_type"] = "mysql";
$this->settings["sql_server"] = "localhost";
$this->settings["sql_user"] = "user";
$this->settings["sql_pass"] = "pass";
$this->settings["sql_dbase"] = "pureuser";
$this->settings["sql_table"] = "logins";
Теперь требуется создать базу данных pureuser содержащую таблицу logins состоящую из полей uid, gid, password, username, dir. Для этого идем в командную строку и исполняем следующие команды:
mysql -u user -p
#вводим пароль и получаем приглашение вида mysql>
create database pureuser;
create table logins (username varchar(100) binary primary key, password varchar(100) binary,uid int, gid int, dir varchar(100) binary);
exit
Или же все это можно сделать с помощью веб панели для mysql под названием phpMyAdmin.
Теперь открываем браузер и открываем соответствующую станицу, к примеру: http://yoursite.com/pureuseradmin/ Должна открыться страница со списком наших настроек. Все должно работать, данные о новых пользователях должны заноситься в базу.
Внимание! Нельзя использовать учетную запись root и группу wheel т. е. uid/gid 0!
Настрока фтп сервера pure-FTPd на работу с базой данных.
Итак, открываем конфигурационный файл pure-ftpd:
ee /usr/local/etc/pure-ftpd.conf
Находим нужную нам строку, раскомментируем и исправляем её. Должно получиться что-то вроде:
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
Сохраняем конфиг и выходим. Далее создаем конфигурационный файл для связи с базой MySQL:
ee /usr/local/etc/pureftpd-mysql.conf
куда пишем следующие строки:
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLSocket /tmp/mysql.sock
MYSQLUser user
MYSQLPassword password
MYSQLDatabase pureuser
MYSQLCrypt cleartext
MySQLTransactions on
MYSQLGetPW SELECT password FROM logins WHERE username="L"
MYSQLGetUID SELECT uid FROM logins WHERE username="L"
MYSQLGetGID SELECT gid FROM logins WHERE username="L"
MYSQLGetDir SELECT dir FROM logins WHERE username="L"
Сохраняем. Запускаем pure-FTPd следующей командой:
/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
Если требуется перезапуск фтп сервера, то можно, к примеру, остановить его командой:
/usr/local/etc/rc.d/pure-ftpd forcestop
и запустить его заново.
Осталось запаролить директорию средствами apache и можно работать :-)