Magento Apache配置(app/etc/local.xml可访问警告)

Joh*_*che 8 linux apache magento

刚刚在Linux服务器上安装了Magento.

当我转到Magento"管理面板"时,我可以在页面顶部看到以下消息.

您的Web服务器配置不正确.因此,可以从外部访问包含敏感信息的配置文件.请联系您的托管服务提供商

导致此错误消息的最可能原因是什么?

谢谢,

约翰戈切

Fia*_*abs 19

Magento在各种目录中使用.htaccess文件来拒绝访问目录树.你可以在app,media,var和Magento认为适合的地方找到它们.他们做了各种各样的事情,比如拒绝观看(app,var),执行(媒体.htaccess).要使这些.htaccess文件起作用,在doc root .htaccess或虚拟服务器配置中设置以下内容非常重要.

Options FollowSymLinks
AllowOverride All
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

对于在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
Run Code Online (Sandbox Code Playgroud)

对于下面的问题, app/etc文件夹应该具有以下.htaccess文件.试图通过服务器读取任何内容应该抛出403错误.您的下一步是与您的网络托管服务商取得联系,以找出该文件未被尊重的原因.

Order deny,allow
Deny from all
Run Code Online (Sandbox Code Playgroud)

注意:如果您正在使用其他http服务器(如nginx),则必须搜索在Magento目录树中创建的所有.htaccess文件,并在nginx设置中重新创建Magento使用的所有.htaccess函数,以便您拥有相同的文件/目录保护作为标准的Apache DSO安装.IIS上的Windows安装也是如此.