刚刚在
Linux服务器上安装了Magento.
当我去Magento“管理面板”时,我可以看到以下消息
页面顶部.
您的Web服务器配置不正确.因此,可以从外部访问包含敏感信息的配置文件.请联系您的托管服务提供商
导致此错误消息的最可能原因是什么?
谢谢,
约翰戈切
解决方法
Magento在各种目录中使用.htaccess文件来拒绝访问目录树.你可以在app,media,var和Magento认为适合的地方找到它们.他们做了各种各样的事情,比如拒绝观看(app,var),执行(媒体.htaccess).要使这些.htaccess文件起作用,在doc root .htaccess或虚拟服务器配置中设置以下内容非常重要.
Options FollowSymLinks AllowOverride All
Magento很可能检测到不允许应用程序目录.htaccess文件拒绝对您的app / etc / local.xml文件进行网络访问,因此任何拥有Web浏览器的人都可以看到所有数据库凭据和加密密钥.
另一个问题可能是您的文件/目录权限过于宽松.
对于在FastCGI,SuPHP或LSAPI下运行的Magento
find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; chmod 550 pear #for Magento pre 1.5 chmod 550 mage #for Magento 1.5 and up chmod 550 cron.sh
对于在DSO下运行的Magento(mod_PHP)
find . -type f -exec chmod 644 {} \; find . -type d -exec chmod 755 {} \; chmod o+w var var/.htaccess app/etc chmod 550 pear #for Magento pre 1.5 chmod 550 mage #for Magento 1.5 and up chmod 550 cron.sh chmod -R o+w media
对于下面的问题,app / etc文件夹应该具有以下.htaccess文件.试图通过服务器读取任何内容应该抛出403错误.您的下一步是与您的网络托管服务商取得联系,以找出该文件未被尊重的原因.
Order deny,allow Deny from all
注意:如果您正在使用其他http服务器(如Nginx),则必须搜索在Magento目录树中创建的所有.htaccess文件,并在您的Nginx设置中重新创建Magento使用的所有.htaccess函数,以便您拥有相同的文件/目录保护作为标准的Apache DSO安装. IIS上的Windows安装也是如此.