LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1063|回复: 3

pureftpd+mysql+quota+pureftpd_php_manager实例安装

[复制链接]
发表于 2003-6-12 01:44:34 | 显示全部楼层 |阅读模式
最近在做个免费申请主页系统,apache+php+mysql+ftpd
一开始用proftpd,但是感觉不是很理想,所以就改成了
pureftpd。看到现在pureftpd的安装文档不多,故将配置
的基本过程写下,以供同好。

需要的软件
pure-ftpd-1.0.15.tar.gz
pureftpd_php_manager.zip
(当然您的系统中要有apache php mysql)

全面设置
#./configure \
--prefix=/usr/local/pureftpd \
--with-mysql=/usr/local/mysql \
--with-paranoidmsg \
--with-shadow \
--with-welcomemsg \
--with-uploadscript \
--with-quotas \
--with-cookie \
--with-pam \
--with-virtualhosts \
--with-virtualroot \
--with-diraliases \
--with-sysquotas \
--with-ratios \
--with-ftpwho \
--with-throttling
简化设置
------------------------------------------------
#./configure \
--prefix=/usr/local/pureftpd \
--with-mysql=/usr/local/mysql/ \
--with-diraliases \
--with-ftpwho \
--with-throttling \
--without-inetd \
--without-shadow \
--with-quotas

#make
#make check
#make install

#chmod u+x pure-config.pl
#cp pure-config.pl /usr/local/sbin/
#cp pure-ftpd.conf /usr/local/etc/

按你的需要编辑pure-ftpd.conf

#unzip pureftpd_php_manager.zip
#cd pureftpd_php_manager
#mv pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf
vcd ..
#cp -R pureftpd_php_manager /var/wwwroot/html/pureftpd_php_manager
#cd /var/wwwroot/html/pureftpd_php_manager
#vi pureftp.config.php

#pw groupadd ftpusers
#pw useradd ftpusers -g ftpusers
按照你的需要修改里面的设置
-------------------------------------------------------------------------------------
######################
####### SETUP ########
######################

        // 设置pureftpd-mysql.conf的位置,这个要注意,不要写错哦
        $PUREFTP_CONFIG_FILE    = '/usr/local/etc/pureftpd-mysql.conf';

        // The location where all the Forms directed to. (Mayby no change needed)
        $SELF_URL                               = 'index.php';

        // The location of your pure-ftpdwho binary  (set this to chmod 4711)
        $FTP_WHO                                = "/usr/local/sbin/pure-ftpwho";

#######################
# DEFAULT NEW-USER PARAMS #
#######################

        $DefaultUser = "ftpuser";                       # 默认用户
        $DefaultPass = "passwd";                        # 默认初始用户密码
        $DefaultUid = "2002";                           # 默认的uid(设置为ftpusers的uid)
            $DefaultGid = "2002";                               # 默认的gid(设置为ftpusers的gid)
            $DefaultDir = "/var/ftproot/ftpusershome";          # 默认的用户主目录
        $DefaultUL = "0";                               # 默认用户上传速率限制(KB/S)
        $DefaultDL = "0";                               # 默认用户下载速率限制(KB/S)
        $Defaultip = "*";                               # 设置用户可以从哪些IP登陆
        $DefaultQS = "50";                              # 用户默认的quota
        $Defaultcmt = "";                               # 默认备注信息
        $DefaultQF = "0";                               # 默认文件数目quota
        $PWC = "55";                                    # Vorsatz fuerr Crypt Password
-------------------------------------------------------------------------------------

删除多余的东西
rm -f history.txt pureftpd-mysql.conf.sample
如果要投入真实的使用,最好用apache做身份验证!

在mysql中添加FTP用户数据库
mysql>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;

mysql>grant all on ftpd.* to pureftpd@localhost identified by 'yourpassword'

编辑/usr/local/etc/pureftpd-mysql.conf
将刚才在mysql中新建的用户和密码加入其中,选项很简单,只要注意不要输错

启动
#/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf

然后测试http://ip/pureftpd_php_manager/index.php
添加一个用户,然后用FTP客户端登陆试试,ok!


常见错误:
Q:用户不能验证,登陆时老是显示验证失败
A:你的pureftpd-mysql.conf里面的用户名字和密码,数据库的名称,字段的名称都对了么?一定要
  保证都填对了!还有就是确认用户的主目录存在,并且有访问的权限,最后就是用户的状态是active
  么?

Q:用户登陆的不能读写文件
A:确认用户对其主目录具有读写的权限

Q:quota不起作用
A:确保用户的.ftpquota文件权限正确
 楼主| 发表于 2003-6-13 08:38:18 | 显示全部楼层
实现口令的md5加密
编辑你的pureftpd-mysql.conf
将MYSQLCrypt的方法改成md5,如下
MYSQLCrypt      md5
然后将mysql里ftp用户的密码都用md5加密
例如如果你的密码是"mypassword",在命令行下就可以
#mail# md5 -s mypassword
  MD5 ("mypassword") = 34819d7beeabb9260a5c854bc85b3e44
那么你mysql里ftp用户的密码植就应该是 34819d7beeabb9260a5c854bc85b3e44
发表于 2003-9-27 21:27:12 | 显示全部楼层
遇到一下几个问题,紧急求助:
1.我下载的pureftpd没有configure等等的,只是几个目录(如/etc,/usr),感觉好象是直接解压缩到根目录就可以了。我就直接解压缩了,没有编译,不知道是不是安装上了。
2.
在mysql中添加FTP用户数据库
mysql>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;

里面的UNIQUE KEY User (User)在用phpmyadmin做的时候出错,去了以后正常。我就去掉了做的。有什么影响吗?

3.
#pw groupadd ftpusers
#pw useradd ftpusers -g ftpusers
好象没有pw这个命令,我去掉前面的pw,添加了组和用户。

然后我的用户说验证失败,不能用。
楼主的教程似乎写的不是太清楚。我试过好几次了。都不行。能不能写的具体一点。

感谢!
发表于 2004-10-20 15:21:29 | 显示全部楼层
怎样能把pureftpd加入到ntsysv里边?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表