如何允許我的伺服器 ftp 到自身?

如何允許我的伺服器 ftp 到自身?

我在 RHEL6 上,嘗試在 wordpress 上進行自動更新,但 ftp 和 sftp 連線失敗。我懷疑它至少正在測試伺服器內部的連接,這是我的防火牆不允許的。

我將此行新增到 /etc/sysconfig/iptables 中,但仍然不起作用。有任何想法嗎?

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

答案1

所有同主機連線將透過(環回)介面完成lo,預設不受限制,可以透過將行置於規則頂部來允許:

-A INPUT -i lo -j ACCEPT

WordPress 自動更新通常不需要 FTP 存取即可運作,如果沒有 - 網路伺服器/php 上一定有非常嚴格的安全限制。通常,wordpress 會使用一些醜陋的功能來檢查磁碟空間和權限(AFAI 記得,有一些與 inode 檢查相關的東西(WEIRD))。

要使自動更新正常運作,必須至少滿足兩個條件:

(a) 檔案所有權:您的所有 WordPress 檔案必須由您的 Web 伺服器執行所在的使用者擁有。換句話說,您的 WordPress 檔案的擁有者必須與您的 Web 伺服器執行時的使用者相符。 Web 伺服器使用者(名為「apache」、「web」、「www」、「nobody」或類似名稱)不一定是 WordPress 檔案的擁有者。通常,WordPress 檔案歸上傳原始檔案的 ftp 使用者所有。如果您的 WordPress 檔案的擁有者與您的 Web 伺服器執行的使用者不匹配,您將收到一個對話框,要求輸入“連接資訊”,並且您會發現無論您在該對話框中輸入什麼,您將無法自動更新。

(b) 檔案權限:您的所有 WordPress 檔案必須是 Apache 伺服器執行使用者的擁有者可寫入或群組可寫入。

在共享主機上,WordPress 檔案不應該由 Web 伺服器擁有。如果超過一個使用者在安裝中擁有不同的檔案(例如,由於透過不同帳戶刪除和重新上傳檔案進行了編輯),則檔案權限需要是群組可寫的(例如,775 和 664,而不是預設755 和644 )。檔案權限(一般情況下)應根據伺服器環境進行調整(例如,共用主機 RackSpace CloudSites 建議單一 ftp 使用者使用 700 和 600,或針對多個 ftp 使用者使用 770 和 660)。有關更多信息,請參閱文件權限部分(某些文件和資料夾需要更嚴格的權限)。

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

檢查權限等

如果您仍然想使用 FTP 進行操作,請確保它也正在偵聽本機位址netstat -anp|grep 21

SFTP?真的嗎?你不想這樣做。相信我。

答案2

您的方向是正確的,但您需要在這裡施展一些 WordPress 魔法。從經驗來看,FTPS 仍然嘗試使用連接埠 21,而不是 SSH(連接埠 22)。我不記得啟用 SSH 更新的確切過程,但這裡有一個不同的版本:http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/。請參閱“方法 2”部分。如果這不能讓你到達你需要的地方,谷歌搜尋「更新 wordpress ssh」應該會給你一些有用的 URL——抱歉,我找不到我使用的 URL。

相關內容