Miért nem MySQL -ben tárolod!?
# Apache2 - PHP Telepítése
apt-get -y install apache2 php5
# MySQL Telepítése
apt-get -y install mysql-server
# MySQL PHP -ba
apt-get -y install php5-mysql
# phpMyAdmin Telepítése
apt-get -y install phpmyadmin
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
# FTP Telepítése
apt-get -y install pure-ftpd
# FTP => MySQL
apt-get install pure-ftpd-mysql
# FTP felhasználó és csoport készítése
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
# Hozzunk létre egy pureftpd nevû felhasználót, és egy pureftpd nevû adatbázist.
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;
# Hozzuk létre a pureftpd tábláját
USE pureftpd;
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)
) TYPE=MyISAM;
# Szerkesszük a "/etc/pure-ftpd/db/mysql.conf" fájlt.
cp /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf_orig
cat /dev/null > /etc/pure-ftpd/db/mysql.conf
# /etc/pure-ftpd/db/mysql.conf:
MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
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")
# Hozzuk létre a "/etc/pure-ftpd/conf/ChrootEveryone" fájlt, amiben beállíthatjuk, hogy minden felhasználó chrootolva legyen.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
# Hozzuk létre a "/etc/pure-ftpd/conf/CreateHomeDir", ahol beállíthatjuk, hogy automatikusan létrejöjjön a felhasználó home mappája.
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
# Felhasználó hozzá adása
USE pureftpd;
INSERT INTO `ftpd`
(`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`)
VALUES
('user001', '1', MD5('jelszo001'), '2001', '2001', '/home/user001', '100', '100', '', '*', '50', '0');