最近在安装研发平台的环境,需要yum安装一起程序,就搞了一个FTP服务器,然后过程中就发生了一个小意外,排错了好久,也是自己对FTP理解不深的原因,现在将现象和排错过程总结一下:
1、搭建FTP非常的简单,就直接安装了一个vsftpd软件,然后再开启了服务,service vsftpd start 开启服务
2、修改了/etc/yum.repo.d/ftp.repo文件,追加的内容如下:
[ftp]
name=ftp
baseurl=ftp://192.109.200.204:/var/ftp/cdrom/ #仔细看我这儿写的路径
enabled=1
gpgcheck=0
保存,退出了。
然后通过yum repolist查看安装源,发现一直标题的“FTP Error 550”错误。然后就开始排错了。
一、检查selinux设置
通过命令查看和配置文件查看,状态都是disabled
二、查看防火墙设置,iptables关闭状态。
三、检查服务和状态端口,都正常(通过telnet 192.109.200.204 21)这种方式。
然后什么重启服务啥的,都不管用,再然后,将/etc/vsftpd/vsftpd.conf配置文件anon_*关于匿名的选项全部设置为yes后,还是不行。
解决方法:
通过web客户端访问ftp://192.109.200.204,发现下面有cdrom目录,点进去后,也是可以正常访问,等等,当我点进去的cdrom的时候,url地址变也了ftp://192.109.200.204/cdrom,而我在yum的配置文件是,这一对比,一下就发现:
错误的地址:ftp://192.109.200.204:/var/ftp/cdrom/
正确的地址:ftp://192.109.200.204/cdrom
解释:当vsftpd开启后,ftp的默认目录就是/var/ftp/,所以我们在增加其他的URL的时候,就不需要再写前面的路径了。这也是我这次搞半天的原因。