scy*_*gon 27 apache-http-server subdomain virtual-host
我有基于名称的托管,我们称之为my.address.com。我的朋友有一个“普通”地址,address.com并给了我一个可以通过 SSH 访问的虚拟机。
他还用端口创造了一些魔法,现在,安装 Apache 后,我可以/var/www通过my.address.com.
所以,问题是,我怎样才能创建一个子域test.my.address.com?
Apache 的 Listen Directive应该有一些魔力,但我无法弄清楚。另外,我知道如何使用 Apache 创建本地可用的站点,但它不一样。
Der*_*ler 33
为了能够创建子域,您必须确保以下几点:
所以其他人可以访问test.my.address.com,他们首先必须能够将该名称解析为您的虚拟机的 IP 地址。那怎么办呢?
您的朋友很可能已经在该区域中创建了一条A 记录,该记录address.com指向my您的 VM 的 IP 地址。
到现在为止还挺好。但是呢test.my?它可能还没有条目。
您的朋友也可以简单地添加*.my到该区域(并将其指向相同的 IP 地址)。然后所有请求something.my.address.com都将发送到您的 VM。伟大的!
一旦可以访问您的 VM,Apache 就必须知道如何处理请求。这是我们使用Apache HTTP 服务器的虚拟主机功能的地方。
我通常在 Debian 上运行,所以我将在/etc/apache2/sites-available. 让我们在那里调用一个文件test.my.address.com并在其中填充信息。
<VirtualHost *:80>
ServerName test.my.address.com
ServerAdmin webmaster@my.address.com
DocumentRoot /var/www/test.my.address.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test.my.address.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.my.address.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/test.my.address.com.access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
该文件中的关键设置是ServerName指令。这告诉 Apache 该服务器应该以哪个名称可用。可以使用ServerAlias 指令指定其他名称。
如果您也使用 Debian,请不要忘记sudo a2ensite test.my.address.com在创建文件和sudo invoke-rc.d apache2 restart.
| 归档时间: |
|
| 查看次数: |
102432 次 |
| 最近记录: |