Pureftpd 和 mysql 架设FTP服务器
创始人
2024-07-22 00:41:25
0

Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,今天我给大家详细介绍下:Pureftpd 和 mysql 架设FTP服务器的具体过程。

  下载mysql5.1.31 rpm文件和pure-ftpd源码包

  安装mysql5.1.31共享包

  rpm -ivh MySQL-shared-community-5.1.31-0.rhel5.i386.rpm

  编译安装pure-ftpd

 

  1.   #./configure –prefix=/usr/local/pureftpd –with-mysql –with-paranoidmsg –with-welcomemsg –with-uploadscript –with-cookie –with-virtualchroot –with-virtualhosts –with-virtualroot –with-diraliases –with-quotas –with-sysquotas –with-ratios –with-ftpwho –with-throttling  
  2.  
  3.   #make  
  4.  
  5.   #make check  
  6.  
  7.   #make install  

 

  配置pure-ftpd

 

  1.   #cd configuration-file  
  2.  
  3.   #chmod u+x pure-config.pl  
  4.  
  5.   #cp pure-config.pl /usr/local/sbin/  
  6.  
  7.   #cp pure-ftpd.conf /usr/local/etc/  
  8.  
  9.   vi /usr/local/etc/pure-ftpd.conf  

 

  确认以下三项

  ChrootEveryone yes

  MySQLConfigFile /etc/pureftpd-mysql.conf

  CreateHomeDir yes

  为puer-ftpd创建mysql数据库和用户

  CREATE DATABASE pureftpd;

  GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO ‘pureftpd’@'localhost’ IDENTIFIED BY ‘password’;

  FLUSH PRIVILEGES;

  USE pureftpd;

  CREATE TABLE ftpd (

  User varchar(16) NOT NULL default ”,

  status enum(’0′,’1′) NOT NULL default ’0′,

  Password varchar(64) NOT NULL default ”,

  Uid varchar(11) NOT NULL default ‘-1′,

  Gid varchar(11) NOT NULL default ‘-1′,

  Dir varchar(128) NOT NULL default ”,

  ULBandwidth smallint(5) NOT NULL default ’0′,

  DLBandwidth smallint(5) NOT NULL default ’0′,

  comment tinytext NOT NULL,

  ipaccess varchar(15) NOT NULL default ‘*’,

  QuotaSize smallint(5) NOT NULL default ’0′,

  QuotaFiles int(11) NOT NULL default 0,

  PRIMARY KEY (User),

  UNIQUE KEY User (User)

  ) TYPE=MyISAM;

  配置pureftpd-mysql.conf

  vi /etc/pureftpd-mysql.conf

  录入

  MYSQLSocket /tmp/mysql.sock

  #MYSQLServer localhost

  #MYSQLPort 3306

  MYSQLUser pureftpd

  MYSQLPassword password

  MYSQLDatabase pureftpd

  #MYSQLCrypt md5, cleartext, crypt() or password() – md5 is VERY RECOMMENDABLE uppon cleartext

  MYSQLCrypt md5

  MYSQLGetPW SELECT Password FROM ftpd WHERE User=”L” AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MYSQLGetUID SELECT Uid FROM ftpd WHERE User=”L” AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MYSQLGetGID SELECT Gid FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MYSQLGetDir SELECT Dir FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

  MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User=”L”AND status=”1″ AND (ipaccess = “*” OR ipaccess LIKE “R”)

#p#

  各参数注释

  User:用户名

  status:状态 1为激活状态 0为非激活状态

  Password :密码

  Uid:用户系统ID号

  GID:用户组ID号

  ULBandwidth :上传***带宽 单位 KB/S

  DLBandwidth:下载***带宽 单位 KB/S

  comment :注释

  ipaccess :允许访问IP地址

  QuotaSize :磁盘配额总大小 单位MB

  QuotaFiles :允许存放的文件数目个数 0为不限制

  关掉进程

  killall pure-ftpd

  启动服务

  /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf

  为ftp添加用户

  USE pureftpd;

  INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES (‘test’, ’1′, MD5(‘test’), ’60031′, ’60031′, ‘/home/test’, ’128′, ’56′, ”, ‘*’, ’100′, ’0′);

  即可用数据库里的用户和密码登陆ftp

  将pureftpd加载为系统服务

  vi /etc/init.d/pureftpd

  录入

 

  1.   #!/bin/bash  
  2.  
  3.   # chkconfig: 35 95 1  
  4.  
  5.   # description: script to start/stop pureftpd  

 

  case $1 in

  start)

  /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf

  ;;

  stop)

  killall pure-ftpd

  ;;

  *)

  echo “Usage: $0 (start|stop)”

  ;;

  esac

  更改权限

  # chmod 775 pureftpd

  加入自动启动

  # chkconfig –add pureftpd

  查看自动启动设置

  # chkconfig –list pureftpd

  pureftpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off

  以后可以用以下命令启动和停止脚本

  # service pureftpd start 启动

  # service pureftpd stop 停止

  启动和停止mysql服务

  #service mysql start

  #service mysql stop

  若无法上传文件,设置ftp文件夹权限

  chmod -R 777 /data0/htdocs

通过文章的介绍和分析,我们可以清楚的知道利用Pureftpd 和 mysql 架设FTP服务器的详细过程。希望本文对大家有所帮助!

【编辑推荐】

  1. Debian5 LNMP编译安装pureftpd手册
  2. pureftpd ubuntu配置指南
  3. ubuntu 下 Pureftpd 常用配置
  4. Pureftpd攻略之启动篇
  5. Lnmp之Pureftpd管理面板安装教程(图文)
  6. Pureftpd.conf的设定
  7. vsFTPd 服务器初学者精通手册

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...