运行Magento需要哪些权限?

时间:2012-02-11 22:30:29

标签: magento

Magento documentation tells us to do this

chmod -R o+w media var
chmod o+w app/etc

这让我们超越了安装程序。

接下来,我想从Magento Connect下载主题。不幸的是,这是一个似乎与权限相关的错误。

Settings has not been loaded. Used default settings
Config file does not exists please save Settings
Warning: Your Magento folder does not have sufficient write permissions.

需要哪些权限才能通过?

我也看到有关连接字符串的错误。

Connection string is empty

虽然我们在这里,但为了使Magento功能齐全(并且安全),必须设置的总权限是多少?

我意识到Magento!= Wordpress。它与Wordpress一样安装友好。只要多一点点!

4 个答案:

答案 0 :(得分:18)

我使用以下脚本,并且不时地运行它。

将来,我将添加chown -R root.www-pub到最后,将所有必须修改代码的用户添加到www-pub组,并将umask设置为0002。与此同时,下面的脚本效果很好。

#!/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

答案 1 :(得分:9)

如果您使用的是开发环境,那就可以了:

chmod -R 777 /magento-directory/

否则应该这样做:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

第一行将找到文件夹并将它们chmod为755.第二行查找文件并将它们chmod为644.

来自Magento wiki article的更多内容。

答案 2 :(得分:-1)

以下链接适用于在Magento中设置权限

以下是我们需要为Magento运行的权限。

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

http://www.letsknowit.com/permissions-needed-to-run-Magento

答案 3 :(得分:-2)

使用以下命令设置权限,如官方文档所示:

find . -type f -exec chmod 400 {} \;

find . -type d -exec chmod 500 {} \; 

find var/ -type f -exec chmod 600 {} \; 

find media/ -type f -exec chmod 600 {} \;

find var/ -type d -exec chmod 700 {} \; 

find media/ -type d -exec chmod 700 {} \;

chmod 700 includes

chmod 600 includes/config.php

我还编写了一个完整的shell脚本来自动执行这些任务:mage-set-perms

作为奖励,脚本对于安全和数据完整性工具(如tripwire和助手等)也很温和。