Wordpress权限问题

在UBUNTU或者其他LINUX服务器上安装Wordpress,特别是搬家后会出现下列问题。

  1. 安装主题/插件要求输入FTP账号密码
  2. WP SUPER CACHE等插件无法使用
  3. 无法自动升级
  4. ……
    很多地方给出方案是运行如下
1
$ sudo chown -R www /var/www/wordpress/

但这个并不是适合所有情况。因为并不是所有的web服务器的用户名是www,所以我们首先需要找出web服务器的用户名。

ps -aux

运行后可以找到http服务的进程(一般为apache2, httpd之类的),查看对应的用户名。比如我的测试机是Ubuntu系统,使用apache2,则所找的用户名为www-data

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
daemon     876  0.0  0.0  19140   164 ?        Ss   Feb24   0:00 atd
mysql 963 0.0 8.9 888392 45056 ? Ssl Feb24 0:23 /usr/sbin/mysql
root 1052 0.0 0.1 15820 692 tty1 Ss+ Feb24 0:00 /sbin/getty -8
root 1254 0.0 0.0 0 0 ? S Feb24 0:00 [kworker/u3:1]
root 1257 0.0 0.0 0 0 ? S Feb24 0:00 [kauditd]
root 2350 0.0 0.0 0 0 ? S 06:44 0:00 [kworker/u2:2]
root 2876 0.0 0.8 105632 4300 ? Ss 10:12 0:00 sshd: [email protected]/
root 2925 0.0 0.7 22452 3608 pts/0 Ss+ 10:12 0:00 -bash
root 2980 0.0 3.1 313020 16044 ? Ss 10:12 0:00 /usr/sbin/apach
www-data 2986 0.2 14.1 331120 71032 ? S 10:12 0:09 /usr/sbin/apach
www-data 2988 0.1 13.0 335552 65276 ? S 10:12 0:05 /usr/sbin/apach
www-data 2994 0.2 13.5 334496 68240 ? S 10:12 0:10 /usr/sbin/apach
www-data 3011 0.1 13.6 338280 68476 ? S 10:30 0:04 /usr/sbin/apach
www-data 3024 0.1 12.4 338108 62368 ? S 10:40 0:03 /usr/sbin/apach
www-data 3031 0.3 12.1 329532 61044 ? S 11:03 0:01 /usr/sbin/apach
www-data 3034 0.3 12.5 336556 62760 ? S 11:06 0:01 /usr/sbin/apach
www-data 3048 0.6 11.1 327232 55820 ? S 11:10 0:00 /usr/sbin/apach
www-data 3049 0.0 1.8 313436 9408 ? S 11:10 0:00 /usr/sbin/apach
www-data 3050 0.0 1.7 313272 8604 ? S 11:10 0:00 /usr/sbin/apach
root 3051 0.0 0.8 105632 4304 ? Ss 11:11 0:00 sshd: [email protected]/
root 3122 0.1 0.7 22452 3620 pts/1 Ss 11:12 0:00 -bash
root 3137 0.0 0.2 18448 1296 pts/1 R+ 11:12 0:00 ps -aux

所以需要把网站文件用户组均改为www-data

1
$ sudo chown -R www-data /var/www/YourVhostName/

如果还有问题,则试试运行。

1
$ sudo chmod -R 755 /var/www/YourVhostName/