共计 4319 个字符,预计需要花费 11 分钟才能阅读完成。
环境:CentOS 6.4 x86_64
所需应用程序:vsftpd-3.0.2.tar.gz
在我的另一篇文章中详细介绍过 httpd 源代码安装。(地址:http://www.linuxidc.com/Linux/2013-12/94146.htm)那么在这里我要介绍一下 vsftpd 源代码安装,比较一下和 httpd 源代码安装有什么不同的地方。关于源代码安装的步骤我在这里就不在详细介绍了。
源代码安装软件系统中当然少不了编译环境,在这里就不再介绍编译环境的搭建,我在前面关于 httpd 安装的博文中有过详细介绍,如有不懂可以先看那篇博文。下面开始介绍 vsftpd 的安装与测试。
首先解压缩 vsftpd-3.0.2.tar.gz,使用命令 tar –zxvf vsftpd-3.0.2.tar.gz –C /usr/local/src 切换到 /usr/local/src 目录中就可以看到刚刚解压的所形成的目录
切换到该目录下,比较一下和前面 httpd 有什么不同
发现这里面并没有 configure 文件,那么怎么办呢?没关系,在 INSTALL 这个文件中已经详细的告诉我们该怎么做。那么我们就按照上面的步骤来走吧。
首先编辑 builddefs.h 这个文件
在这里我需要使用 tcpwrappers, 我们就修改 tcpwrapper 那一行为:define VSF_BUILD_TCPWRAPPERS 保存退出
接下来就执行 make;可是当我们 make 的时候发现出现错误,如图所示
发现关于 tcpwrap 的错误,通过查询我们的系统中安装了一个 tcpwrap 的库,查询光盘时发现还有其他关于 tcpwrap 相关的软件
那我们就来安装一下 tcp_wrappers 和 tcp_wrapper-devel
安装后继续执行 make,执行前先使用 make clean all 清除前面 make 过的,然后 make
但又有错误了
那就再安装 libcap 了,安装之后,再执行上面的步骤,这时候就可以 make 通过了,然后查看一下当前目录中有没有形成一个 vsftpd 的文件
推荐阅读 :
玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm
接下来需要为 vsftpd 创建一个 nobody 的帐号,首先查看一下有没有这个帐号,
发现已经存在,那么就不需要再创建了,继续下一步,vsftpd 需要一个空目录,在 /usr/shaer/empty 下,创建时会提示有一个这样的目录,那就继续下一步,因为 ftp 需要匿名登录,并且有自己的家目录,我们需要创建这样一个目录,再建立一个 ftp 的帐号
修改 /var/ftp 的所有者和所属组为 root 并且修改 other 用户和组用户权限为不可写
接下来执行 make install
然后创建 /usr/local/man/man5 /usr/local/man/man8
分别拷贝 vsftpd.conf.5 到 /usr/local/man/man5 vsftpd.8 到 /usr/local/man/man8
同时还需要把 vsftpd.conf 拷贝到 /etc 目录下
实际上到了这里我们的 ftp 已经安装完成了,然后我们运行一下:
/usr/local/sbin/vsftpd & 这里面的 & 符号表示后台运行
通过上图可以看到 ftp 已经运行了
环境:CentOS 6.4 x86_64
所需应用程序:vsftpd-3.0.2.tar.gz
在我的另一篇文章中详细介绍过 httpd 源代码安装。(地址:http://www.linuxidc.com/Linux/2013-12/94146.htm)那么在这里我要介绍一下 vsftpd 源代码安装,比较一下和 httpd 源代码安装有什么不同的地方。关于源代码安装的步骤我在这里就不在详细介绍了。
源代码安装软件系统中当然少不了编译环境,在这里就不再介绍编译环境的搭建,我在前面关于 httpd 安装的博文中有过详细介绍,如有不懂可以先看那篇博文。下面开始介绍 vsftpd 的安装与测试。
首先解压缩 vsftpd-3.0.2.tar.gz,使用命令 tar –zxvf vsftpd-3.0.2.tar.gz –C /usr/local/src 切换到 /usr/local/src 目录中就可以看到刚刚解压的所形成的目录
切换到该目录下,比较一下和前面 httpd 有什么不同
发现这里面并没有 configure 文件,那么怎么办呢?没关系,在 INSTALL 这个文件中已经详细的告诉我们该怎么做。那么我们就按照上面的步骤来走吧。
首先编辑 builddefs.h 这个文件
在这里我需要使用 tcpwrappers, 我们就修改 tcpwrapper 那一行为:define VSF_BUILD_TCPWRAPPERS 保存退出
接下来就执行 make;可是当我们 make 的时候发现出现错误,如图所示
发现关于 tcpwrap 的错误,通过查询我们的系统中安装了一个 tcpwrap 的库,查询光盘时发现还有其他关于 tcpwrap 相关的软件
那我们就来安装一下 tcp_wrappers 和 tcp_wrapper-devel
安装后继续执行 make,执行前先使用 make clean all 清除前面 make 过的,然后 make
但又有错误了
那就再安装 libcap 了,安装之后,再执行上面的步骤,这时候就可以 make 通过了,然后查看一下当前目录中有没有形成一个 vsftpd 的文件
推荐阅读 :
玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm
这时候我们就可以使用 ftp localhost 或者 lftp localhost 登录测试了,ftp 和 lftp 是不一样,用 ftp 登陆时必须输入用户名才能登录,而 lftp 则不需要
如果我们想要使用本地帐号登录必须要有 /etc/pam.d/ftp 这个文件,如果没有我们就要拷贝一个;我们可以直接把 RedHat/vsftpd.pam 拷贝成 /etc/pam.d/ftp
然后修改 /etc/vsftpd.conf 把 #local_enable=YES 前面的# 号去掉
重启一下 vsftpd 服务
然后使用本地帐号测试
登录成功。
接下就是该编写控制脚本了,代码如下:
#!/bin/bash
[-e /etc/init.d/functions] && ./etc/init.d/functions
prog=/usr/local/sbin/vsftpd
lockfile=/var/lock/subsys/vsftpd
start(){
if [-e $lockfile];then
echo “vsftpd server is started”
else echo -n “vsftpd server is starting… “
sleep 1
$prog &
if [$?];then
echo “[ok]”&& touch $lockfile
else
echo “[failer]”
fi
fi
}
stop(){
if [! -e $lockfile];then
echo “vsftpd server is stoped”
else echo -n “vsftpd server is stoping… “
sleep 1
killproc vsftpd && echo “[ok]” && rm -rf$lockfile ||echo “[failer]”
fi
}
status(){
if [-e $lockfile];then
echo “vsftpd server is started”
else echo “vsftpd server no found”
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo”USAGE:start|stop|restart|status”
;;
Esac
好了,到这里我们的 vsftpd 已经安装和测试完成了
更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14