这是我第一次尝试在云托管上设置Wordpress或任何网站.我在Ubuntu服务器上,Wordpress位于var / www / mydomain / public文件夹中.
我想要实现的是:Wordpress(PHP)和SFTP用户都可以访问和修改相同的文件. WordPress应该可以自动更新插件等.
这是我到目前为止所做的:
>我已将此文件夹chmodded为775以允许组读/写权限.
>我已经将apache用户(www-data)和SFTP用户(suser)都添加到wp组中.
>我已经使wp成为wordpress文件夹中所有文件的组所有者.
什么有效:
>我可以使用Wordpress的内置主题/插件编辑器编辑主题和插件文件.
什么行不通:
> WordPress更新仍然要求FTP详细信息来执行更新
>当我使用SFTP用户创建新文件时,它的权限将为644,但它们应为775
我试过的
>我在这里尝试了所有步骤(由caf回答):A general linux file permissions question: Apache and WordPress
>我试过这个:http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions
>我也尝试将umask 002添加到我的SFTP启动登录文件中,但我不知道它们位于何处.
据我所知,问题在于权限/ umask的问题.我对linux知之甚少,所以这可能是一个简单的解决方案的愚蠢问题,但我不知道如何解决它.
更新:我不知道我将不得不重新启动ssh服务器.我用这个命令/etc/init.d/ssh restart完成了,之后用SFTP创建的文件有权限664(因为他们应该这样做)
此外,似乎必须重新启动Apache,使用以下命令:/etc/init.d/apache2 restart
但是,Wordpress仍然不会进行自动更新(要求提供FTP凭据)
最佳答案 如果您能够安装SSH2 PHP模块,Wordpress将为您提供升级SFTP的选项.
在Ubuntu中:
sudo apt-get install libssh2-php
在CentOS(需要EPEL):
sudo yum install php-pecl-ssh2