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  开机启动

Pure-FTPd的应用_第1张图片

mysql进行简单的安全设置

mysqladmin -u root -p password "123456" 设置管理mysql的用户名和密码

service httpd start  启动httpd

chkconfig httpd on  开机启动

测试apache能否调用php

Vim  /var/www/http/index.php

Phpinfo();

?>

Pure-FTPd的应用_第2张图片

正常

测试php能否调用mysql

Vim  /var/www/http/index.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  修改如下:

Pure-FTPd的应用_第3张图片

启动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  立即生效使

导入数据到mysqlpureftp.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   如下:

$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

浏览器登录

Pure-FTPd的应用_第4张图片

输入用户名admin 和密码 123登录

Pure-FTPd的应用_第5张图片

新建一个用户

Pure-FTPd的应用_第6张图片

Pure-FTPd的应用_第7张图片

user1登录

Pure-FTPd的应用_第8张图片

登录成功后会在/ftp/目录下自动新建一个user1的目录,这就是user1ftp根目录

user1目录里你可以上传、下载、删除、重命名等

通过web的方式管理ftp服务器,很方便!!!!