pureftpd+mysql+pureftpd_php_manager 安装笔记

原创 2004年09月08日 11:06:00
这几日我一直在配自己的rh9
在安装pureftpd+mysql遇到了不少困难
今天总算大致让pureftpd工作了
因此就写下这个笔记
权当灌水 icon_biggrin.gif
欢迎各位朋友与我共同探讨论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中
打开
[url]http://localhost/pureftpd_php_manager/index.php[/url]
下面就很简单了
记得要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:通过[url]http://localhost/pureftpd_php_manager/index.php[/url] 来建立三个帐号 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权限

补充一点:大家可以结合chattr +i 来设置文件目录属性


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

参考资料
1:Netkiller(陈景峰)兄的大作 Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To (第二版) 写的很详细,强烈推荐
http://home.9812.net/linux/article/pureftpd/pureftpd_II.htm

2:nicosoft兄的 pureftpd+mysql+quota+pureftpd_php_manager实例安装 (整个安装过程主要参考此文,在此表示感谢)
http://www.chinaunix.net/jh/15/89642.html

ubuntu16.04 安装为知笔记

ubuntu 安装为知笔记目录ubuntu 安装为知笔记 目录 简介 安装git 安装cc编译工具 安装Cmake 安装zlib 安装Qt Clone为知笔记源代码 编译源代码 运行Qt 打开WizT...
  • a87768092
  • a87768092
  • 2017年01月10日 11:38
  • 3297

Linux系统使用--Ubuntu 16.04 安装为知笔记

一、前言为了测试MetaWebBlog协议在为知笔记的使用情况,需要安装为知笔记。二、准备工具和环境搭建2.1 准备工具安装Linux版的为知笔记需要准备很多必要的工具,现列表如下:1. Qt下载 ...
  • qq_33429968
  • qq_33429968
  • 2017年03月24日 17:30
  • 2090

在 Ubuntu 16.04 中 安装为知笔记

摘要:本文讲述如何在 Ubuntu 16.04 中编译安装为知笔记。
  • u011642663
  • u011642663
  • 2017年06月21日 22:00
  • 390

OpenCV学习笔记(0x00) OpenCV的安装与配置

首先,先说明一下什么是OpenCV?我为什么要学习OpenCV? OpenCV的全称是:Open Source Computer Vision Library . (我发现对于一个英文缩写知道它的全...
  • SFQRM
  • SFQRM
  • 2016年10月09日 10:40
  • 260

linux学习笔记

grep -v ^# xxxx  查看不以#开头(非注释)的内容 查找语句:find,locate,which,whereis,grep 压缩命令:tar,gz,zip,br2 压缩:tar -...
  • sd2131512
  • sd2131512
  • 2014年11月03日 21:19
  • 519

Gentoo安装笔记

我想在自己的Macbook上搞套开发环境,但比如Mysql之类的软件不想安装在Macbook的系统里,于是就想虚拟一个系统作为服务器。Gentoo官方的文档已经非常详细,信息量巨大,如果你肯专研,那么...
  • jashawn
  • jashawn
  • 2016年09月04日 10:56
  • 171

Fuel安装笔记-搭建openstack环境流程

1.1 前言 在《Fuel安装笔记-初探Fuel》一文中介绍了Fuel Server安装过程,并对Fuel安装openstack进行了初步的了解,遗憾的是当时并没有成功的安装完成openstack环境...
  • sxmatch
  • sxmatch
  • 2014年01月07日 09:18
  • 5047

OGG学习笔记02-单向复制配置实例

OGG学习笔记02-单向复制配置实例 实验环境: 源端:192.168.1.30,Oracle 10.2.0.5 单实例 目标端:192.168.1.31,Oracle 10.2.0.5 单...
  • tCDPYh6sA3
  • tCDPYh6sA3
  • 2017年03月09日 14:52
  • 158

C白白的游戏服务器开发笔记:安装linux虚拟机

一个游戏客户端程序员,但是有了一颗做一个服务器的心,于是便决定利用业余时间开发一款游戏服务器。经过3个月的无休无眠之后,终于写出了一个分布式java游戏服务器,并且和另一个客户端程序员合作,实现了德州...
  • webuse
  • webuse
  • 2017年06月11日 10:54
  • 150

使用Linux版印象笔记nixnote2

Edit 使用Linux版印象笔记nixnote2 厌倦了windows10,最近一直使用ubuntu系统,其他都还好,就是我使用的笔记软件印象笔记只有网页版使用不方便。看到有非官...
  • u013401853
  • u013401853
  • 2017年03月26日 00:26
  • 3342
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pureftpd+mysql+pureftpd_php_manager 安装笔记
举报原因:
原因补充:

(最多只允许输入30个字)