PHP程序员玩转Linux系列 搭建FTP代码开发环境

PHP程序员玩转Linux系列文章:

有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家能够以最简单的方式实现目的,配置也是能不自定义的的统统不配置,不是为了炫耀会编译安装,我觉得安一个软件,可以用yum,为啥非得编译解决依赖自讨苦吃呢,最终目的是能实现效果,不是费劲巴拉的一堆编译配参数过程。

日常写代码,还是在windows系统下,怎样让代码直接跑到Linux下,通过浏览器或者命令行去运行呢,可以通过FTP服务器,实时上传到虚拟机的CentOS中,就可以直接看到效果了。例如:我在公司是通过netbeans配置FTP连接自己的开发机,保存文件时自动上传,然后在windows系统下绑定域名的host,通过浏览器去看项目。公司的开发机都有独立的公网ip,主要的代码目录是挂载的远程的另台机器,那台机器的硬盘非常大,主要就是作为代码存储服务器,这样通过FTP实时上传,所以搭建FTP服务还是很重要的。

直接使用一行命令 yum install vsftpd,就可以完成安装了,安装完成以后启动一下服务service vsftpd start ,ftp服务这时候就安装完成了。安装完成后,我使用flashfxp去连接一下当前的ftp服务,此时并不能连接成功。这个时候,查找问题的步骤是非常重要的。

解决连接不上FTP

开启vsftpd的日志,编辑/etc/vsftpd/vsftpd.conf

  #去掉这个前面的,这个是记录上传下载日志  xferlog_file=/var/log/xferlog  #开启双重日志  dual_log_enable=YES  #这个是记录登陆日志文件位置  vsftpd_log_file=/var/log/vsftpd.log

此时访问日志里什么都没有,说明还没有连接上FTP服务

1.在windows系统的cmd中,使用telenet 192.168.2.100 21 ,检测21端口是否可通,如果通不了,继续

2.在CentOS中,使用命令netstat -altupn|grep 21,看看端口是否已经监听,此时这里ok

3.检查iptables的规则,是否开启了21端口,此时检查发现,没有放行21端口,开通一下

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

我继续使用root账户和密码去连接FTP,报错:530 Permission denied

这个时候需要配置vsftpd,因为它禁止了root账户连接,查看的配置文件/etc/vsftpd/user_list和ftpusers,这个是禁用名单,#注释掉root账户

编辑/etc/selinux/config 修改这个SELINUX=disabled,然后重启一下

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第1张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第2张

我要限制FTP访问的目录

此时默认的登陆后的目录是当前用户的家目录,并且可以直接访问/根目录,现在我要限制一下它登陆后的目录,只让它访问到代码那个目录就可以。

设置连接后的目录:local_root=/usr/local/web

设置禁止访问到外层的目录:chroot_local_user=YES

此时它就被限制在了,代码目录里面了

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第3张

配置netbeans保存自动上传到CentOS服务器

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第4张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第5张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第6张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第7张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第8张

PHP程序员玩转Linux系列 搭建FTP代码开发环境 Linux 第9张

配netbeans时候碰到了227错误,我先暂时service iptables stop把防火墙关了,先暂时解决一下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

参与评论