Skip to main content

CentOS7下编译安装pure-ftpd+mysql 认证

pure-ftpd,一个很好用的ftp服务端。可以和mysql整合,通过mysql建立和验证帐户,并实现流量限制、磁盘配额限制等功能。这就说明,可以通过自己开发的PHP程序来实现Web管理。其它的功能,大家可以到官网上去看。

1、需要安装以下支持

sudo rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm
yum install –y mysql-community-devel
yum install –y pam-devel libargon2-devel argon2

2、下载pure-ftpd最新的源码,解压进入源码目录

wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.50.tar.gz

解压:tar zxvf pure-ftpd-1.0.50.tar.gz

3、编译参数

#cd pure-ftpd-1.0.50/

./configure \
--prefix=/usr/local/pureftpd/ \
--with-everything \
--with-sysquotas \
--with-altlog \
--with-puredb \
--with-extauth \
--with-pam \
--with-cookie \
--with-throttling \
--with-ratios \
--with-quotas \
--with-ftpwho \
--with-welcomemsg \
--with-uploadscript \
--with-virtualhosts \
--with-virtualchroot \
--with-diraliases \
--with-nonroot  \
--with-peruserlimits \
--with-language=english \
--with-mysql

 

编译项的解释说明

--prefix =/usr/local/pureftpd/	#安装路径,例如:/usr/local/pureftpd
--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-welcomemsg \			#支持 welcome.msg 向后兼容(已经过时)
--with-uploadscript \		#上传后允许执行外部脚本 ( 测试阶段)
--with-virtualhosts \		#在不同的IP地址提供虚拟服务器功能
--with-virtualchroot \		#允许在chroot 的环境下通过符合连接跳转到外部
--with-diraliases \			#启用目录别名
--with-nonroot  \			#普通模式或者说是限制模式. 如果你在该服务器上没有root权限那只有启用该项
--with-peruserlimits \     #支持每个用户的并发限制
--with-language=simplified-chinese \        #语言支持< english | traditional-chinese | simplified-chinese>
--with-ldap			#在LDAP目录中提供用户数据库
--with-mysql \		#在MySQL数据库中存放用户数据
--with-pgsql		#在PostgreSQL数据库中存放用户数据
--with-everything	#安装几乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual
					#users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour
					#privilege separation。

然后加入系统服务来启动

#改变权限

chown root.root /etc/rc.d/init.d/pureftpd #所有用户都可以执行单只有root可以修改
chmod +x /etc/rc.d/init.d/pureftpd #将pureftpd 放入linux启动管理体系中
chkconfig --add pureftpd #打开自启动
chkconfig pureftpd on

 

#相关使用命令

service pureftpd start  #启动服务
#pureftpd 启动脚本
#!/bin/sh
#chkconfig: 2345 80 90
#description:pureftpd
/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf&

当然你也可以直接用源安装方式

yum -y install pure-ftpd

设置开机启动

systemctl start  pure-ftpd.service
systemctl enable pure-ftpd.service