如何:在Apache 2.4.4上设置虚拟主机[MAC / * NIX]

时间:2013-09-11 11:20:59

标签: macos apache virtualhost

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

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

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

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

2 个答案:

答案 0 :(得分:19)

步骤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. 之内
  3. 取消注释类似于此的行:Include conf/extra/httpd-vhosts.conf
  4. 同时取消注释此模块导入:LoadModule log_config_module modules/mod_log_config.so
  5. 步骤4:配置虚拟主机文件

    1. 找到您的虚拟主机配置httpd-vhosts.conf,您可以注释掉文件中的两个示例虚拟主机。 通常在/conf/extra
    2. 之内
    3. 将您自己的虚拟主机从此模板复制到文件中:
    4. <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"访问“Everyone”的权限,例如。 “文件”或“电影”等....

答案 1 :(得分:1)

虽然上面的答案很明确,但在将虚拟主机迁移到apache 2.4时,以下两件事情是最重要的

  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中的虚拟主机添加为

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

    注意:<Directory **/**> /是重要的