免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2637 | 回复: 11
打印 上一主题 下一主题

[FTP] pure-ftpd+mysql 安装手记. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-11 11:57 |只看该作者 |倒序浏览
# 以下是我第一次安装pure-ftpd 难免有不完美的地方,请通过回邮联系方式给我建议,我十分感谢!
# pure-ftpd 安装手记;
# 环境: Freebsd5.2、MySQL-4.1、Apache2.0、Pure-ftpd-1.0.20
# 建议:磨刀不误砍材工,在做安装之前先看一下 README.MySQL、INSTALL,这样可以获得你需要的最有用的信息,
#       以下是我个人平台安装方法,只供参考;
# 回邮: benyu@uunn.cn

# 开始安装,因为一切以ports方法安装,所以不提供下载方法了,同时必须更新您的ports;
# 这里只讲pure-ftpd的安装与最少的配置,并不长篇地介与mysql、apache有关内容;

cd /usr/ports/ftp/pure-ftpd
make
cd work/pure-ftpd-1.0.20
# 在开始configure 前请用configure --help参与您要的选项,以下只是我例举的;
./configure --with-prefix=/usr/local/pure-ftpd\
        --with-mysql=/usr/local/mysql\
        --with-ratios\
        --with-quotas\
        --with-largefile\
        --with-language=simplified-chinese
       
# 它自动开始安装;
make
make install-strip

# 好了,装完了,在这有一些说明,因为我在ports下用make WITH_MYSQL=1 install 是失败的,那么当你装完以后, 它不会
# 帮你拷贝或安装任何配置文件,只能是手工来做了,所以我自已开始阅读了README.MySQL 做出了以下配置.
cp configuration-file/pure-ftpd.conf /usr/local/etc/
cp configuration-file/pure-config.pl /usr/local/sbin/
chmod 755 /usr/local/sbin/pure-config.pl
cp ./pureftpd-mysql.conf /usr/local/etc/

# 好了现在得开如调整配置,关于pure-ftpd.conf的配置,我只讲一些重要的,其它的我就不提了,文件都比较简单,根据需要慢慢的改
vi /usr/local/etc/pure-ftpd.conf
把 # MySQLConfigFile               /etc/pureftpd-mysql.conf
改成 MySQLConfigFile                                                        /usr/local/etc/pureftpd-mysql.conf
# 保存退出 wq!

# 注意了,在这里你必须在mysql库里增加一个用户和相应数据库;
mysql -u root -p XXXXX
>;use mysql;
>;insert into user values('localhost','ftpuser',password
('ftppwd'),'n','n','n','n','n','n','n','n','n','n','n','n','n','n');
>;create database ftp;
>;grant all on ftp.* to ftpuser@localhost;
>;flush privileges;
>;exit;


