Pure-FTPd的应用

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

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

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

<?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的目录,这就是user1ftp根目录

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

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



本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1095464

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12月前
|
Shell PHP Windows
php的SAPI,CLI SAPI,CGI SAPI
php的SAPI,CLI SAPI,CGI SAPI
|
关系型数据库 MySQL 数据库
|
Linux 数据安全/隐私保护 网络协议
|
缓存 数据安全/隐私保护 存储