2

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

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

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

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

4

2 回答 2

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. 打开httpd.conf位于 Apache2 子目录中的文件。通常在/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的文件不在您的用户明确拥有的任何文档中。如果需要,"Read Only"请在 Mac 上为该特定文件夹授予“所有人”的访问权限,例如“文档”或“电影”等....
于 2013-09-11T11:20:58.743 回答
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

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

注意:<Directory **/**>/ 很重要

于 2015-01-01T20:12:02.400 回答