【问题标题】:Magento: Your web server is configured incorrectlyMagento:您的网络服务器配置不正确
【发布时间】:2013-07-10 22:09:51
【问题描述】:

从实时 magento 设置中,我制作了一个 tar.gz,将其移至另一个 DirectAdmin 用户的域,提取 tar.gz,复制数据库,更改数据库中域的 URL。前端效果不错。

后端给我以下错误:

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

我已经检查了文件夹和文件的权限。还尝试通过 SSH 访问将权限从用户:组设置更改为与 DirectAdmin 用户名相同的用户。但这也不起作用。

请注意,此安装与实时环境位于同一台服务器上。

直播:(工作)http://imageshack.us/photo/my-images/197/nrhj.png/
测试:(不工作)http://imageshack.us/photo/my-images/542/uklz.png/

【问题讨论】:

  • 为这两个文件夹显示ls -la,这样我们就可以看到你有什么。
  • 看我的第一篇文章,我附上了图片

标签: magento ssh permissions rights


【解决方案1】:

特别检查 app/etc/local.xml 的权限,因为通常这意味着它是世界可读的。

此外,app/etc/ 中应该有一个 .htaccess 文件,它拒绝 Web 服务器提供内容。检查以防万一您的 tar 备份不包含它。通常这个问题是由于使用 FTP 客户端进行传输而导致隐藏文件可见性关闭。

【讨论】:

  • 丢失的 .htaccess 是我的问题。我进行了全新的 Magento 安装并获取了位于 /app(而不是 /app/etc/)的 .htaccess。 .htaccess 只包含:Order deny,allow Deny from all
【解决方案2】:

对于 Apache 2.4.x,您必须添加 Require all granted 所以它看起来像这样:

<Directory /var/www/magento>
  AllowOverride All
  # New directive needed in Apache 2.4.3: 
  Require all granted
</Directory>

来源:Apache: client denied by server configuration

【讨论】:

    【解决方案3】:

    我正在使用 Debian 7 和 Apache 2.2.22 和 Magento 1.9.1,添加

    <Directory /var/www/magento/>
                AllowOverride All
    </Directory>
    

    /etc/apache2/sites-available/default

    为我工作

    【讨论】:

      【解决方案4】:

      与 John Veldboom 的回答类似,我将此添加到 /etc/apache2/apache2.conf,因为我的 magento 安装在不同的目录 /var/www/html 中(例如,目录路径是提取 magento 的位置):

      <Directory /var/www/html/>
              AllowOverride All
              Require all granted
      </Directory>
      

      使用以下 apache2 和 ubuntu 发行版:

      root@test-VirtualBox:/var/www/html# dpkg -l apache2 && lsb_release -a
      Desired=Unknown/Install/Remove/Purge/Hold
      | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
      |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
      ||/ Name           Version      Architecture Description
      +++-==============-============-============-=================================
      ii  apache2        2.4.7-1ubunt amd64        Apache HTTP Server
      No LSB modules are available.
      Distributor ID: Ubuntu
      Description:    Ubuntu 14.04.1 LTS
      Release:    14.04
      Codename:   trusty
      

      【讨论】:

        【解决方案5】:

        我在 Debian 上遇到了这个问题,发现我的服务器级站点配置(在 /etc/apache2/sites-available/default 中)设置了 AllowOverride None。将该行更改为 AllowOverride All 修复了它。

        【讨论】:

          【解决方案6】:

          感谢 Haselnussstrauch,您的回答对我有用。我的设置在 apache2.conf 中

          sudo nano /etc/apache2/apache2.conf
          

          将默认 AllowOverride None 更改为 AllowOverride All

          <Directory /var/www/>
              Options FollowSymLinks
              AllowOverride All
              Require all granted
          </Directory>
          

          然后重启Apache:

          sudo service apache2 restart
          

          【讨论】:

            【解决方案7】:

            许多其他地方建议您可以通过将其添加到您的 httpd.conf 来阻止您的服务器的 IP 地址

            <Location />
            order allow,deny
            allow from all
            deny from aa.bb.cc.dd
            </Location>
            

            但是由于某种原因,这会导致所有其他 .htaccess 文件被忽略,包括用于保护 magento 的 .htaccess 文件。

            【讨论】:

            • 结束总结:不要用apache屏蔽ip地址(太可怕了),我用fail2ban,它好多了。
            【解决方案8】:

            我已解决问题,子文件夹(尤其是应用程序)内没有 .htaccess 正常。

            【讨论】:

              猜你喜欢
              • 2021-06-06
              • 2015-01-27
              • 2016-03-14
              • 1970-01-01
              • 2023-04-07
              • 1970-01-01
              • 1970-01-01
              • 2017-08-04
              • 2011-10-24
              相关资源
              最近更新 更多