导航
导航
文章目录
  1. 一、准备工作
  2. 二、编译与安装
  3. 二、安装和配置web管理模块

Linux 从源码编译安装 pureftpd

搭建FTP服务器,人肉尝试了 ProFTPd、PureFTPd、WU-FTPd、VsFTPd,最后选择了 PureFTPd,优点是安装使用方便、文档众多、功能一点也不含糊,大家用了都说好…

一、准备工作

1.1、安装 MySQL 5 :mysql-5.1.53-linux-i686-glibc23 (安装方法)

1.2、安装基础编译环境

apt-get install build-essential -y

1.3、更新MySQL共享库

echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf
ldconfig

二、编译与安装

不要急着复制,先看看这些编译选项都有什么用,再干不迟。

tar zxvf pure-ftpd-1.0.29.tar.gz
cd pure-ftpd-1.0.29/
./configure --prefix=/usr/local/pureftpd CFLAGS=-O2 --with-mysql=/usr/local/mysql --with-altlog --with-cookie --with-diraliases --with-ftpwho --with-language=simplified-chinese --with-paranoidmsg --with-peruserlimits --with-quotas --with-ratios --with-sysquotas --with-throttling --with-virtualchroot --with-virtualhosts --with-welcomemsg
make && make install cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
mkdir /usr/local/pureftpd/conf/
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/conf/
--prefix:路径,默认在/usr/local/
--sysconfdir:配置文件路径,默认在 prefix/etc下。
--localstatedir=:runtime文件目录,默认在prefix/var
--with-altlog:支持将日志输出成特定格式,以便用于分析。
--with-brokenrealpath:如altlog或pure-uploadscript不能工作,开启此项。
--with-tls::开启TLS支持
--with-certfile=: SSL证书位置,默认在/etc/ssl/private/pure-ftpd.pem
--with-cookie: 当使用者登入时显示自定义的标题信息。(见'-F' 选项)
--with-diraliases: 支持目录别名
--with-everything: 建立启用大部份功能的服务器(不建议)
--with-extauth:支持额外认证模块
--with-ftpwho: 支持'pure-ftpwho'命令,建议在standalone模式使用,inet较慢。
--with-language=simplified-chinese:输出信息为简体中文
--with-ldap=:开启LDAP目录支持,需先安装OpenLDAP
--with-minimal:最小化安装,对应with-everything。
--with-mysql=:用MySQL管理用户数据
--with-nonroot:非root用户也能开启FTp(不建议)
--with-pam:认证模块,在mysql、pam、puredb、ldap、pgsql中选一个即可。
--with-paranoidmsg:显示错误提示信息给用户
--with-peruserlimits:支持每个用户并发连接限制
--with-probe-random-dev: 使用随机设备,在linux和bsd中无效。
--with-puredb: 本地用户数据存储,支持虚拟用户。
--with-quotas: 启用虚拟配额。可限制使用者储存在他的账号中的最大档案数。也可以限制总共的大小容量。
--with-ratios: 支援上传/下载比率限制
--with-sysquotas: 支持系统配额(不是PrueFTPd的虚拟配额),要使用用系统配额时才启用这项。
--with-throttling: 支持带宽限制
--with-uploadscript: 成功上传后可自动自动调用扩展程序。这需要安装'pure-uploadscript'。
--with-virtualchroot: 通常使用者不能离开家目录,启用这项,再配合symbolic links,就变成可能了。
--with-virtualhosts: 支持虚拟主机。就是可为每个IP地址设不同的匿名登入区域。如果只有一个IP就用不着这项。
--with-welcomemsg: 像其它一样FTP servers读取'welcome.msg'档案。但是Pure-ftpd预设是使用'.banner'档案。
--with-boring: 显示"professionnal-looking" 消息
--with-bonjour: 在 MacOS X 中,开启 Bonjour 支持
--with-rfc2640: 开启字符集转换支持
--with-implicittls: 建立 FTPS 服务器,该协议是不兼容的,永远不要启用,除非你知道自己在做什么。

--without-privsep: 关闭权限分离,不推荐
--without-ascii: 不支持 7位 ASCII,不推荐,除非你完全忽略win用户。
--without-capabilities: 如果系统没有libcap库,可关闭它,但会降低安全性。
--without-globbing: 不支持通配符,可减少内存使用。
--without-humor:关闭humor,感觉是个奇怪的东西。
--without-inetd:如果都是用standalone模式,可加这选项让程序小一点。不能同时关闭standalone
--without-iplogging:不记录ip地址
--without-nonalnum:严格的文件名检查,只允许基本字母数字字符。
--without-unicode:不允许非拉丁字符。如果你不推荐在文件名中使用特殊字符。
--without-sendfile:sendfile是一种内核机制,一般不关闭。
--without-shadow:忽略shadow密码,除非你使用PAM, LDAP 或者 SQL。
--without-standalone:不使用standalone模式,可使程序更小,但standalone模式是建议的方式。
--without-usernames: UIDs 和 GIDs代替用户名

二、安装和配置web管理模块

wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
tar -zxf ftp_v2.1.tar.gz
mv ftp/ /home/wwwroot/

2.1、浏览器中打开”http://youdomain.com/ftp/install.php" 一路下一步,最后将灰色区域的内容复制到配置文件。

vim /usr/local/pureftpd/conf/pureftpd-mysql.conf

2.2、修改 “/usr/local/pureftpd/etc/pure-ftpd.conf“ 找到 MySQLConfigFile 这行去掉前面的#号,并修改正确的目录

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

2.3、将配置文件权限改回来。

chmod 755 /home/wwwroot/ftp/config.php

2.4、开机自动重启

wget http://small-script.googlecode.com/files/pureftpd
mv pureftpd /etc/init.d/
chmod 755 /etc/init.d/pureftpd
update-rc.d pureftpd defaults

参考资料:

1、pure-ftpd安装图文教程
2、pure-ftpd 架设与说明
3、Debian/Ubuntu 安装Pureftpd并实现磁盘限额(原创)
4、PureFTPd Installation and Setup

支持一下
扫一扫,支持一下