ProMA - админская панель для proFTPd

Итак, ProMA - это админская панель для фтп сервера proFTPd написанная на PHP и использующая базу данных MySQL. Интерфейс можно посмотреть на скриншотах:

 proma статистикаproma регистрация

proma смена пароляproma админская панель

Для работы 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

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/