Pure-FTPd 是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器。其源代码被编译并运行于 Linux, OpenBSD, NetBSD, FreeBSD, Solaris, Tru64, Darwin, Irix, HPUX, AIX 以及 iPhone上,侧重于运行效率和易用性。 它提供了简单的答案,为大众化的ftp提供了很好的解决方案。
一、LAMP环境的搭建。
关于LAMP环境的搭建,前面已经有过详细的介绍,限于篇幅,这里不再赘述。如有问题,敬请参考http://iceblock.blog.51cto.com/6758400/1191757
二、软件包的安装和配置
1.编译、配置pure-ftp
[root@localhost ~]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/pure-ftpd-1.0.36/
[root@localhost pure-ftpd-1.0.36]# ./configure \
> --prefix=/usr/local/pureftpd \ 安装目录
> --with-mysql \ 和mysql数据库结合
> --with-shadow \ 身份验证
> --with-pam \
> --with-welcomemsg \ 欢迎信息
> --with-uploadscript \ 支持上传过程中使用script脚本
> --with-cookie \ 允许cookie
> --with-virtualchroot \
> --with-virtualhosts \
> --with-diraliases \ 支持目录别名
> --with-quotas \ 配额限制
> --with-puredb \
> --with-sysquotas \
> --with-ratios \ 速率限制
> --with-ftpwho \
> --with-throttling \ 支持域值
> --with-language=simplified-chinese 语言
[root@localhost pure-ftpd-1.0.36]#make
[root@localhost pure-ftpd-1.0.36]#make install
[root@localhost pure-ftpd-1.0.36]# cd /usr/local/pureftpd/
[root@localhost pureftpd]# mkdir etc
[root@localhost pureftpd]#cd /usr/local/src/pure-ftpd-1.0.36/configuration-file
[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/
[root@localhost configuration-file]# chmod a+x /usr/local/pureftpd/sbin/pure-config.pl
[root@localhost configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/ 配置文件
[root@localhost configuration-file]# cd /usr/local/src/pure-ftpd-1.0.36/contrib
[root@localhost contrib]# cp redhat.init /etc/init.d/pureftpd 启动脚本
[root@localhost contrib]# chmod a+x /etc/init.d/pureftpd
[root@localhost contrib]#vim /etc/init.d/pureftpd
[root@localhost contrib]# chkconfig --add pureftpd on
[root@localhost contrib]# chkconfig pureftpd on 添加开机启动
[root@localhost contrib]# netstat -tupln |grep 21 查看21端口启动状况
[root@localhost contrib]# cd
2.导入pureftp.sql文件
[root@localhost ~]# vim pureftp.sql
由于mysql5.5之后不支持TYPE=MyISAM类型,需要做以下修改
[root@localhost ~]# mysql -u root -p <pureftp.sql 把pureftp.sql导入到msql中
输入密码123
[root@localhost ~]# mysql -u root �Cp 进入mysql 查看导入状态
mysql> use mysql;
Database changed
mysql> show tables;
mysql> select * from user; 我们导入的ftp帐号和密码
mysql> use ftpusers;
mysql> show tables;
mysql> select * from admin;
mysql> grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd'; 授权ftp账户
mysql> flush privileges; 刷新授权
3.pureftpd和mysql结合
[root@localhost ~]# cp pureftpd-mysql.conf /usr/local/pureftpd/etc/
[root@localhost ~]# cd /usr/local/pureftpd/etc/
[root@localhost etc]# vim pureftpd-mysql.conf
[root@localhost etc]# vim pure-ftpd.conf 指明pureftpd和mysql的结合文件路径
映射虚拟账号
4.PureAdmin的配置安装
[root@localhost etc]# cd
[root@localhost ~]# tar -zxvf PureAdmin-0.3.tar.gz -C /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# mv PureAdmin-0.3 pureadmin
[root@localhost html]# cd pureadmin/
[root@localhost pureadmin]# vim config.php 编辑pureadmin的配置文件
[root@localhost pureadmin]# useradd virtualftp -s /sbin/nologin -d /ftproot
[root@localhost pureadmin]# chown virtualftp.virtualftp /ftproot/
[root@localhost pureadmin]# chmod -R 777 /ftproot/
浏览器地址栏输入http://192.168.10.129(本机地址)
输入用户名root密码123登录
查看ftp用户
5.建立本地账号与虚拟账号的映射关系
[root@localhost pureadmin]# cd /usr/local/pureftpd/etc
[root@localhost etc]# /usr/local/pureftpd/bin/pure-pw useradd user1 -u virtualftp -g virtualftp -d /ftproot/user1 �Cm
[root@localhost etc]# /usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/pureftpf.pdb
三、测试
[root@localhost etc]# mysql -u root �Cp
mysql> show databases;
mysql> use ftpusers;
mysql> show tables;
mysql> select * from users;
ftp帐号登录
user2通过ftp登陆后自动产生家目录
user2通过浏览器方式登录ftp