【问题标题】:HOW TO: Set up a Virtual Host on Apache 2.4.4 [ MAC / *NIX ]如何:在 Apache 2.4.4 [MAC / *NIX] 上设置虚拟主机
【发布时间】:2013-09-15 09:26:44
【问题描述】:

我发布此内容是因为我最近在使用 MAMP 堆栈设置虚拟主机时遇到了很多麻烦,因为 Apple 在 Mac OS 10.8 的默认 Apache2 安装上限制了可用的 PHP 版本。

这是一个关于如何做的非常快速的指南,我应该在 Stack Overflow 上找到这个问题的解决方案:

您可以将其视为对我有用的方法的汇编,因为接受的答案没有效果,而是那些得分明显较低的答案。

同样,我看到的每个指南都没有提到用户在来源问题上回答的一些要点。

【问题讨论】:

    标签: macos apache virtualhost


    【解决方案1】:

    虽然上面的答案解释性很强,但是当您将虚拟主机迁移到 apache 2.4 时,以下 2 件事是最重要的

    1. 转到wamp/bin/apache/apache2.4.x/conf/httpd.conf 找到#Include conf/extra/httpd-vhosts.conf 并取消对Include conf/extra/httpd-vhosts.conf 的注释

    2. wamp/bin/apache/apache2.4.x/conf/extra/httpd-vhosts.conf中的虚拟主机添加为

    <VirtualHost *:80>
            ServerAdmin admin@localhost.com
            DocumentRoot "H:/Wamp/www/mysite"
            ServerName mysite
            ServerAlias mysite
            <Directory />
                Require all granted
            </Directory>
        </VirtualHost>
    

    注意:&lt;Directory **/**&gt; / 很重要

    【讨论】:

      【解决方案2】:

      第 1 步:安装和配置 Apache。

      确保指定要监听的端口,对我来说,我指定了8080。这一系列说明就是这种情况。

      Listen 8080 - 默认为 80

      第 2 步:编辑您的 /etc/hosts 文件以欺骗您的环回地址 127.0.0.1

      127.0.0.1   localhost
      127.0.0.1   some.example         # domain-name.domain-TLD
      127.0.0.1   www.some.example     # The same as the above line, but with www. prefixed
      

      你真的应该在你的网络服务器、Apache 或 Nginx(或者你使用的任何其他东西。将 www 路由到非 www 的东西。

      第 3 步:在 Apache 上启用虚拟主机导入。

      1. 打开位于 Apache2 子目录中的 httpd.conf 文件。 通常在/conf
      2. 取消注释类似于以下内容的行:Include conf/extra/httpd-vhosts.conf
      3. 还取消注释此模块导入:LoadModule log_config_module modules/mod_log_config.so

      第 4 步:配置您的虚拟主机文件

      1. 找到您的虚拟主机配置httpd-vhosts.conf,您可以注释掉文件中的两个示例虚拟主机。 通常在/conf/extra
      2. 将您自己的虚拟主机复制到此模板的文件中:
      <VirtualHost *:80>                           # Change the 80 to the number Apache2 "Listen"s on. In my case, 8080
          ServerName SERVER-ADDRESS                # E.g. mywebsite.local
          ServerAlias WWW.SERVER-ADDRESS           # E.g. www.mywebsite.local
          DocumentRoot " SERVER-FILE-ROOT "        # E.g. "Users/user-name/Sites"
              <Directory />                        # This should be a full path, though
                  Require all granted              # Required for permission errors
                  Options Indexes FollowSymLinks Includes ExecCGI
                  AllowOverride none
              </Directory>
      </VirtualHost>
      

      你完成了!

      根据您的喜好编辑您的虚拟主机后,只需重新启动 Apache 即可享受。

      本指南已包含已实施的修复,但万一您仍然遇到权限错误:

      • 您必须确保您的DocumentRoot 不在您的用户明确拥有的任何文档中。如果需要,请在 Mac 上为该特定文件夹授予 "Read Only" 访问“所有人”的权限,例如“文件”或“电影”等......

      【讨论】:

      • (+plus) 如果你在 htttpd.conf 中添加这一行 Include /private/etc/apache2/users/*.conf 打开文件 /private/etc/apache2/users/you_username.conf ` 要求所有授权 `
      • 我使用的是Apache/2.4.16 (Amazon),默认的httpd.conf不包括Include conf/extra/httpd-vhosts.conf/conf/extra这一行。
      猜你喜欢
      • 2010-10-23
      • 2011-02-09
      • 2011-12-23
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 2017-05-30
      • 2013-07-31
      相关资源
      最近更新 更多