所以,我已经尝试安装 Wordpress 一段时间了(他们声称 5 分钟即可安装),但一直卡住了。不管怎样,我得到的只是:
Forbidden
You don't have permission to access /wordpress/ on this server.
当我查看目录时/var/www/wordpress
,我看到:
# ls -l
total 276
-rw-r----- 1 www-data www-data 397 2008-05-25 20:33 index.php
-rw-r----- 1 www-data www-data 7669 2011-02-15 17:48 readme.html
drw-r----- 8 www-data www-data 4096 2012-03-05 20:55 wp-admin
-rw-r----- 1 www-data www-data 40400 2009-10-25 10:32 wp-app.php
-rw-r----- 1 www-data www-data 220 2008-10-14 06:22 wp-atom.php
-rw-r----- 1 www-data www-data 274 2008-05-25 15:50 wp-blog-header.php
-rw-r----- 1 www-data www-data 3928 2010-01-07 19:38 wp-comments-post.php
-rw-r----- 1 www-data www-data 238 2008-10-14 06:22 wp-commentsrss2.php
lrwxrwxrwx 1 www-data www-data 28 2012-03-05 20:55 wp-config.php -> /etc/wordpress/wp-config.php
-rw-r----- 1 www-data www-data 2616 2009-12-08 19:59 wp-config-sample.php
drw-r----- 5 www-data www-data 4096 2012-03-05 20:55 wp-content
-rw-r----- 1 www-data www-data 1253 2009-08-16 04:59 wp-cron.php
-rw-r----- 1 www-data www-data 220 2008-10-14 06:22 wp-feed.php
drw-r----- 6 www-data www-data 4096 2012-03-05 20:55 wp-includes
-rw-r----- 1 www-data www-data 1946 2009-05-05 19:43 wp-links-opml.php
-rw-r----- 1 www-data www-data 2341 2009-05-20 16:32 wp-load.php
-rw-r----- 1 www-data www-data 22859 2011-02-15 17:48 wp-login.php
-rw-r----- 1 www-data www-data 7578 2009-09-18 20:43 wp-mail.php
-rw-r----- 1 www-data www-data 487 2009-04-20 21:50 wp-pass.php
-rw-r----- 1 www-data www-data 218 2008-10-14 06:22 wp-rdf.php
-rw-r----- 1 www-data www-data 316 2008-05-25 15:50 wp-register.php
-rw-r----- 1 www-data www-data 220 2008-10-14 06:22 wp-rss2.php
-rw-r----- 1 www-data www-data 218 2008-10-14 06:22 wp-rss.php
-rw-r----- 1 www-data www-data 23097 2009-12-14 00:38 wp-settings.php
-rw-r----- 1 www-data www-data 3693 2009-11-26 11:29 wp-trackback.php
-rw-r----- 1 www-data www-data 93445 2009-12-01 08:14 xmlrpc.php
因此,www-data 拥有所有这些文件。所以,我在想也许 apache 没有以 www-data 的身份运行?所以我这样做了:
# ps -A | grep apache
22511 ? 00:00:00 apache2
22513 ? 00:00:00 apache2
22514 ? 00:00:00 apache2
22515 ? 00:00:00 apache2
22516 ? 00:00:00 apache2
22517 ? 00:00:00 apache2
那么,我猜 apache 是以 nobody 身份运行的?如果我查看 apache2.conf,我会看到:
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
我envvars
有:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid
所以,我完全被难住了!有什么想法吗?
更新:
哦,error.log 中的尾部还告诉我:
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.html denied
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.cgi denied
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.pl denied
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.php denied
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.xhtml denied
[Mon Mar 05 22:29:17 2012] [error] [client x.x.x.x] (13)Permission denied: access to /wordpress/index.htm denied
更新 2:
我的站点默认可用内容为:
xxx:/etc/apache2/sites-available# cat default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
ExpiresActive On
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ExpiresDefault A300
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
RewriteEngine On
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Sites-enabled 只有 000-default 指向该位置。
答案1
尝试进入上一级目录,然后确保您的用户有权执行 wordpress。例如:
cd ..
vdir | grep wordpress