Установка и настройка Pure-FTPD-MySQL в GamePL

Просмотров: 307


Статья для старых версий Движка, новая версия GamePL v.11 устанавливает всё автоматически. Подробнее...

 

Установка FTP на базе pure-ftpd-mysql , если он будет использоваться на данной машине для старых версий GamePL OC Ubuntu 14.04 x64


- Отправить в терминал sudo apt-get install pure-ftpd-mysql
- Cоздаем базу данных mysql, (либо скачиваем ) назывем ее например FTP, затем добавляем пользователя для этой базы с доступом с любого хоста или укажите ip машины где стоит панель и выполним следующий sql запрос:

CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Заходим в /etc/pure-ftpd/db/ и очищаем mysql.conf, (либо скачиваем )вставляем следующее (не забудьте поправить):

MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

И в терминал отправляем следующие команды:

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone;
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir;
echo "yes" > /etc/pure-ftpd/conf/DontResolve;
/etc/init.d/pure-ftpd-mysql restart;

Изначально подключение к mysql запрещено с других машин по ip адресу, поэтому идем в /etc/mysql/ и в файле my.cnf удаляем или закомментируем bind-address = 127.0.0.1.И создать нового пользователя с удаленым доступом или же изменить имеющегося. После этого перезагрузить mysql сервер.

Подробнее:
Заходим в phpmyadmin на машине с играми: Учётные записи пользователей > Добавить учетную запись пользователя
После создания базы данных (он же пользователь), сделайте рестарт mysql сервера /etc/init.d/mysql restart
Обязательно сохраните созданный пароль базы данных! Данные вводите при подключении машины выбрав Pure-FTPD-MySQL