这几日我一直在配自己的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/...pureftpd_II.htm
2:nicosoft兄的 pureftpd+mysql+quota+pureftpd_php_manager实例安装 (整个安装过程主要参考此文,在此表示感谢)
http://www.chinaunix.net/jh/15/89642.html