当前位置:操作系统 > Unix/Linux >>

pureftpd+mysql+pureftpd_php_manager安装笔记

这几日我一直在配自己的rh9

  在安装pureftpd+mysql遇到了不少困难

  今天总算大致让pureftpd工作了

  因此就写下这个笔记

  权当灌水

  欢迎各位朋友与我共同探讨论linux

  my email:iamroot@21cn.com

  声明:

  一:我是linux新手,对很多最基本的东西也不是很懂,所以在文中如果有错误之处,请多包涵,并请指出

  二:在安装过程,我参考了很多网上极好的文章,给予了我很大大的帮助,在此向这些前辈表示感谢。

  三:我在文中最后稍微谈了下在pureftpd中如何设置文件权限的,方法很菜,那位朋友对在pureftpd中设置权限有什么好的方法请指点下,我现在用的方法我感觉台蠢了,;)

  正文

  在安装过程中我主要参考了

  nicosoft 兄的 《pureftpd+mysql+quota+pureftpd_php_manager实例安装》一文

  一:首先你要安装好mysql apache php

  这一步网上有大量的文章可以参考,我也就不说了

  二:安装 pure ftpd 1.0.16a

  #tar pure-ftpd-1.0.16a.tar.gz

  #cd pure-ftpd-1.0.16a

  #./configure \

  --prefix=/usr/local/pureftpd \

  --with-mysql=/server/mysql \ --------->> 我的mysql安装在 /server/mysql/

  --with-puredb \ ---------->>这个可别忘记了,我就是因为忘记了这个,结果浪费了很多时间

  --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 \

  --with-language=simplified-chinese --------------->>Socket 会话显示出来的信息的语言.缺省为英语,simplified-chinese 简体中文,traditional-chinese BIG5繁体中文

  #make

  #make check

  #make install

  #cd configuration-file

  #chmod u+x pure-config.pl

  #cp pure-config.pl /usr/local/sbin/

  #cp pure-ftpd.conf /usr/local/etc/

  #cd /usr/local/pureftpd

  #mkdir etc ---------------->>我安装后,在/usr/local/pureftpd目录下面并没有etc目录,我自己建立了一个,后面会用到

  至此,pureftpd安装基本完成

  三:安装pureftpd_php_manager

  #unzip pureftpd_php_manager.zip

  #cd pureftpd_php_manager

  #mv pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf

  #cd ..

  #cp -R pureftpd_php_manager /www/roby/pureftpd_php_manager --------->>/www/roby/是我的apache DocumentRoot

  四:建库

  #mysql -p

  mysql>create database pureftpd;

  mysql>use pureftpd;

  mysql> 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;

  ok 已经建立完毕

  我们再来建立一个帐号

  mysql>grant all on pureftpd.* to pureftpd@localhost identified by '123456';

  ok 我建立了一个帐号为pureftpd 密码为123456

  五:编辑

  1.首先我们来编辑 /www/roby/pureftpd_php_manager/pureftp.config.php

  我只说最关键的几项

  $PUREFTP_CONFIG_FILE = '/usr/local/etc/pureftpd-mysql.conf';

  $FTP_WHO = "/usr/local/sbin/pure-ftpwho";

  其他的暂时别管

  2.我们来编辑最重要的文件 /usr/local/etc/pure-ftpd.conf

  这里我暂时只改最重要的几项,详细介绍请看文中最后所提到的参考资料,那里会有详细的介绍

  毕竟我们现在最需要的只是让pureftpd工作起来

  MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf

  PureDB /usr/local/pureftpd/etc/pureftpd.pdb

  3.我们来编辑 /usr/local/etc/pureftpd-mysql.conf

  MYSQLUser pureftpd

  MYSQLPassword 123456

  MYSQLDatabase pureftpd

  关键是上面这三项

  六:再系统中增加一个用户合组,为后面的 Virtual-Users 做准备

  #groupadd ftpusers

  #useradd ftpusers -g ftpusers

  这样我们便建立一个ftpusers组和一个ftpusers 用户

  七:通过pure-pw来增加用户

  #cd /usr/local/pureftpd/bin

  #./pure-pw useradd user1 -u ftpusers -d /home/ftpusers

  ok 这样一个ftp帐号 user1就建立好了

  现在只要启动pureftpd就可以通过帐号 user1来访问ftp了,主目录我这里用的就是 /home/ftpusers

  八:启动

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

  现在已经用在 七和九建立的帐号来访问ftp了

  九:通过pureftpd_php_manager来增加用户

  再mozilla中

  打开

  http://localhost/pureftpd_php_manager/index.php

  下面就很简单了

  记得要active哟

  注意:由于我在编辑 /usr/local/etc/pureftpd-mysql.conf的时候

  并没有指定

  $DefaultUid

  $DefaultGid

  $DefaultDir

  因此在建立帐号的时候就自己指定吧

  整个过程就大致如此了,欢迎各位朋友指正

  下面我来简单谈下如何在pureftpd中设置权限的问题(方法很菜也很笨,期待各位指点)

  一:如果设置多个帐号对同一个目录有不同的权限

  1:首先在自己的linux系统中有两个帐号和组,分别为roby1 roby2

  #groupadd roby1

  #useradd roby1 -g roby1

  #useradd roby12 -g roby1

  建立了一个组roby1 两个用户roby1 roby12

  #groupadd roby2

  #useradd roby2 -g roby2

  建立了一个组roby2 一个用户roby2

  2:在/home下建立一个目录ftp

  #mkdir /home/ftp

  3:通过http://localhost/pureftpd_php_manag...p来建立三个帐号 ftp1 ftp2 ftp3

  让ftp1有可下载可上传的权限

  让ftp2有可下载的权限

  让ftp3无下载权限

  在建立帐号的时候

  ftp1 uid 为 roby1 gid 为roby1 dir 为 /home/ftp

  ftp2 uid 为 roby12 gid 为roby1 dir 为 /home/ftp

  ftp3 uid 为 roby2 gid 为roby2 dir 为 /home/ftp

  4:设置权限

  其实要让ftp1 ftp2 ftp3有不同的权限,就是让 roby1 roby12 roby2对/home/ftp有不同的权限

  首先 #chown -R roby1:roby1 /home/ftp -------->>这样 /home/ftp 的拥有者为 roby1

  #chmod 755 /home/ftp

  #cd /home/ftp

  #chmod -R 751 *

  ok,现在一切搞定

  注意:如果说在/home/ftp下面还有目录,那么由于在 #chmod -R 751 * 这个命令中,会导致 roby2 对 下面的子目录没有 r权限,而一个用户对一个目录没有r权限那么是看不到目录下面的文件的,此时就需要你自己手工让roby2对这个目录付予r权限

  后话:感觉pureftpd是个非常不错的软件,就是在文件权限设置上稍微有点不足,当然我对pureftpd也才刚刚接触,还没有完全了解它的强大功能,期待着与大家多多交流

  参考资料

  1:Netkiller(陈景峰)兄的大作 Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To (第二版) 写的很详细,强烈推荐

  http://home.9812.net/linux/article/...pu
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,