Linux
Wordpress 共享主機(chrooted SFTP),外掛問題
我有一台伺服器(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
錯誤日誌中沒有任何內容。
在我搜尋的任何地方,我都會得到一些選擇:
- 安裝 SFTP 更新程序外掛並將 FS_METHOD 定義為“ftpsockets”。這可行,但我想避免這種情況,以保持安裝清潔和使用者滿意。我只真正管理伺服器,而不是 WP 站點本身,並且強制所有使用者安裝外掛看起來不太好。
- Libssl/php-ssl。我收到登錄提示,但嘗試時失敗。
- SSH 密鑰。認為我已經嘗試了那裡的每一個指南。SSH 會話立即斷開連接。和這個傢伙有同樣的問題Wordpress SFTP 自動更新問題 這也會讓使用者感到困惑。它還必須適用於多個 PHP 版本 (FPM)。
- 在 wp-config.php 中將 FS_METHOD 定義為“直接”。對我不起作用,與原始錯誤相同。
有誰知道我能做些什麼來解決這個問題?如果您需要任何資訊,請告訴我。
謝謝!
這解決了。
原來是 PHP 的 unlink() 函式在 php.ini 中被 disable_functions 禁用。從那裡刪除它,現在一切正常。