安装环境:HTTPD + PHP + MYSQL
OS : redhat 9.0/redhat as 3
编译安装PURE-FTPD
# tar zvxf pure-ftpd-1.0.19.tar.gz
# cd pure-ftpd-1.0.19
# ./configure /
--prefix=/usr/local/pureftpd /
--with-paranoidmsg /
--with-welcomemsg /
--with-uploadscript /
--with-welcomemsg /
--with-mysql /
--with-largefile /
--with-cookie /
--with-virtualchroot /
--with-virtualhosts /
--with-virtualroot /
--with-diraliases /
--with-quotas /
--with-ftpwho /
--with-throttling /
--with-language=simplified-chinese
# make
# make check
# make install
配置PURE-FTPD
# cd configuration-file
# chmod u+x pure-config.pl
# cp pure-config.pl /usr/local/pureftpd/sbin
# mkdir /usr/local/pureftpd/etc
# cp pure-ftpd.conf /usr/local/pureftpd/etc
# cd ..
# cp pureftpd* /usr/local/pureftpd/etc/
# cp ./contrib/redhat.init /etc/init.d/pureftpd
# vi /etc/init.d/pureftpd
====================pureftpd=====================
#!/bin/bash
#
# Startup script for the pure-ftpd FTP Server $Revision: 1.3 $
#
# chkconfig: 2345 85 15
# description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
# processname: pure-ftpd
# pidfile: /var/run/pure-ftpd.pid
# config: /usr/local/pureftpd/etc/pure-ftpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
# Path to the pure-ftp binaries.
prog=pure-config.pl
fullpath=/usr/local/pureftpd/sbin/$prog
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
start() {
echo -n $"Starting $prog: "
$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
echo
}
. . . . . . . .
. . . . . . . . . .略
====================pureftpd=====================
# chmod 755 /etc/init.d/pureftpd
# chown root:root /etc/init.d/pureftpd
# chkconfig --add pureftpd
# chkconfig pureftpd on
安装PHP_Manager
# tar -xvf ftp.tar.gz -C /var/www/html/
# vi /var/www/html/ftp/config.php
$LANG = $ZH_CN;
$DBHost = “127.0.0.1”;
$DBLogin = “ftp”;
$DBPassword = “tmppasswd”;
$DBDatabase = “ftpusers”;
$FTPAddress = “127.0.0.1:21”;
PHP_Manager安全设置
# vi /etc/httpd/conf/httpd.conf
<Directory /var/www/html/ftp>
Order deny,allow
Deny from all
Allow from 192.168.0.10
</Directory>
修改数据库脚本
# vi /var/www/html/ftp/script.mysql
=====================script.mysql ===================
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, /
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, /
Index_priv, Alter_priv) VALUES('127.0.0.1','ftp',PASSWORD('tmppasswd'),'Y','Y','Y','Y','N','N','N',/
'N','N','N','N','N','N','N');
FLUSH PRIVILEGES;
CREATE DATABASE ftpusers;
USE ftpusers;
CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;
INSERT INTO admin VALUES ('Administrator',MD5('tmppasswd'));
CREATE TABLE users (
User char(16) NOT NULL default '',
Password char(32) binary NOT NULL default '',
Uid int(11) NOT NULL default '2000',
Gid int(11) NOT NULL default '2000',
Dir char(128) NOT NULL default '',
QuotaFiles int(10) NOT NULL default '1000',
QuotaSize int(10) NOT NULL default '100',
ULBandwidth int(10) NOT NULL default '80',
DLBandwidth int(10) NOT NULL default '80',
status enum('0','1') NOT NULL default '1',
ipaccess varchar(15) NOT NULL default '*',
comment tinytext NOT NULL,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
=====================script.mysql ===================
创建数据库
# mysql –u root –p***** < /var/www/html/ftp/script.mysql
配置PURE-FTPD
# vi /usr/local/pureftpd/etc/pure-ftpd.conf
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 2
VerboseLog no
DisplayDotFiles no
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
FortunesFile /usr/local/pureftpd/etc/welcome
DontResolve yes
MaxIdleTime 15
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
AnonymousCanCreateDirs no
MaxLoad 4
PassivePortRange 55000 60000
AntiWarez yes
Umask 133:022
MinUID 2000
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
LogPID yes
NoChmod yes
KeepAllFiles yes
CreateHomeDir yes
PIDFile /var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes
# vi /usr/local/pureftpd/etc/pureftpd-mysql.conf
MYSQLServer 127.0.0.1
MYSQLPort 3306
MYSQLSocket /var/lib/mysql/mysql.sock
MYSQLUser ftp
MYSQLPassword tmppasswd
MYSQLDatabase ftpusers
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM users WHERE User="/L"
MYSQLGetUID SELECT Uid FROM users WHERE User="/L"
MYSQLDefaultUID 2000
MYSQLGetGID SELECT Gid FROM users WHERE User="/L"
MYSQLDefaultGID 2000
MYSQLGetDir SELECT Dir FROM users WHERE User="/L"
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="/L"
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="/L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="/L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="/L"
建立FTP用户和组
# groupadd -g 2000 ftpusers
# useradd -u 2001 -g ftpusers -d /dev/null -s /sbin/nologin ftp
注意:安装MYSQL时不要忘了装上mysql-devel
OS : redhat 9.0/redhat as 3
编译安装PURE-FTPD
# tar zvxf pure-ftpd-1.0.19.tar.gz
# cd pure-ftpd-1.0.19
# ./configure /
--prefix=/usr/local/pureftpd /
--with-paranoidmsg /
--with-welcomemsg /
--with-uploadscript /
--with-welcomemsg /
--with-mysql /
--with-largefile /
--with-cookie /
--with-virtualchroot /
--with-virtualhosts /
--with-virtualroot /
--with-diraliases /
--with-quotas /
--with-ftpwho /
--with-throttling /
--with-language=simplified-chinese
# make
# make check
# make install
配置PURE-FTPD
# cd configuration-file
# chmod u+x pure-config.pl
# cp pure-config.pl /usr/local/pureftpd/sbin
# mkdir /usr/local/pureftpd/etc
# cp pure-ftpd.conf /usr/local/pureftpd/etc
# cd ..
# cp pureftpd* /usr/local/pureftpd/etc/
# cp ./contrib/redhat.init /etc/init.d/pureftpd
# vi /etc/init.d/pureftpd
====================pureftpd=====================
#!/bin/bash
#
# Startup script for the pure-ftpd FTP Server $Revision: 1.3 $
#
# chkconfig: 2345 85 15
# description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
# processname: pure-ftpd
# pidfile: /var/run/pure-ftpd.pid
# config: /usr/local/pureftpd/etc/pure-ftpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
# Path to the pure-ftp binaries.
prog=pure-config.pl
fullpath=/usr/local/pureftpd/sbin/$prog
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
start() {
echo -n $"Starting $prog: "
$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
echo
}
. . . . . . . .
. . . . . . . . . .略
====================pureftpd=====================
# chmod 755 /etc/init.d/pureftpd
# chown root:root /etc/init.d/pureftpd
# chkconfig --add pureftpd
# chkconfig pureftpd on
安装PHP_Manager
# tar -xvf ftp.tar.gz -C /var/www/html/
# vi /var/www/html/ftp/config.php
$LANG = $ZH_CN;
$DBHost = “127.0.0.1”;
$DBLogin = “ftp”;
$DBPassword = “tmppasswd”;
$DBDatabase = “ftpusers”;
$FTPAddress = “127.0.0.1:21”;
PHP_Manager安全设置
# vi /etc/httpd/conf/httpd.conf
<Directory /var/www/html/ftp>
Order deny,allow
Deny from all
Allow from 192.168.0.10
</Directory>
修改数据库脚本
# vi /var/www/html/ftp/script.mysql
=====================script.mysql ===================
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, /
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, /
Index_priv, Alter_priv) VALUES('127.0.0.1','ftp',PASSWORD('tmppasswd'),'Y','Y','Y','Y','N','N','N',/
'N','N','N','N','N','N','N');
FLUSH PRIVILEGES;
CREATE DATABASE ftpusers;
USE ftpusers;
CREATE TABLE admin (
Username varchar(35) NOT NULL default '',
Password char(32) binary NOT NULL default '',
PRIMARY KEY (Username)
) TYPE=MyISAM;
INSERT INTO admin VALUES ('Administrator',MD5('tmppasswd'));
CREATE TABLE users (
User char(16) NOT NULL default '',
Password char(32) binary NOT NULL default '',
Uid int(11) NOT NULL default '2000',
Gid int(11) NOT NULL default '2000',
Dir char(128) NOT NULL default '',
QuotaFiles int(10) NOT NULL default '1000',
QuotaSize int(10) NOT NULL default '100',
ULBandwidth int(10) NOT NULL default '80',
DLBandwidth int(10) NOT NULL default '80',
status enum('0','1') NOT NULL default '1',
ipaccess varchar(15) NOT NULL default '*',
comment tinytext NOT NULL,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
=====================script.mysql ===================
创建数据库
# mysql –u root –p***** < /var/www/html/ftp/script.mysql
配置PURE-FTPD
# vi /usr/local/pureftpd/etc/pure-ftpd.conf
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 2
VerboseLog no
DisplayDotFiles no
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
FortunesFile /usr/local/pureftpd/etc/welcome
DontResolve yes
MaxIdleTime 15
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
AnonymousCanCreateDirs no
MaxLoad 4
PassivePortRange 55000 60000
AntiWarez yes
Umask 133:022
MinUID 2000
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
LogPID yes
NoChmod yes
KeepAllFiles yes
CreateHomeDir yes
PIDFile /var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes
# vi /usr/local/pureftpd/etc/pureftpd-mysql.conf
MYSQLServer 127.0.0.1
MYSQLPort 3306
MYSQLSocket /var/lib/mysql/mysql.sock
MYSQLUser ftp
MYSQLPassword tmppasswd
MYSQLDatabase ftpusers
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM users WHERE User="/L"
MYSQLGetUID SELECT Uid FROM users WHERE User="/L"
MYSQLDefaultUID 2000
MYSQLGetGID SELECT Gid FROM users WHERE User="/L"
MYSQLDefaultGID 2000
MYSQLGetDir SELECT Dir FROM users WHERE User="/L"
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="/L"
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="/L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="/L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="/L"
建立FTP用户和组
# groupadd -g 2000 ftpusers
# useradd -u 2001 -g ftpusers -d /dev/null -s /sbin/nologin ftp
注意:安装MYSQL时不要忘了装上mysql-devel