本文阐述了在linux系统下使用vsftpd搭建一个简单的FTP服务器环境的步骤。其中很多安装性步骤引用了官网提供的官方文档。
个人认为我们在安装一个软件的时候最优先考虑的就是参照官方提供的帮助文档进行操作,一般安装文件解压出来后都有类似README、INSTALL的帮助文件,我们应该先查看下这些文件再进行其它操作,其次才是在网上搜索相关资料,还有就是程序文件最好要从官方下载。
在我们安装程序的时候有可能会报形形色色的错误,没有什么统一的完美安装步骤,我们要根据报错信息来分析原因对症解决,才是王道。
准备工作:
1、从官网(http://vsftpd.beasts.org/)下载vsftpd源码包(官网如果不能正常打开,应该是挡在墙外边了,可以考虑“翻墙")
具体流程:
1、vsftpd源码的安装
使用tar xvf vsftpd-3.0.2.tar.gz 对源文件进行解压缩,解压出来的文件目录如下:
注意看上图中用红色框信的文件,那就是README文件,首先我们打开它看下它的内容,其中有一段非常重要的一段,给我们说明了安装文档的位置。
OK,然后让我们打开INSTALL文件看看,此文件详细介绍了我们编译和安装及运行vsftpd的步骤,我们可以按照它的步骤进行一步一步操作。
下面只说明一下需要注意的一些地方:
Step 1) Build vsftpd.注:因为我们后面还要进行虚拟用户的配置,需要用到PAM验证,查看应用程序是否具有PAM验证功能,make后可以使用ldd命令查看其动态连接库中有没有libpam,有就支持,make完后,我们通过“ldd ./vsftpd”查看下依赖库文件,如果没有的话,首先查看下builddefs.h文件是否已经开启了PAM,如果已经开启了,我们可以find查找下有没有PAM库文件,有可能的原因是缺少PAM库文件。这里比较头疼的是缺少此库文件,make的时间并没有报任何警告或错误。
64位操作系统的程序要注意编辑vsf_findlibs.sh文件,修改里面库文件的路径。一般是把/lib/修改成 /lib64/。
Step 2) Satisfy vsftpd pre-requisites
Step 3) Install vsftpd config file, executable, man page, etc.
注:在我们make install的时候有可能会报man5,man8类的目录找不到的错误,此时我们只需把对应的目录手动创建一下就行了,然后再执行make install。
Step 4) Smoke test (without an inetd).
Step 5) Run from an inetd of some kind (optional - standalone mode is now recommended)
注:此步骤官方已经说明推荐vsftpd以独立模式运行,也就是说不用在与inetd进行组合,固此略去。
Step 6) Set up PAM for local logins (optional)
Step 7) Customize your configuration
通过以上几个步骤vsftpd就安装完毕了,当然这些还不能满足需要,还有很重要的虚拟用户的创建与配置,我们将在下一节进行介绍