ProMA - админская панель для proFTPd
Итак, ProMA - это админская панель для фтп сервера proFTPd написанная на PHP и использующая базу данных MySQL. Интерфейс можно посмотреть на скриншотах:
Для работы proMA необходимо чтобы в вашей системе были установлены apache + php + mySQL и, конечно, proFTPd. Несмотря на то, что последняя версия панели датируется 2007 годом, она отлично работает и на свежих версиях софта. Например, у меня стоит апач версии 2.2.11, пхп 5.2.10, мускул 5.0.83 и все это под управлением FreeBSD 7.2.
Установка ProMA под FreeBSD
Будем устанавливать админскую панель из портов.
Если у вас уже установлены все необходимые программы, то:
cd /usr/ports/ftp/proma
make
make install
иначе можно запустить команду конфигурации и сразу установить всё необходимое:
cd /usr/ports/ftp/proma
make config
make
make install
Настройка proFTPd для работы с базой mySQL
В конфигурационный файл /usr/local/etc/proftpd.conf требуется внести следующее:
SQLConnectInfo [email protected] user password
SQLAuthenticate users
SQLAuthTypes backend
SQLDefaultHomedir /some/fancy/homedir
SQLUserInfo users userid passwd uid gid homedir shell
SQLGroupInfo groups groupname gid members
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1 WHERE userid='%u'" users
AuthPAM off
не забыв исправить данные в строках SQLConnectInfo и SQLDefaultHomedir на свои значения.
Создать базу и внести начальные значения можно с помощью phpMyAdmin. Для этого нужно создать базу данных с именем, которое вы указали в строке SQLConnectInfo в конфигурационном файле proFTPd, затем перейти в эту базу и открыть вкладку SQL и выполнить там следующий SQL- запрос:
CREATE TABLE users (
userid varchar(255) NOT NULL UNIQUE,
name varchar(255) NULL,
mail varchar(255) NULL,
uid int(11) NULL default '65534',
gid int(11) NULL default '65534',
passwd varchar(255) NOT NULL,
shell varchar(255) NOT NULL default '/bin/nonexistent',
homedir varchar(255) NOT NULL default '/some/fancy/homedir',
note text NULL default '',
count int(11) NOT NULL default 0,
admin int(1) NOT NULL default 0,
closed int(1) NOT NULL default 0
);
не забыв исправить путь к домашней директории на желаемый. Теперь нужно создать первого пользователя выполнив запрос:
INSERT INTO
users
SET
userid = 'Vasiliy',
passwd = PASSWORD('your_password'),
name = 'Vasiliy Petrovich',
mail = '[email protected],
admin = 1;
конечно же заменив значения полей на свои собственные.
Правка конфигурационного файла ProMA
Необходимо зайти в папку /usr/local/www/proma/и скопировать файл config.inc.php-example в файл с именем config.inc.php в котором заполнить поля с именем базы с логином и паролем для коннекта к ней. Остальное по вкусу :-) Так как файл содержит информацию для подключения к базе, поэтому он не должен быть читаем из интернет и как следствие иметь права вида 640. Этого можно добиться командой:
chmod 640 config.inc.php
Последние штрихи
По умолчанию ProMA ставится в директорию /usr/local/www/proma/ поэтому чтобы иметь возможность открыть панель из браузера, вам необходимо сделать ссылку на эту директорию из директории где у вас хранятся файлы вашего сайта, для этого перейти в нужную директорию и выполнить команду вида:
ln -s /usr/local/www/proma proma
Все, теперь вы можете управлять пользователями фтп сервера proFTPd используя ваш любимый веб браузер. Для этого откройте страницу по адресу вида:
http://www.your-domain.com/proma/