您的位置: 首页 arrow 技术资料 arrow ftp服务器 arrow 用pureftpd在slackware 10.1下架设带web管理的ftp服务器  

 

新闻快讯

    新仓信息技术有限公司新的网站架构于强大的cms系统Mambo,新的网站更加方便公司信息的发布。著名的开源软件Mambo架构于mysql+php,特别适合中小型门户网站的搭建,能大大减少企业建站的成本,毫不夸张的说,Mambo是最强大的cms系统之一,很多国内的所谓的cms在Mambo面前真的毫无是处。如果您需要架构基于mambo的网站,可以来电021-51089670获取更多信息,更多关于mambo的介绍请点击。。。。


 
用pureftpd在slackware 10.1下架设带web管理的ftp服务器
2006-01-12

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就可以了。

好了,全部配置完成。快去试试你的服务器吧!

用户登录
用户名

密码

记住我
忘记密码
没有账户? 马上注册
友情链接
申请链接