|
pureftpd简介 Pure-FTPd是一个基于Troll-FTPd的免费、安全的FTP服务器。具有很多自己的特色,例如:支持多种语言(包括中文)、对新手是个很好的选择、对于ISP和主机服务有很好的弹性、和现有的客户端与服务器完全兼容。
需要软件 服务器软件:pure-ftpd-1.0.20.tar.gz 下载地址:ftp://ftp.pureftpd.org/pure-ftpd/releases/
WEB管理软件:pureftpd_php_manager.zip 下载地址:http://www.solariz.de/download.php?file=c2NyaXB0c19hbmRfbW9yZS9wdXJlZnRwZF9waHBfbWFuYWdlci56aXA%3D&crc=MTA5MTE3NzAzNA%3D%3D
注意事项 1、要想通过Mysql进行FTP认证,系统要有mysql数据库并已经起动才可以。 2、要通过WEB来管理FTP用户,要让apache支持php和mysql才可以。 关于上面两点可以通过下面的这篇文章解决 http://www.slack.cn/modules/wordpress/index.php?p=3
安装pureftpd服务器 1、将下载的pure-ftpd-1.0.20.tar.gz解压缩。 使用下面命令
tar zxvf pure-ftpd-1.0.20.tar.gz 2、然后进入解压后的目录
cd pure-ftpd-1.0.20 3、配置编译
./configure –prefix="/usr/local/pureftpd” –with-mysql –with-paranoidmsg –with-welcomemsg –with-uploadscript –with-cookie –with-virtualchroot –with-virtualhost –with-virtualroot –with-diraliases –with-quotas –with-ratios –with-ftpwho –with-throttling –with-largefile –with-language="simplified-chinese 4、编译软件
make 5、安装软件
make install 配置服务器 1、拷贝相关的配置文件
mkdir /usr/local/pureftpd/etc/ cp pureftpd-mysql.conf /usr/local/pureftpd/etc/ cd configuration-file/ cp pure-ftpd.conf /usr/local/pureftpd/etc/ cp pure-config.pl /usr/local/pureftpd/etc/ chmod 755 /usr/local/pureftpd/etc/pure-config.pl
2、编辑配置文件 <1>修改/usr/local/pureftpd/etc/pure-ftpd.conf 将MySql认证开启,把下面这条语句修改
# MySQLConfigFile /etc/pureftpd-mysql.conf 修改如下
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf 将自动创建目录开启,把下面这条语句修改
#CreateHomeDir yes 修改如下
CreateHomeDir yes 3、修改/usr/local/pureftpd/etc/pureftpd-mysql.conf 可以将pureftpd-mysql.con文件清干净,然后添加如下内容就可以了
# If you want to use the Socket connect methode comment out the # Lines with MMYSQLServer and MYSQLPort. # If you want to use the Port methode comment out the MYSQLSocket line #MYSQLSocket /var/lib/mysql/mysql.sock MYSQLServer localhost MYSQLPort 3306 MYSQLUser xxxxxxxxxx MYSQLPassword xxxxxxxxxx MYSQLDatabase pureftpd MYSQLCrypt cleartext 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") 其实这个文件的内容就是在解压pureftpd_php_manager.zip后,里面的pureftpd-mysql.conf.sample文件内容 4、建立数据库和表格,用mysql命令进入数据库,然后执行下面命令
create database pureftpd; use pureftpd; DROP TABLE IF EXISTS ftpd; 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;
5、修改文件权限
chmod 4711 /usr/local/pureftpd/sbin/pure-ftpwho
6、建立用户和组,使用如下命令
groupadd virtualftp useradd virtualftp -g virtualftp usermod /home/ftp -d virtualftp chown virtualftp:virtualftp /home/ftp
安装WEB管理 1、将下载的pureftpd_php_manager.zip移动到/var/www/htdocs,命令如下
mkdir /var/www/htdocs/ftp mv pureftpd_php_manager.zip /var/www/htdocs/ftp/
2、编辑/var/www/htdocs/ftp/pureftp.conf.php <1>修改下面这条语句
$PUREFTP_CONFIG_FILE = ‘/etc/pureftpd-mysql.conf’;
修改成下面样子
$PUREFTP_CONFIG_FILE = ‘/usr/local/pureftpd/etc/pureftpd-mysql.conf’;
<2>修改下面这条语句
$FTP_WHO = “/usr/local/sbin/pure-ftpwho”;
修改成下面样子
$FTP_WHO = “/usr/local/pureftpd/sbin/pure-ftpwho”;
<3>修改下面这两条语句
$DefaultUid = “wwwrun”; # Default User ID ( must be a real user acct ) $DefaultGid = “wwwadm”; # Default Group ID ( must be a real group acct )
修改为如下内容
$DefaultUid = “virtualftp”; # Default User ID ( must be a real user acct ) $DefaultGid = “virtualftp”; # Default Group ID ( must be a real group acct )
起动FTP服务器 1、用如下命令起动服务器 1、用如下命令起动服务器
/usr/local/pureftpd/etc/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
2、使FTP服务器随系统一起起动 只要把上面的起动命令添加到/etc/rc.d/rc.local文件中,就可以让FTP服务器随系统一起起动了
通过WEB接口添加用户 在浏览器用输入服务器的地址,例如http://192.168.0.1/ftp/index.php(因为将pureftpd_php_manager放到了这里) 然后将出现如下界面

点ADD USER来添加用户,如下图

添好相关信息后,点下面的save就可以了。
好了,全部配置完成。快去试试你的服务器吧! |