Pureftpd 和 mysql 架设FTP服务器(1)


Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,今天我给大家详细介绍下:Pureftpd 和 mysql 架设FTP服务器的具体过程。

下载mysql5.1.31 rpm文件和pure-ftpd源码包

安装mysql5.1.31共享包

rpm -ivh MySQL-shared-community-5.1.31-0.rhel5.i386.rpm

编译安装pure-ftpd

  1. #./configure –prefix=/usr/local/pureftpd –with-mysql –with-paranoidmsg –with-welcomemsg –with-uploadscript –with-cookie –with-virtualchroot –with-virtualhosts –with-virtualroot –with-diraliases –with-quotas –with-sysquotas –with-ratios –with-ftpwho –with-throttling  
  2.  
  3. #make  
  4.  
  5. #make check  
  6.  
  7. #make install  

配置pure-ftpd

  1. #cd configuration-file  
  2.  
  3. #chmod u+x pure-config.pl  
  4.  
  5. #cp pure-config.pl /usr/local/sbin/  
  6.  
  7. #cp pure-ftpd.conf /usr/local/etc/  
  8.  
  9. vi /usr/local/etc/pure-ftpd.conf  

确认以下三项

ChrootEveryone yes

MySQLConfigFile /etc/pureftpd-mysql.conf

CreateHomeDir yes

为puer-ftpd创建mysql数据库和用户

CREATE DATABASE pureftpd;

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO ‘pureftpd’@'localhost’ IDENTIFIED BY ‘password’;

FLUSH PRIVILEGES;

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;

配置pureftpd-mysql.conf

vi /etc/pureftpd-mysql.conf

录入

MYSQLSocket /tmp/mysql.sock

#MYSQLServer localhost

#MYSQLPort 3306

MYSQLUser pureftpd

MYSQLPassword password

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”)


相关内容