刚刚在Linux服务器上完成安装Magento。
当我去到Magento“pipe理面板”时,我可以在页面顶部看到以下消息。
您的Web服务器configuration不正确。 因此,可以从外部访问具有敏感信息的configuration文件。 请联系您的主机提供商。
这个错误信息最可能的原因是什么?
谢谢,
约翰·戈奇
Magento在各种目录中使用.htaccess文件来拒绝对目录树的访问。 你会发现他们在应用程序,媒体,变种,以及Magento认为适合他们的任何地方。 他们做各种事情,如拒绝查看(应用程序,变种),执行(媒体.htaccess)。 要使这些.htaccess文件起作用,在doc根.htaccess或虚拟服务器配置中设置以下内容非常重要。
Options FollowSymLinks AllowOverride All
Magento很可能会检测到应用程序目录.htaccess文件不允许拒绝您的应用程序/ 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
对于下面的问题,应用程序/ etc文件夹应该有以下.htaccess文件。 尝试通过服务器读取任何内容应该会引发403错误。 您的下一步是与您的网站托管人联系,找出为什么该文件不被尊重。
Order deny,allow Deny from all
注意:如果您使用的是像nginx这样的替代http服务器,则必须搜索在Magento目录树中创建的所有.htaccess文件,然后在nginx设置中重新创建Magento使用的所有.htaccess函数,以便拥有相同的文件/目录保护作为标准的Apache DSO安装。 IIS上的Windows安装也一样。
我尝试了以上所有,并没有在我们的网络托管工作。 “AllowOverride All”在我们的vhosts.conf上不起作用,因此“忽略所有”被忽略。
将此代码添加到.htaccess,它的作品魅力…
##### Block access to local.xml ##### RewriteRule ^(.*)local.xml$ - [F,L]
1.在httpd.conf中添加以下内容。
<Directory "/var/www/html/app/etc"> Options FollowSymLinks AllowOverride All </Directory>
将ftp权限设置为local.xml => 600
sudo /etc/init.d/httpd restart
sudo /etc/init.d/httpd reload
Magento检查/app/etc/local.xml
是否可以访问(使用curl)。 您可以在浏览器中自行尝试验证。
要解决此问题,请确保此文件不再可见。 你怎么做取决于你的网络服务器。 Magento附带一个.htaccess
来防止访问,但你可能已经复制了没有隐藏文件的文件夹。 cp
不会复制它们。 或者apache无法访问.htaccess
检查文件的权限。
我通过以下步骤解决了这个问题:
确认Magento安装的app子目录中有一个.htaccess文件。 如果缺少.htaccess文件,请在包含以下指令的app子目录中创建一个新的.htaccess文件:
Order deny,allow Deny from all
确认文件权限设置正确。 一般来说,目录的权限应设置为755(对用户的读取,写入和执行权限,以及对组和世界的读取和执行权限)。 文件应具有权限设置为644(读取和写入权限的用户,并阅读组和世界的权限)。
请将.htaccess文件权限更改为644,然后刷新magento管理页面。
@Brijmohan karadia和@Spudley
你的解决方案奏效 我正在使用AWS Linux进行Magento安装。
进入/etc/httpd/conf/httpd.conf
在httpd.conf中添加以下内容。
选项FollowSymLinks AllowOverride全部
3.在文件路径/app/etc/local.xml中将SSH / FTP权限设置为local.xml => 600
应用程序的/ etc / local.xml文件需要被修改为600,错误将消失;)