2013-04-23 105 views
0

我在www-data用戶沒有寫入權限的文件上記錄錯誤。以下是錯誤日誌文件的樣子:Apache可以寫入權限不足的文件

-rw-r--r-- 1 root  root  549050 Th04 23 10:01 access.log 
-rw-r--r-- 1 root  root  35495 Th04 23 10:12 error.log 

但我仍看到的,當有來自服務器的錯誤error.log中還在修改。

這裏是我的Apache配置:

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName magento.local.com 
     DirectoryIndex index.php index.html 
     DocumentRoot /var/www/magento.local.com/public 
     LogLevel warn 
     ErrorLog /var/www/magento.local.com/log/error.log 
     CustomLog /var/www/magento.local.com/log/access.log combined 
</VirtualHost> 

你能不能解釋一下?

+1

你是如何啓動你的服務器? – 2013-04-23 03:25:43

+0

它在Ubuntu啓動時自動運行。對於重新啓動,我在終端上發出這個命令:sudo service apache restart – petwho 2013-04-23 03:30:01

回答

0

你能複製並粘貼錯誤嗎? Apache可能無法在/var/www/magento.local.com/var或/var/www/magento.local.com/media中寫入文件(或創建目錄)。

請嘗試以下腳本。將其複製到/var/www/magento.local.com中名爲magento_perms.sh的文件中,然後運行「sudo bash magento_perms.sh」而不加引號。

#!/bin/bash 

if [ ! -f ./app/etc/local.xml ]; then 
    echo "-- ERROR" 
    echo "-- This doesn't look like a Magento install. Please make sure" 
    echo "-- that you are running this from the Magento main doc root dir" 
    exit 
fi 

if [ `id -u` != 0 ]; then 
    echo "-- ERROR" 
    echo "-- This script should be run as root so that file ownership" 
    echo "-- changes can be set correctly" 
    exit 
fi 

find . -type f \-exec chmod 644 {} \; 
find . -type d \-exec chmod 755 {} \; 
find ./var -type d \-exec chmod 777 {} \; 
find ./var -type f \-exec chmod 666 {} \; 
find ./media -type d \-exec chmod 777 {} \; 
find ./media -type f \-exec chmod 666 {} \; 
chmod 777 ./app/etc 
chmod 644 ./app/etc/*.xml