【问题标题】:change web root apache mac OS X更改 web 根 apache mac OS X
【发布时间】:2012-01-13 13:46:54
【问题描述】:

我无法在 apache 中更改我的 web 根目录,由于某种原因它指向 /Sites/folder1/folder2 而不是指向 /Sites。 我配置并更改了我的 apache <Directory "/Users/saad/Sites">DocumentRoot /Users/saad/Sites 重新启动了我的 apachectl,但仍然没有。

【问题讨论】:

  • 如果您还没有这样做,请尝试将 index.html 文件放在文档根目录中
  • 这个问题与编程无关,最好在Super User
  • @TomIngram 我添加了 index.html 重新启动了 apache,没有任何改变。

标签: macos apache


【解决方案1】:

我也遇到了这个问题。我需要更改 DocumentRoot 并将其指向我的自定义目录,该目录用于保存图像文件。

Berkay 是对的,您需要对您的 apache httpd.config 文件进行一些编辑,但除此之外,您还需要再进行一次更改,否则 WebSharing 将无法再次打开。

  1. 用你喜欢的编辑器打开你的httpd.config(如果你没有改变这个文件的访问权限,可能需要这样做)

    • sudo chmod 666 httpd.conf
    • 打开 httpd.config,开始编辑。
    • sudo chmod 644 httpd.conf,完成后,继续第2步(改回原来的权限)
  2. 找到DocumentRoot "/Library/WebServer/Documents",并将其更改为DocumentRoot "/Users/leiwang/Sites" 或您想要的任何其他文件夹。

  3. 重要的一点是,您需要为您指定的文件夹授予读/写权限。

    • sudo chmod -R 747 文件夹名称

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    在 osx 的 /etc/apache2/httpd.conf 中有一个 documentroot 属性。 所以我们可以像这样轻松地改变路径;

    DocumentRoot "{YOUR_ROOT_PATH}"

    【讨论】:

      【解决方案3】:

      我遇到了这个问题:一旦你将 web 服务器的根目录更改为默认值以外的位置(/Library/WebServer/Documents),你需要设置虚拟主机,否则,localhost 将不起作用,你会得到:
      403 Forbidden错误
      设置方法可以参考这个链接:
      http://coolestguidesontheplanet.com/set-virtual-hosts-apache-mac-osx-10-10-yosemite/

      如果您的 Max 运行的是 OS X 10.10,请确保以下行位于 web 目录的配置文件中:
      Require all granted

      供您参考,如果您遇到这种情况,我只是提醒您。

      【讨论】:

      • 我也收到了 403 Forbidden 错误。但是,我只是通过查看 DocumentRoot 路径中所有文件夹的权限来解决它。权限不正确。因此,我按照mediatemple.net/community/products/dv/204644980/… 中的建议在所有文件夹中执行了 chmod 755。然后就成功了!
      • 对我来说,主要问题是将<VirtualHost *:80> ServerName localhost DocumentRoot /Library/WebServer/Documents/ </VirtualHost> 添加到/etc/apache2/extra/httpd-vhosts.conf
      【解决方案4】:

      我去了 /etc/apache/users/saad.conf 并将这种形式的虚拟主机“www.x.dev”添加到我的虚拟主机列表的顶部。这暂时解决了这个问题。希望这会有所帮助

      【讨论】:

      • 也为我工作。如上所述,我还尝试编辑 httpd.conf,但没有成功。然后我将虚拟主机和相同的自定义 DocumentRoot 添加到我的 /etc/apache/users/aza.conf。像魅力一样工作。如果有人能解释原因,那就太好了。
      【解决方案5】:

      我遇到了和你类似的问题,/private/etc/apache2/ 下的 httpd.conf 将 DocumentRoot 定义为/Library/Webserver/Documents。但是那个目录不起作用!

      相反,实际工作的 DocumentRoot 是/usr/htdocs!奇怪!

      【讨论】:

        【解决方案6】:

        Apache 有多个同名文件httpd.conf

        “官方”路径在/usr/local/etc/httpd/httpd.conf

        【讨论】:

          【解决方案7】:

          如果这对其他人有帮助,Sierra 似乎在以下位置为我制作了一个备份文件:

          /etc/apache2/httpd.conf~上一个

          我能够将我的旧配置文件复制到新配置文件中,重新启动 apache 并且它可以工作。

          【讨论】:

            【解决方案8】:

            虽然我对我的文件夹拥有权限(并且也尝试了 chmod 解决方案),但它对我不起作用。

            我发现工作是编辑运行 htppd conf 文件的用户和组:

            在 httpd.conf 文件中,更改:

            User daemon to User yourMacUsername (you can find that from folder info)
            Group daemon to Group staff (this is the default)
            

            保存并重启apache

            【讨论】:

              【解决方案9】:

              如果有人收到403 forbidden 错误,请尝试更新httpd.config 文件中的DirectoryIndex。如果您忘记了文件夹中有 .php 文件。我的配置文件在这个路径 /private/etc/apache2/httpd.conf 这解决了我的 macOs Monterey 的问题

              DirectoryIndex index.html index.php
              

              【讨论】:

                猜你喜欢
                • 2012-07-05
                • 2017-05-08
                • 2012-03-31
                • 1970-01-01
                • 1970-01-01
                • 2020-06-03
                • 2017-03-06
                • 2012-02-08
                • 1970-01-01
                相关资源
                最近更新 更多