将/ var / www / site1提供给www-data:www-data崩溃服务器

时间:2017-03-05 20:41:19

标签: linux wordpress permissions ubuntu-16.04

- 请参阅下面的 Tl; dr 获取简短版本 -

在我的ubuntu-16.04 droplet apache2和php7上都使用用户www-data。在某些时候,所有三个wordpress-4.7.2的安装似乎都没有理由开始要求FTP凭据,表明他们没有足够的权利。每个wp实例都有自己的mysql数据库。

我尝试使用

为/ site1解决此问题
sudo chown www-data:www-data /var/www/site1/* -R

这不应该改变任何内容,因为这是权限的设置方式。无论出于何种原因,这导致浏览器返回

HTTP ERROR 500 

对于/ var / www / site1,/ var / www / site2和/ var / www / site3中的网站 - 不再有效。

我发现摆脱这种情况的唯一方法是恢复液滴。但每当我尝试获得权限时,我最终会再次关闭所有网站。

这些是当前的权限设置:

drwxr-xr-x 14 root root 4096 Feb  3 XX:14 /var/
drwxrwxr-x 8 www-data www-data 4096 Mar  5 XX:27 /var/www/
drwxr-sr-x 3 www-data www-data 4096 Mar  5 XX:13 /var/www/site1/
drwxrwxr-x 3 www-data www-data 4096 Feb 25 XX:51 /var/www/site2/
drwxrwxr-x 3 www-data www-data 4096 Feb 28 XX:06 /var/www/site3/

sudo用户是www-data:

的成员
user1@droplet:~$ members www-data
www-data user2 user1

/ site1上新安装的主题导致了许多PHP致命错误,例如:

[Sun Mar 05 19:24:04.003189 2017] [:error] [pid 5632] [client 31.10.138.238:50870] 
PHP Fatal error: Uncaught Error: Call to undefined function mysql_escape_string() 
in /var/www/site1/html/wp-content/themes/gloria/functions.php:60\nStack trace:\n#0 
/var/www/site1/html/wp-settings.php(425): include()\n#1 /var/www/bw/html/wp-config.php(89): 
require_once('/var/www/site1/htm...')\n#2 /var/www/bw/html/wp-load.php(37):
require_once('/var/www/site1/htm...')\n#3 /var/www/bw/html/wp-admin/admin.php(31): 
require_once('/var/www/site1/htm...')\n#4 /var/www/bw/html/wp-admin/themes.php(10): 
require_once('/var/www/site1/htm...')\n#5 {main}\n  thrown in
/var/www/site1/html/wp-content/themes/gloria/functions.php on line 60

删除主题后,/ site1重新上线。我不知道为什么。前两次我因为

而最终恢复了液滴
HTTP ERROR 500

这个主题并没有涉及。即使/ site1已备份,/ site2和/ site3仍然停留在

HTTP ERROR 500

由于删除了/ site1中的主题,因此Apache错误日志没有任何可疑条目:

[Sun Mar 05 19:56:35.456584 2017] [mpm_prefork:notice] [pid 1671] AH00171: Graceful restart requested, doing restart
[Sun Mar 05 19:56:35.662742 2017] [mpm_prefork:notice] [pid 1671] AH00163:     Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Mar 05 19:56:35.662765 2017] [core:notice] [pid 1671] AH00094: Command     line: '/usr/sbin/apache2'

有什么想法吗?

编辑:/ var / www / site2 / activecollab /中的ActiveCollab实例在整个问题期间从未停止工作。 ActiveCollab为其自己的文件,文件夹和数据库完成的所有连接和权限检查都是正面的。

Tl;博士: WP1要求FTP,我说

sudo chown www-data:www-data /var/www/site1/* -R

WP1,WP2和WP3告诉浏览器

HTTP ERROR 500

虽然WP2子文件夹中的ActiveCollab没有给出sh * t并继续运行。

1 个答案:

答案 0 :(得分:0)

试试这些

sudo chmod -R 774 /var/www/yourwordpressfolder

然后

sudo chown -R www-data:www-data /var/www/yourwordpress

最后

sudo chmod -R 777 /var/www/yourwordpressfolder