如何:在 Apache 2.4.4 [MAC / *NIX] 上设置虚拟主机
Posted
技术标签:
【中文标题】如何:在 Apache 2.4.4 [MAC / *NIX] 上设置虚拟主机【英文标题】:HOW TO: Set up a Virtual Host on Apache 2.4.4 [ MAC / *NIX ] 【发布时间】:2013-09-15 09:26:44 【问题描述】:我发布此内容是因为我最近在使用 MAMP 堆栈设置虚拟主机时遇到了很多麻烦,因为 Apple 在 Mac OS 10.8 的默认 Apache2 安装上限制了可用的 php 版本。
这是一个关于如何做的非常快速的指南,我应该在 Stack Overflow 上找到这个问题的解决方案:
Information Source您可以将其视为对我有用的方法的汇编,因为接受的答案没有效果,而是那些得分明显较低的答案。
同样,我看到的每个指南都没有提到用户在来源问题上回答的一些要点。
【问题讨论】:
【参考方案1】:虽然上面的答案解释性很强,但是当您将虚拟主机迁移到 apache 2.4 时,以下 2 件事是最重要的
转到wamp/bin/apache/apache2.4.x/conf/httpd.conf
找到#Include conf/extra/httpd-vhosts.conf
并取消对Include conf/extra/httpd-vhosts.conf
的注释
将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 **/**>
/ 很重要
【讨论】:
【参考方案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 上启用虚拟主机导入。
-
打开位于 Apache2 子目录中的
httpd.conf
文件。 通常在/conf
内
取消注释类似于以下内容的行:Include conf/extra/httpd-vhosts.conf
还取消注释此模块导入:LoadModule log_config_module modules/mod_log_config.so
第 4 步:配置您的虚拟主机文件
-
找到您的虚拟主机配置
httpd-vhosts.conf
,您可以注释掉文件中的两个示例虚拟主机。 通常在/conf/extra
内
将您自己的虚拟主机复制到此模板的文件中:
<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
这一行。以上是关于如何:在 Apache 2.4.4 [MAC / *NIX] 上设置虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac 上永久激活非管理员帐户的 XAMPP 的 apache 和 mysql
不清楚在 aws cloudformation yaml 模板中添加 --conf spark.jars.packages=org.apache.spark:spark-avro_2.11:2.4.4