文档章节

CentOS6.5下pureftpd安装部署

郑光宗
 郑光宗
发布于 2015/07/27 11:27
字数 1241
阅读 87
收藏 0

1.在阿里云RDS上面创建FTP账户和FTP数据库

1.1 创建ftp数据库

1.2创建ftp数据库表

创建表

CREATE TABLE `admin` (

  `Username` varchar(35) NOT NULL default '',

  `Password` char(32) character set latin1 collate latin1_bin NOT NULL default '',

  PRIMARY KEY  (`Username`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

设置管理员用户

INSERT INTO admin VALUES ('Admin',MD5('ABC601*op'));

 

创建用户信息表

CREATE TABLE `users` (

  `User` varchar(16) NOT NULL default '',

  `Password` varchar(32) character set latin1 collate latin1_bin NOT NULL default '',

  `Uid` int(11) NOT NULL default '14',

  `Gid` int(11) NOT NULL default '5',

  `Dir` varchar(128) NOT NULL default '',

  `QuotaFiles` int(10) NOT NULL default '500',

  `QuotaSize` int(10) NOT NULL default '30',

  `ULBandwidth` int(10) NOT NULL default '80',

  `DLBandwidth` int(10) NOT NULL default '80',

  `Ipaddress` varchar(15) NOT NULL default '*',

  `Comment` tinytext,

  `Status` enum('0','1') NOT NULL default '1',

  `ULRatio` smallint(5) NOT NULL default '1',

  `DLRatio` smallint(5) NOT NULL default '1',

  PRIMARY KEY  (`User`),

  UNIQUE KEY `User` (`User`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

数据表说明:

User:帐号名;

status:0 表示帐号被禁用,无法登录服务器;

Password:密码,使用MD5加密;

Uid:前面创建的ftpuser帐户号,我们填写的是2001;

Gid:前面创建的ftpgroup组号,我们填写的是2001;

Dir:虚拟用户的个人目录路径,将在/home下创建(第一次登录);

ULBandwidth:上传文件限制速度,KB/s,0为不限制;

DLBandwidth:下载文件限制速度,KB/s,0为不限制;

comment:备注信息;

ipaccess:* 表示任意IP都可以访问此ftp服务器,输入具体IP地址可以只允许此IP连接服务器;

QuotaSize:用户磁盘空间分配,单位:MB,0表示不加限制;

QuotaFiles:用户可以保存的文件数量限制,0表示不加限制。

设置用户

INSERT INTO `users` VALUES  ('gaoh1',md5('nmc601'),1000,100,'/mnt/oss/ftpdata/t1',100,100,10240,10240,'*','','1',0,0);

创建FTP用户和目录

ECS服务器创建FTP用户

useradd -u 1000  ftpd

 

创建目录

mkdir /usr/local/ftpd

chown -R ftpd:ftp /usr/local/ftpd/

安装pureftpd

3.1 上传、解压安装pureftpd

上传pure-ftpd-1.0.36.tar.gz 压缩包到服务器/home/ok目录下

解压

tar -zxvf  pure-ftpd-1.0.36.tar.gz 

进入解压后的目录下:

cd pure-ftpd-1.0.36

#使用这个安装,先安装mysql,防止报错

yum install mysql-devel

./configure --prefix=/usr/local/pureftpd  --with-mysql --with-paranoidmsg  --with-shadow --with-welcomemsg --with-uploadscript --with-quotas --with-cookie  --with-virtualhosts --with-diraliases --with-sysquotas --with-ratios --with-ftpwho --with-throttling --with-language=simplified-chinese

PureFTPd有很多的编译配置选项,下面就列出部分主要的配置

–prefix =PREFIX         安装路径

–with-sysquotas        使用系统磁盘配额 ( 非虚拟)

–with-altlog                支持选择日志格式( 类似Apache)

–with-puredb             支持虚拟用户 ( FTP登陆用户而非系统用户)

–with-extauth            支持扩展验证模块

–with-pam                  启用PAM验证支持 ( 默认=禁用)

–with-cookie              启用Cookie支持 ( -F 选项)

–with-throttling        支持带宽控制 ( 默认=禁用)

–with-ratios                支持 上传/ 下载 速度控制

–with-quotas             支持 .ftpquota 文件(指定磁盘配额使用)

–with-ftpwho            支持pure-ftpwho(查看在线用户的程序)

–with-largefile           支持大于2G的文件

–with-welcomemsg       支持 welcome.msg 向后兼容(已经过时)

–with-uploadscript         上传后允许执行外部脚本 ( 测试阶段)

–with-virtualhosts          在不同的IP地址提供虚拟服务器功能

–with-virtualchroot       允许在chroot 的环境下通过符合连接跳转到外部

–with-diraliases              启用目录别名

–with-nonroot                普通模式或者说是限制模式. 如果你在该服务器上没有root权限那只有启用该项

–with-peruserlimits    支持每个用户的并发限制

–with-language =        语言支持< english | traditional-chinese | simplified-chinese>

–with-ldap             在LDAP目录中提供用户数据库

–with-mysql            在MySQL数据库中存放用户数据

–with-pgsql            在PostgreSQL数据库中存放用户数据

 

make

make install 

mkdir -p  /usr/local/pureftpd/etc

cp pureftpd-mysql.conf /usr/local/pureftpd/etc/

 

cd configuration-file

cp pure-config.pl /usr/local/pureftpd/sbin/

cp pure-ftpd.conf  /usr/local/pureftpd/etc/

 

cd /usr/local/pureftpd/sbin/

chmod 755 pure-config.pl

 

3.2 修改pure-ftpd.conf配置文件

vi /usr/local/pureftpd/etc/pure-ftpd.conf

 

Cage in every user in his home directory

限制每个用户到自己的根目录

ChrootEveryone              yes

# Disallow anonymous connections. Only allow authenticated users.

取消anonymous用户

NoAnonymous                 yes

# MySQL configuration file (see README.MySQL)

# pureftpd-mysql.conf文件的位置

MySQLConfigFile   /usr/local/pureftpd/etc/pureftpd-mysql.conf

CreateHomeDir               yes

 

3.3 修改pureftpd-mysql.conf配置文件

vi /usr/local/pureftpd/etc/pureftpd-mysql.conf

 

MYSQLServer     mysql数据库地址

MYSQLUser       ftp用户名

MYSQLPassword   ftp密码

#密码在数据表中的存储方式,这里选择md5加密

MYSQLCrypt      md5

MYSQLSocket     /temp/mysql.sock 

 

 

3.4 pureftpd日志设定

mkdir  -p  /usr/local/pureftpd/log

vi /etc/rsyslog.conf 

在这行的cron.none后面添加 ;ftp.none 使ftp的日志信息成私有

*.info;mail.none;authpriv.none;cron.none  /var/log/messages

变为:

*.info;mail.none;authpriv.none;cron.none;ftp.none    /var/log/messages

/etc/syslog.conf文件最后加上pureftpd日志(centos6/etc/syslog.conf不再有!而是/etc/rsyslog.conf代替!)

#pureftp日志

ftp.*        -/usr/local/pureftpd/log/pureftpd.log

注意不要去掉/usr前面的-,否则日志会在/var/log/messagesusr/local/pureftpd/log/purefpd.log里各记录一份添加了-,就只会记录在usr/local/pureftpd/log/purefptd.log

重启rsyslog服务

service rsyslog restart

 

3.5 FTP启动测试

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

 

测试:

在浏览器地址栏输入ftp://gaoh1:nmc601@服务器IP地址/,如果能看到对应的目录和文件,则说明pureftpd安装部署成功。

© 著作权归作者所有

共有 人打赏支持
郑光宗
粉丝 20
博文 117
码字总数 148900
作品 0
海淀
程序员
私信 提问
pureftpd+mysql+quota+pureftpd_php_manager实例安装

最近在做个免费申请主页系统,apache+php+mysql+ftpd 一开始用proftpd,但是感觉不是很理想,所以就改成了 pureftpd。看到现在pureftpd的安装文档不多,故将配置 的基本过程写下,以供同好。 ...

zt371
2009/05/06
1K
0
在FreeBSD下安装PURE-FTPD [原创] (抛砖引玉,献丑了)

在FreeBSD下安装PURE-FTPD [原创] 作者: wandering E-mail: [email]wandering_997@yahoo.com[/email] 原链接: http://wandering997.yculblog.com/post.1063821.html http://www.pureftpd.or......

zt371
2009/05/06
735
0
LNMPA(LNMP0.7)安装出现502 Bad Gateway解决方法

LNMPA是什么? 简单的说就是Linux+Nginx+MySql+PHP+Apache怎么会用这种构架? Nginx和Apache都是搭建网站服务器的,怎么两个都装了,那怎么办啊?是这样的。Nginx作为前段服务器处理静态请求...

durban
2012/02/20
0
0
RHEL5下mysql与pureftpd结合但ftp不能登陆?

mysql安装成功,安装目录/usr/local/mysq purftpd安装成功,安装目录/usr/local/pureftpd pure-ftpd.conf和pureftpd-mysql.conf放在/usr/local/pureftpd/etc下,但有人说是放在/usr/local/et...

hywpinbo
2011/10/10
618
0
LNMP一键安装包 0.8 发布

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。 LNMPA是在LNMP的基础上产生...

小编辑
2011/12/14
2.4K
4

没有更多内容

加载失败,请刷新页面

加载更多

取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
48分钟前
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
48分钟前
2
0
YII2的乐观锁和悲观锁

乐观锁与悲观锁¶ Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。 在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrep...

echojson
55分钟前
2
0
UCOS线程切换原理

黑客画家
今天
3
0
最牛Java架构师进阶路线(年薪80W)

1、源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其...

别打我会飞
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部