Pure-FTPd的应用
Pure-FTPd 是一款免费(BSD)的,安全的,高质量和符合标准的FTP服务器。 侧重于运行效率和易用性。 它提供了简单的答案,他满足了大众化的需求,包括普通用户以及主机供应商们。
1、由于pure-ftp是可以通过web的方式管理的且基于php 所以必须先搭建:LAMP环境
这里就用yum的方式安装所需包
yum install php mysql mysql-server httpd mysql-devel php-mysql -y
启动mysql
service mysqld start
chkconfig mysqld on 开机启动
对mysql进行简单的安全设置
mysqladmin -u root -p password "123456" 设置管理mysql的用户名和密码
service httpd start 启动httpd
chkconfig httpd on 开机启动
测试apache能否调用php
Vim /var/www/http/index.php
<?php
Phpinfo();
?>
正常
测试php能否调用mysql
Vim /var/www/http/index.php
<?php
$link=mysql_connect('127.0.0.1','root','123456');
if($link)
echo "ok";
else
echo "no";
?>
LAMP环境已经搭建好了
3、开始源码安装pure-ftp (用源码安装指定参数使支持mysql)
先将下列文件上传到服务器
PureAdmin-0.3.tar.gz
pure-ftpd-1.0.36.tar.gz
pureftpd-mysql.conf
pureftp.sql
webpureftp0.1.tar.gz
ZendOptimizer-3.3.3-linux-hicode.tar.gz
(1)解包
tar -zvxf pure-ftpd-1.0.36.tar.gz -C /usr/local/src/
cd /usr/local/src/pure-ftpd-1.0.36
(2)安装
./configure \
--prefix=/usr/local/pureftpd \ //安装路径 下面都是一些支持
--with-mysql \
--with-shadow \
--with-pam \
--with-welcomemsg \
--with-uploadscript \
--with-cookie \
--with-virtualchroot \
--with-virtualhosts \
--with-diraliases \
--with-quotas \
--with-puredb \
--with-sysquotas \
--with-ratios \
--with-ftpwho \
--with-throttling \
--with-language=simplified-chinese
make
make install
(3)生成pure-ftpd的服务脚本
cd /usr/local/src/pure-ftpd-1.0.36/configuration-file/
chmod a+x pure-config.pl --添加可执行权限
cp pure-config.pl /usr/local/pureftpd/sbin/
mkdir /usr/local/pureftpd/etc --创建一个存放配置问价的目录
cp pure-ftpd.conf /usr/local/pureftpd/etc/ --将主配置文件拷贝到这里
(4)生成pure-ftpd的服务
cd /usr/local/src/pure-ftpd-1.0.36/contrib/
chmod a+x redhat.init
cp redhat.init /etc/init.d/pureftpd
Vim puteftpd 修改如下:
启动pureftpd
service pureftpd start
chkconfig --add pureftpd
(5)配置匿名用户登录环境
编辑 vim /usr/local/pureftpd/etc/pure-ftpd.conf
其中有几项要修改:
chrootEveryone yes 限定在自己的家目录
NoAnonymous yes 不允许匿名登录
Bind 127.0.0.1,21 监听本机回环 <可选>
Bind 192.168.0.254,21 监听本机IP <自行添加的,非必须>
CreateHomeDir yes 允许用户登录后自动创建家目录 <必须>
配置虚拟用户登录环境
[root@localhost /]# mkdir /ftp --创建ftp的根目录
[root@localhost /]# chmod 777 /ftp
useradd -d /ftp -s /sbin/nologin -M v_ftp --创建接下来的虚拟用户对应的系统用户
[root@localhost /]# chown v_ftp.v_ftp /ftp/
设置环境变量
echo "PATH=$PATH:/usr/local/pureftpd/bin" >> /etc/profile
/etc/profile 为环境变量文件
. /etc/profile 立即生效使
导入数据到mysql(pureftp.sql为下载好的数据文件)
先查看一下
less pureftp.sql
注意其中的
22 -- Login = ftp 此为登录数据库的用户
23 -- Password = tmppasswd 此为登录数据库的密码 这里改为zzx
31 CREATE DATABASE ftpusers; 创建名为ftpusers的库
50 INSERT INTO admin VALUES ('admin',MD5('passwd')); 此为登录web用的用户密码,可自行修改 这里改为MD5('123')
<导入数据,导入前可能需要修改此sql文件的15行:前2个减号空一格-- ------------------------------------------------------->
输入密码就导入成功了
然后再用root登录mysql,执行
mysql> grant all privileges on ftpusers.* to ftp@localhost identified by "zzx" ;
mysql> flush privileges;
mysql>quit;
[root@localhost pureftp]# mysql -u ftp -p 用ftp登录测试
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> use ftpusers;
Database changed
mysql> show tables;
+--------------------+
| Tables_in_ftpusers |
+--------------------+
| admin |
| users |
+--------------------+
mysql> select * from admin;
+----------+----------------------------------+
| Username | Password |
+----------+----------------------------------+
| admin | 202cb962ac59075b964b07152d234b70 |
+----------+----------------------------------+
1 row in set (0.00 sec)
mysql> quit
用mysql认证
cp pureftpd-mysql.conf /usr/local/pureftpd/etc/ 将接口文件pureftpd-mysql.conf拷贝到这里
编辑vim /usr/local/pureftpd/etc/pure-ftpd.conf 开启116行并指明路径如下:
116 MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf
编辑接口文件pureftpd-mysql.conf
vi pureftpd-mysql.conf
修改如下:
MYSQLUser ftp
MYSQLPassword zzx
MYSQLDatabase ftpusers
MYSQLCrypt md5
解压缩PureAdmin-0.3.tar.gz
tar -zxvf PureAdmin-0.3.tar.gz
mv PureAdmin-0.3 /var/www/html/pureadmin
cd /var/www/html/pureadmin/
vi config.php 如下:
<?php
$cfg['dbhost']='localhost'; //mysql host
$cfg['dbname']='ftpusers'; //mysql db name 所用的库<与前面导入的sql中要一致>
$cfg['dbuser']='ftp'; //mysql user 登录mysql的帐号
$cfg['dbpasswd']='zzx'; //mysql password 登录mysql的密码
//ftp config
$cfg['page']=10; 每页显示的用户数量
//ftp passwd type : TEXT/CRYPT/MD5
$cfg['passwdtype']='MD5'; 认证模式<要与pureftpd-mysql.conf中一致>
//ftp default
$cfg['uid']=500; //uid 映射虚拟用户的UID,即刚创建的virtualftp用户
$cfg['gid']=500; //gid 同上
$cfg['dir']='/ftproot/'; //dir 默认家目录
$cfg['qf']=0; //quotafiles 文件个数限制,0为不限制
$cfg['qs']=100; //quotasize 总文件大小
$cfg['ul']=0; //ULBandwidth 上传速率限制
$cfg['dl']=1000; //DLBandwidth 下载速率限制
$cfg['ur']=0; //ULRatio 上传比
$cfg['dr']=0; //DLRatio 下载比
$cfg['status']=1; //status 状态,1为激活;0为禁止
$cfg['ip']= '*'; //ipaddress 可访问IP,*为所有
重启pureftpd 、mysqld
浏览器登录
输入用户名admin 和密码 123登录
新建一个用户
用user1登录
登录成功后会在/ftp/目录下自动新建一个user1的目录,这就是user1的ftp根目录
在user1目录里你可以上传、下载、删除、重命名等
通过web的方式管理ftp服务器,很方便!!!!
本文出自 “蜘蛛侠” 博客,转载请与作者联系!