linux下用Proftpd搭建ftp服务器及配置
linux下搭建ftp服务器的软件是wuftp,现在真的时代变了,上网看一下几乎全世界的人都用proftpd了!赶个潮流,我也用proftpd在公司的一台备用小服务器上装上ftp服务器。
首先proftpd是一个开源软件,目前最高版本是:1.3.1(非稳定版),稳定的版本是1.3.0,下载文件为proftpd-1.3.0a.tar.gz
我下载的是1.3.0,上传到服务器上后按照常规的方法安装即可。
tar -zxvf proftpd-1.3.0a.tar.gz
cd proftpd*
./configure --prefix=/usr/local/proftpd
make
make install
安装完成!接下来是配置。
设置一:随机启动服务,sbin/proftpd文件复制到/etc/rc.d/rc.local文件夹中,以实现开机自动启动。
设置二:配置文件在etc/proftpd.conf,配置文件说明如下:
servername "proftpd default installation"
servertype standalone
defaultserver on
分别表示:服务器名称,服务类型和默认服务状态!
后面的服务端口啊什么的我就省去不说了,说最关键的权限控制部分。
# set the user and group under which the server will run.
user nobody
group nogroup
注意看上面:以什么用户和什么组来运行服务。
更改为你现有的组和用户,这里为了管理上的方便和安全性上考虑,建议新建一个ftp组和ftp用户。
# to cause every ftp user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#defaultroot ~
是否允许用户进入用户的主目录,注意:可是适用/home替代
# normally, we want files to be overwriteable.
allowoverwrite on
是否具有重写的权利
# a basic anonymous configuration, no upload directories. if you do not
# want anonymous users, simply delete this entire section.
user ftp
group ftp
# we want clients to be able to login with "anonymous" as well as "ftp"
useralias anonymous ftp
# limit the maximum number of anonymous logins
maxclients 10
# we want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
displaylogin welcome.msg
displayfirstchdir .message
# limit write everywhere in the anonymous chroot
denyall
这部分是匿名用户的定义其实也很简单。
启动不了,出现如下错误的解决方法
[root@new-host sbin]# ./proftpd
- ipv4 getaddrinfo 'new-host' error: name or service not known
- warning: unable to determine ip address of 'new-host'
- error: no valid servers configured
- fatal: error processing configuration file '/usr/local/proftpd/etc/proftpd.conf'
原因是无法绑定ip地址。
在配置文件中增加下面这句:
defaultaddress 192.168.8.105
再重启服务就可以了!
接上!原来以为这样就完事了,可是看看才知道如果我要新增加一个ftp用户的话实际上是很麻烦的一件事,因为帐号是直接跟系统帐号想关联的,不安全也不好操作,我们的目的是要做成像虚拟主机服务提供商那样的ftp!
接下去,需要一个模块的支持到 去看看proftpd-mod-quotatab模块,注意下面这句话:
note: mod_quotatab became part of the offical proftpd source distribution in 1.2.10rc1. if using a version of proftpd later than that, please use the mod_quotatab already included, as it will be most up-to-date.
表示我们下载的1.3版本已经支持做了这个东西,主要编译安装的时候把mod_quotatab 开起来就可以了,于是重新编译!
前提:确认你已经安装并且能够正常运行mysql,否则后面的工作都是没有意义的了!
重新编译:
./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql --with-includes=/usr/include/mysql --with-libraries=/usr/lib/mysql
注意请根据自己的linux系统找到mysql的相应include和lib目录,以上例子中的相关路径是大多数linux系统默认的,如果你的mysql是通过源码编译安装的,则这两个目录一般在安装路径下。
有资料说:需要修改contrib目录中mod_sql_mysql.c文件:
vi mod_sql_mysql.c
找到#include 这一行,将mysql.h改成你的系统中此文件所在的路径,如/usr/include/mysql/mysql.h
可是我没有这样做也可以,真奇怪!
然后make
make install
一样的切换到proftpd文件夹中操作,后面的比较复杂,我试试以大学教授的水平用简单的语言讲。
推荐阅读
-
linux下用Proftpd搭建ftp服务器及配置
-
FastDFS - Linux下搭建FastDFS 文件服务器与Nginx配置(部署和运维)
-
Windows下用Nginx配置https服务器及反向代理的问题
-
最简单的nginx+ftp搭建图片服务器(Windows Server服务器环境下和本机都可以用)
-
Linux 下搭建jsp服务器(配置jsp开发环境)
-
Linux环境下快速搭建ftp服务器方法介绍
-
linux下通过Squid反向代理搭建CDN缓存服务器的配置方法
-
Linux下用Nginx作Perl程序服务器及其中Perl模块的配置
-
Linux环境下快速搭建ftp服务器方法介绍
-
CentOS 7下安装配置proftpd搭建ftp服务器的详细教程