Pureftp
安全的,高质量和符合标准的FTP服务器。侧重于运行效率和易用性。
支持web方式访问,管理,
支持虚拟账号访问,提高访问的安全性
由上图可以看到我们需要LAMP环境,我们之前的博客已经有介绍所以不在啰嗦,直奔主题。
1.下载pureftp的源码包,然后拆解安装
tar-zxvfpure-ftpd-1.0.36.tar.gz-C/usr/local/src/
然后开始编译
《注》编译的一些参数:
然后开始安装
Makemakeinstall
2.安装完成后我们查看一下他安装成功时候的系统配置文件,
但是当我们进去查看的时候发现没有etc这个目录,所以我们自己创建一个目录
Mkdiretc
3.创建完毕后我们创建配置,控制文件
大家要记住这个规律,一般来说源码安装的软件,它的配置文件大多数都在它的源码目录里面
大家可以看到上图的文件,pure-config.pl能控制pureftp的启动但是它不是一个可执行脚本,所以它仅仅有启动的功能,不是控制脚本,而pure-ftpd.conf则是配置文件,所以我们将这两个文件拷贝到pureftp的安装目录下对应的文件,并添加相应的权限
[root@localhostconfiguration-file]#cppure-ftpd.conf/usr/local/pureftpd/etc/
然后查找控制脚本
同样在源码目录里面找到了控制文件,当然如果我们不知道它在哪儿的话可以查找start或stop这些关键词函数,这样就可以确定谁才是控制文件了
列如:Grepstart*
然后我们将控制文件拷贝到/etc/init.d目录下面加上权限
然后我们查看一下控制文件里面的一些参数是否正确
我们看到有几处错误,然后我们将其修改
然后尝试启动并将其加入开机启动
4.为了我们可以使用虚拟账号登陆,我们需要将数据写入数据库,创建映射,数据表之类的,所以我们创建数据库,不过我们这里已经有了一个,所以只用导入即可。
5.导入数据库后,我们个ftp用户授予权限使其能进行增删改查。
7.接下来就是pureftp和mysql的连接的接口文件了;
这里俺就直接给您提供了他们的连接文件,所以只用拷贝到mysql的etc目录下就ok
[root@localhostpureftp]#cppureftpd-mysql.conf/usr/local/pureftpd/etc/
8.然后配置连接配置文件的参数
MYSQLSocket/tmp/mysql.sock
MYSQLUserftp
MYSQLPasswordtmppasswd
MYSQLDatabaseftpusers
MYSQLCryptmd5
9.然后我们要去修该配置文件,从而让它能够知道去调用这个接口文件;
当用户登录的时候需要有自己的家目录,所以我们需要将自动创建家目录的那行打开
还有就是当用户登录的时候肯定会有一个映射关系,这个映射关系我们将它放到一个特定的文件里面如下《下面会用到》
注意:匿名登陆时候需要创建匿名登陆的默认文件夹/var/ftp
我们查看一下结构图,那我们就需要做页面管理了
我们将其做成网站的形式,,我们用的压缩包里面就是一些页面,所以直接将其解压并放到apache的htdocs目录下面
PureAdmin-0.3.tar.gz
Tar-zxvfPureAdmin-0.3.tar.gz
MvPureAdmin-0.3./usr/local/apache/htdocs/pureadmin
由于在我们创建的网站里面需要有注册,等功能,所以需要连接数据库
所以我们在配置文档里面指明
vim/usr/local/apache/htdocs/pureadmin/config.php
mkdir/ftproot
这样我们就试着去登陆一下,试着管理
创建用户
这样创建时没问题啦,不过是不能登陆的,因为我们虽然注册了,但是这只是个虚拟账号,必须将其映射到本地账号才能登陆,那这样我们就先建立一个本地用户,然后将虚拟用户映射到本地用户即可。
首先创建一个本地用户
useraddvirtualftp-s/sbin/nologin-d/ftproot/不赋予它登陆权限
chownvirtualftp.virtualftp/ftproot/修改所有者权限
chmod-R777/ftproot/递归修改权限
然后配置映射
1.首先创建一个映射
创建映射我们需要pureftp自己产生的一个工具pure-pw
2.创建数据库,用于存放映射关系
[root@localhostbin]#./pure-pwmkdb/usr/local/pureftpd/pureftpd.pdb
然后我们去尝试登陆
家目录里面有了虚拟账号的家目录。
成功
如果大家需要安装时候的一些源码包,可以在这里下载http://down.51cto.com/data/804993