我正在家里的 Windows 2008 服务器上设置 Apache。它将提供 2 个功能。
- Subversion 托管允许我和其他一些人使用版本控制来管理公司文档
- 用于网站开发的本地网站托管。需要运行多个网站,因为我通常同时在多个网站上工作。
这是我迄今为止所做的。
- 我使用一些演示步骤设置了 subversion 和 apache 2.2。
- 我将默认端口改为 1337。(我是个书呆子)
- 使用 dyndns.com 我创建了一个域名来转发到我的动态家庭 IP。(company.gotdns.org)
- 然后我进入我的 company.com 的 DNS 并添加了一条记录以将 repo.company.com 指向 company.gotdns.org
- 此时,需要访问我的文件存储库的人可以通过访问 repo.company.com/repo 进行访问,到目前为止一切正常。
我的问题出现在下一步,即使用 apache 设置虚拟主机。理想情况下,我希望公司中的其他人可以从家里查看我的本地网站。因此,假设我正在处理 site1,我希望他们能够通过访问 site1.roeland.bythepixel.com 来查看它。同时,我希望 site10.wouter.bythepixel.com 转到他对 site10 的本地设置。
我为此做了以下事情:
- 我进入 company.com 的 DNS,并添加了一条记录,将 roeland.company.com 指向 company.gotdns.org(转换为我的 IP)。
- 我在 httpd-vhosts.conf 中添加了代码(列在底部)
- 我将代码添加到我的主机文件(列在底部)
哈哈,所以这当然不能按预期工作。访问 site1.roeland.bythepixel.com 不会显示我的 test1 网站。有人能指出我可能错在哪里吗?谢谢!
主办方:
127.0.0.1 localhost
127.0.0.1 sensenich.roeland.bythepixel.com
::1 localhost
httpd-vhosts.conf:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "F:/Current Projects/sensenich.com"
ServerName sensenich.roeland.bythepixel.com
ErrorLog "logs/sensenich.roeland.bythepixel.com-error.log"
CustomLog "logs/sensenich.roeland.bythepixel.com-access.log" common
</VirtualHost>
答案1
我并不是这方面的专家,但在我的 vhosts.conf(在 Windows 上)中,documentroot 的路径看起来有点不同;
<VirtualHost *:80>
DocumentRoot /HOMEPAGES/duppen.nl
ServerName www.duppen.nl
ServerAlias duppen.nl
ErrorLog logs/duppen.nl-error.log
CustomLog logs/duppen.nl-access.log common
</VirtualHost>
然后在 httpd.conf 中添加/修改以下行:
DocumentRoot“W:/HOMEPAGES”
答案2
我进入 company.com 的 DNS,并添加了一条记录,将 roeland.company.com 指向 company.gotdns.org(转换为我的 IP)。
您说得基本正确。如果您希望site1.roeland.company.com
被转发,则需要添加通配符 DNS 条目,否则*.roeland.company.com
,ONLYroeland.company.com
会解析。