# 在ftp建个表,结构可以从 README.MySQL中参考;
CREATE TABLE users (
  User varchar(16) NOT NULL default '',
  Password varchar(64) NOT NULL default '',
  Uid int(11) NOT NULL default '-1',
  Gid int(11) NOT NULL default '-1',
  Dir varchar(12 NOT NULL default '',
  PRIMARY KEY  (User)
);

# vi /usr/local/etc/pure-ftpd.conf
# 修改内容如下:
MYSQLServer localhost        # 一般就用localhost好了,
MYSQLPort 3306        # 3306 就是你mysql用的端口 可以看my.conf
MYSQLUser      # ftpuser
MYSQLPassword   ftppwd
MYSQLDatabase   ftp
MYSQLCrypt      any        # 在这,你用any好了,免得搞乱掉;
:wq! 保存退出;

# 好了,现在运行它就行了。
/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf &


# 现在你可以在ftp 里增加用户,然后测试,看是否能通过。
# 现在呢,还有一些工作,可选的。
1. 让ftp自动启动。
        vi /usr/local/etc/rc.d/ftp.sh
        #!/bin/sh
        /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf 2>;&1 &

2. pure-ftpd 的高级配置。
  
   在pure-ftp.conf中的选项很多,在网上有详细的参考,我就不列出了,可以结合你的防iptables来建立!
   
   
3. ftpAdmin [下载 fetch http://www.cmmie.com/ftpdadmin.zip ]
  # 注意必须放到你可以通过web方问的地方;
  mv ftpadmin.zip /home/ftp
  cd /home/ftp  
        unzip ftpadmin.zip
        cd ftpadmin
       
        vi pureftp.config.php
        找到这行PUREFTP_CONFIG_FILE    = '/usr/etc/pureftpd-mysql.conf';
        修改成: $PUREFTP_CONFIG_FILE    = '/usr/local/etc/pureftpd-mysql.conf';
        # 保存退出 : wq!
       
        cd goodides
        vi Quotas_Checker.php
        找到:
                $PUREFTP_CONFIG_FILE        = '/etc/pureftpd-mysql.conf';
                $PURE_QCHECK                                = '/usr/local/sbin/pure-quotacheck';
        修改成:
                $PUREFTP_CONFIG_FILE        = '/usr/local/etc/pureftpd-mysql.conf';
                $PURE_QCHECK                                = '/usr/local/pure-ftpd/sbin/pure-quotacheck';
        # 保存退出 : wq!
        # 其它如果你是按我方法安装,就不要修改了,否则你还必须做其它的修改;
        # 现在可以通过一定方式访问了,比如;http://www.cmmie.com/ftpadmin/
        # 现在你可以 用ftpadmin来工作了。但是出于安全,你得再加上个登陆验证,方法我就不列出;

论坛徽章:
0
2 [报告]
发表于 2004-12-12 23:28 |只看该作者

pure-ftpd+mysql 安装手记.

我安装的pureftpd也可以正常登陆了,但是应该怎么样去设置登陆用户的目录权限呢?比如我有在MYSQL数据库中的用户test:testtest,FTP登陆的根目录是/home/ftp
,然后我需要怎么样设置这个用户在主目录的权限呢?读取是没问题的了,但是上传,覆盖等权限应该怎么设置?
请指点,谢谢.

论坛徽章:
0
3 [报告]
发表于 2004-12-13 12:14 |只看该作者

pure-ftpd+mysql 安装手记.

我这有二个办法,通过ftpadmin你可以发现的。
在mysql中指定当前用户在操作时的uid和gid!
1。这种办法就是用一对多关系,比如在系统中建立用户 ftpuser和ftpgroup(不让登陆),然后把mysql中的uid和gid设为刚才建的系统用户和组ID,同时把目录的权限设为ftuser和 ftpgroup所有权(chmod 644 directory)。

2。在系统建一个统一的群clients,再建一个如sample的用户,这个用户属于该组,并不充许登陆,然后把mysql中的用户、组id设为刚才建的用户和组ID就好了(chmod 644 directory)。

如果还有其它办法请告之!

论坛徽章:
0
4 [报告]
发表于 2004-12-13 16:12 |只看该作者

pure-ftpd+mysql 安装手记.

好的,我试了告诉你,谢谢

论坛徽章:
0
5 [报告]
发表于 2004-12-26 00:49 |只看该作者

pure-ftpd+mysql 安装手记.

不错!虽然我已经装了!但是还是要顶一个啊!

论坛徽章:
0
6 [报告]
发表于 2004-12-26 01:20 |只看该作者

pure-ftpd+mysql 安装手记.

好,回去上班后去时式看,

论坛徽章:
0
7 [报告]
发表于 2005-01-07 21:37 |只看该作者

pure-ftpd+mysql 安装手记.

设置UID,GID

Pureftpd用UID,GID的权限去访问文件的。

论坛徽章:
0
8 [报告]
发表于 2005-01-10 23:38 |只看该作者

pure-ftpd+mysql 安装手记.

我在编译pureftp源文件的时候出错,请问楼主该如何解决?

当编译--with-mysql的时候,编译出错,说是mysqlclient.so没找到。不知道有没有哪个大哥在redhat9上编译通过?

我所用的mysql是redhat9自带的3.23版本。
用mysql_config --libs命令看过,lib的文件连接是对的,但编译的时候就是说没找到。南北哥等达人可以进来帮小弟弄下吗?

谢谢!

论坛徽章:
0
9 [报告]
发表于 2005-01-11 18:06 |只看该作者

pure-ftpd+mysql 安装手记.

# Running: /usr/local/sbin/pure-ftpd -A -c50 -B -C8 -D -E -fftp -H -I15 -lmysql:/usr/local/etc/pureftpd-mysql.conf -L2000:8 -m8 -s -U133:022 -u100 -w -k99 -Z
421 Unknown authentication method: mysql:/usr/local/etc/pureftpd-mysql.conf



这个怎么办?

论坛徽章:
0
10 [报告]
发表于 2005-03-30 15:13 |只看该作者

pure-ftpd+mysql 安装手记.

原帖由 "julydays" 发表:
我在编译pureftp源文件的时候出错,请问楼主该如何解决?

当编译--with-mysql的时候,编译出错,说是mysqlclient.so没找到。不知道有没有哪个大哥在redhat9上编译通过?

我所用的mysql是redhat9自带的3.23版本..........


编译时指定--with-mysql=/usr即可
我在rh9上这样编译通过了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP