ubuntu7.04上配置proftpd

proftpd是什么,看名字就知道它应该和ftp服务有关,具体内容可以到这里查看http://www.proftpd.org/

首先看看自己的及其上有没有proftpd。在终端里输入proftpd,如果没有ubuntu告诉你现在系统里没有proftpd,你需要用apt-get来安装。那好吧,就按他说的做。

sudo apt-get install proftpd

proftpd很小,几乎是瞬间装完。我用的cn99的源,速度非常快。

然后查看文档得知proftpd有两种运行模式:Standalone 和 inetd

standalone比较耗资源适合大访问量,inetd会为每一个请求启动一个进程,平时不用的时候不耗资源,我就是自己用用,所以选择inetd模式。

cat /etc/inetd.conf

结果什么都没有。

进一步查看文档得知,现在的linux基本上用xinetd取代inetd了。但是我在系统里找不到xinetd。恩~,明白了:

sudo apt-get install xinetd

又是瞬间完成。

进入/etc/xined.d目录,看见了几个配置好的项目。我们在加一个ftp吧。

sudo vim ftp

service ftp
{
        flags = REUSE
        socket_type = stream
        instances = 50
        wait = no
        user = root
        server = /usr/sbin/proftpd
        log_on_success = HOST PID
        log_on_failure = HOST ATTEMPT
}

具体是什么意思? 其实我也是半懂不懂的,想去xinetd的主页上看看,结果找不到页面。

然后就是配置proftpd本身了。

proftpd的配置文件在/etc/proftpd/proftpd.conf

不愧“pro”这个名字,看上去非常“专业”。很复杂,官方主页上文档也非常复杂。

我现把匿名用户登录那部分打开了。

<Anonymous ~ftp>
....
....
....
</Anonymous>
这段应该在proftpd.conf的最后面。

对于这个配置文件,如果你用过apache httpd,应该看上去很眼熟。

然后重启一下xinetd

sudo service xinetd restart

结果告诉我没有service这个命令。

同样:

sudo apt-get debian-helper-scripts

重启完服务器后,看看ftp已经可以登录了。如果不能登录,你可以试试一下方法看看问题出在哪里。

到/etc/init.d目录下直接调用xinetd start看看有什么信息出来,如果没有什么有用信息。

修改一下xinetd在

   start)
        checkportmap
        echo -n "Starting internet superserver: xinetd"
        start-stop-daemon --start --quiet --background --exec /usr/sbin/xinetd -- -pidfile /var/run/xinetd.pid -filelog /var/log/xinetd.log -f /etc/xinetd.conf $XINETD_OPTS

这样再次启动xinetd,你就可以在/var/log目录下找到xinetd.log文件。看看启动xinetd过程中出现了什么问题。

接下来就是研究proftpd本身的配置了,几个经典命题需要考虑:

  • 虚拟目录
  • 用户权限
  • 流量限制
[待续]