我已经在 Windows 上使用 Xampp 一段时间了。我也想在 Mac OS X 上安装它,所以我复制了所有配置,但还是无法让虚拟主机正常工作。
1-我将其包含在/private/etc/hosts中:
127.0.0.1 localhost 127.0.0.1 somedomain.local
2-我将其包含在httpd.conf中:
DocumentRoot "/Volumes/Files/http" Include etc/extra/httpd-vhosts.conf
3-我将其包含在httpd-vhosts.conf中:
<VirtualHost 127.0.0.1>
DocumentRoot "/Volumes/Files/http"
ServerName "localhost"
</VirtualHost>
<VirtualHost 127.0.0.1>
DocumentRoot "/Volumes/Files/http/somedomain"
ServerName "somedomain.local"
</VirtualHost>
这与我在 Windows 上的配置基本相同。我在 MacOS 上得到的结果是,在主办方文件让你httpd配置文件的 DocumentRoot,IE/卷/文件/http而不是虚拟主机的根目录。有什么想法吗?
新标签:apache-vitual-hosts vhosts vhosts.conf 虚拟主机
编辑:
感谢大家的回答。我尝试解决这个问题,将 Include etc/extra/httpd-vhosts.conf 行移到 httpd.conf 中的另一个位置(不要问为什么),并且成功了。但现在的问题似乎是,唯一被识别的虚拟主机是第一个定义的虚拟主机。
/etc/hosts 上定义的所有域现在都指向该虚拟主机。如果我在 httpd-vhosts.conf 中将其注释掉并重新启动 apache,则所有域都指向第二个。
似乎声明全部都是问题?(但 Windows 上没有)
我尝试了 *,但没有成功。我会尝试 *:80,看看会发生什么。谢谢!
答案1
这在 OSX 上有效
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/dans-data"
ServerName dans-data.localhost
ErrorLog "logs/dans-data-on-localhost.log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
所以尝试一些类似的东西。祝你好运。
编辑:请注意,有几个不同之处,但最明显的是端口号。其中一些行绝对是可选的,例如 Error 和 CustomLog 行。
答案2
类似目录允许所有缺失的内容?
答案3
我相信如果有的话你必须安装 xampp 的 linux 或 Mac OSX 版本。
http://www.apachefriends.org/en/xampp-macosx.html好像就是那个。
由于每个操作系统中文件结构的设置方式,我认为该软件无法独立于平台运行。例如,很难定义 Linux 中 C:/xampp/htdocs 和 /opt/lampp/htdocs 的对应项(不确定 Mac 中对应项是什么)。