Linux

Wordpress 共享主機(chrooted SFTP),外掛問題

  • April 11, 2017

我有一台伺服器(Ubuntu 16.04),不同的使用者可以在其中建立自己的 Wordpress 站點。一些資訊:

  • Apache 使用 mpm-itk 作為每個使用者執行。
  • 使用者被 chroot 到他們的主目錄。
  • 使用者不能在他們的主目錄之外使用 PHP。
  • 權限是 apacheuser:apacheuser 以 755 和 644 遞歸(也試過 777)
  • public_html 位於他們的主目錄中。

使用的 sshd 配置:

Subsystem       sftp    internal-sftp
   Match Group sftpusers
   ChrootDirectory /home/%u
   ForceCommand internal-sftp
   AllowTCPForwarding no
   X11Forwarding no

使用者可以通過 SFTP 進入,上傳 WP 文件並繼續前進。

問題來自更新或刪除外掛(添加、啟動和停用工作正常)。我收到錯誤 無法完全刪除外掛 akismet/akismet.php

錯誤日誌中沒有任何內容。

在我搜尋的任何地方,我都會得到一些選擇:

  1. 安裝 SFTP 更新程序外掛並將 FS_METHOD 定義為“ftpsockets”。這可行,但我想避免這種情況,以保持安裝清潔和使用者滿意。我只真正管理伺服器,而不是 WP 站點本身,並且強制所有使用者安裝外掛看起來不太好。
  2. Libssl/php-ssl。我收到登錄提示,但嘗試時失敗。
  3. SSH 密鑰。認為我已經嘗試了那裡的每一個指南。SSH 會話立即斷開連接。和這個傢伙有同樣的問題Wordpress SFTP 自動更新問題 這也會讓使用者感到困惑。它還必須適用於多個 PHP 版本 (FPM)。
  4. 在 wp-config.php 中將 FS_METHOD 定義為“直接”。對我不起作用,與原始錯誤相同。

有誰知道我能做些什麼來解決這個問題?如果您需要任何資訊,請告訴我。

謝謝!

這解決了。

原來是 PHP 的 unlink() 函式在 php.ini 中被 disable_functions 禁用。從那裡刪除它,現在一切正常。

引用自:https://serverfault.com/questions/842991