我正在运行 Debian 并且没有控制面板或任何东西。
现在,我只是将我的域指向服务器 IP,并且它会转到根目录,但我希望添加另一个域,那么我该怎么做呢?
我会将新内容指向 IP,但是我该如何让它指向不同的目录呢?
答案1
假设您正在谈论配置 HTTP 服务器,并且它是 Apache,在 Debian 中,VirtualHosts 在目录中进行管理/etc/www/apache2/sites-available
。您可以在此处创建一个文本文件,使用您想要的任何名称(最好使用与您要配置的域相同的名称)。
假设您有 site1.com。您创建/etc/www/apache2/sites-available/site1.com
包含以下内容的文件:
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/sigma/html>
Options FollowSymLinks MultiViews
Order allow,deny
allow from all
</Directory>
LogLevel warn
CustomLog /var/log/apache2/site1.com/access.log combined
ErrorLog /var/log/apache2/site1.com/error.log
</virtualHost>
/etc/www/apache2/sites-enabled
您可以像这样创建符号链接:
# cd /etc/www/apache2/sites-enabled
# ln -s ../sites-available/site1.com 000-site1.com
这将设置您的第一个虚拟服务器。如果您希望将此site2.com
文件复制到以此新域命名的另一个虚拟服务器,并相应地更改参数:
- 服务器名称
- 服务器别名
- 文档根目录
- 目录
- 自定义日志
- 错误日志
创建正确的符号链接并重新加载 apache(/etc/init.d/apache2 reload
)
默认情况下,您将有一个文件/etc/apache2/sites-available/default
,用于设置 apache 的默认虚拟主机。这仅仅是因为它首先作为 加载/etc/apache2/sites-enabled/000-default
。它只是另一个虚拟主机。
就 DNS 记录而言,您只需将 site2.com 指向与 site1.com 指向的相同地址即可。
此配置选项还有更多内容,您可以阅读Apache HTTP 服务器官方文档。
编辑:
cgi-bin 目录只是作为每个虚拟主机上的另一个指令来描述的。只需在 site1.com 配置文件中添加类似以下内容的内容:
ScriptAlias /cgi-bin/ /some/path/to/site1/cgi-bin
以及 site2.com 配置文件:
ScriptAlias /cgi-bin/ /some/path/to/site2/cgi-bin
或者您甚至可以为两台服务器共享同一个目录。有关在 Apache 上配置 CGI 的更多信息
答案2
我假设您使用 Apache 作为 Web 服务器。如果是这样,您希望实现虚拟主机 - 两个(或更多)域,一个 IP。
这里有一些不错的教程帮助您开始...