我如何让我的服务器到自己的FTP?

我在RHEL6上,我试图在wordpress上自动更新,但ftp和sftp连接失败。 我怀疑它至less是testing从我的防火墙不允许的服务器内的连接。

我把这一行添加到/ etc / sysconfig / iptables中,但是仍然没有工作。 有任何想法吗?

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

所有的同主机连接都是通过lo (loopback)接口来完成的,默认情况下这个接口是不受限制的,允许把行放在规则的顶部:

 -A INPUT -i lo -j ACCEPT 

WordPress的自动更新通常在没有FTP访问的情况下工作,如果没有的话 – webserver / php上的安全限制必须非常严格。 通常wordpress正在用一些丑陋的函数检查磁盘空间和权限(AFAI记住,有一些与inode检查(WEIRD)相关的东西)。

要使自动更新正常工作,至less必须满足两个条件:

(a)文件所有权:您的所有WordPress文件必须由您的Web服务器执行的用户所有。 换句话说,您的WordPress文件的所有者必须与您的Web服务器执行的用户相匹配。 Web服务器用户(名为“apache”,“web”,“www”,“nobody”或其他)不一定是您的WordPress文件的所有者。 通常情况下,WordPress文件是由上传原始文件的ftp用户拥有的。 如果您的WordPress文件的所有者与您的networking服务器执行的用户之间没有匹配,您将收到一个对话框询问“连接信息”,您会发现无论您在该对话框中input什么内容,您将无法自动更新。

(b)文件权限:您的所有WordPress文件都必须是您的Apache服务器执行的用户可以写入的,或者可以由其写入。

在共享主机上,WordPress文件应该不被Web服务器所拥有。 如果多于一个用户在安装中拥有不同的文件(例如,由于通过不同帐户删除和重新上传文件所做的编辑),则文件许可权必须是可以分组写入的(例如,775和664而不是默认755和644)。 文件权限(一般情况下)应根据服务器环境进行适当调整(例如,共享主机RackSpace CloudSitesbuild议700和600为单个ftp用户,或者770和660为多个ftp用户build议)。 请参阅文件权限部分了解更多(某些文件和文件夹需要更严格的权限)。

(c) http://codex.wordpress.org/Updating_WordPress#Automatic_Update

检查权限等

如果你仍然想用FTP来做 – 确保它正在监听本地地址netstat -anp|grep 21

SFTP? 真? 你不想这样做。 相信我。

你在正确的轨道上,但是你需要在这里做一些WordPress的魔法。 从经验上讲,FTPS仍然试图使用端口21,而不是SSH(端口22)。 我不记得我启用SSH更新的确切步骤,但是它的不同版本在这里: http : //wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress- site-via-ssh / 。 请参阅“方法2”部分。 如果这不能让你得到你需要的地方,谷歌search“更新WordPress的ssh”应该给你一些有用的URL – 道歉,我找不到我使用的。