是的,Ubuntu域名支持子域名。在Ubuntu系统上配置子域名的步骤如下:
- 安装和配置DNS服务器(可选):
如果你还没有安装DNS服务器,可以使用 bind9。以下是安装和基本配置的步骤:
安装Bind9:
sudo apt updatesudo apt install bind9 bind9utils bind9-doc
配置Bind9:编辑主配置文件 /etc/bind/named.conf.local
,添加你的域名和子域名的区域配置:
sudo nano /etc/bind/named.conf.local
添加以下内容(假设你的主域名是 example.com
,子域名是 sub.example.com
):
zone "example.com" {type master;file "/etc/bind/zones/db.example.com"; # 主域名区域文件};zone "sub.example.com" {type master;file "/etc/bind/zones/db.sub.example.com"; # 子域名区域文件};
创建区域文件:创建主域名和子域名的区域文件:
sudo mkdir /etc/bind/zonessudo cp /etc/bind/db.local /etc/bind/zones/db.example.comsudo cp /etc/bind/db.local /etc/bind/zones/db.sub.example.com
编辑主域名区域文件 /etc/bind/zones/db.example.com
:
sudo nano /etc/bind/zones/db.example.com
修改以下内容:
$TTL604800@ INSOA ns1.example.com. admin.example.com. (3 ; Serial 604800 ; Refresh86400 ; Retry2419200 ; Expire 604800 ) ; Negative Cache TTL;@ INNSns1.example.com.@ INA 192.168.1.100ns1 INA 192.168.1.100
编辑子域名区域文件 /etc/bind/zones/db.sub.example.com
:
sudo nano /etc/bind/zones/db.sub.example.com
添加以下内容:
$TTL604800@ INSOA ns1.sub.example.com. admin.sub.example.com. ( ; ; ; ; ;)@ INNSns1.sub.example.com.@ INA 192.168.1.101
重启Bind9服务:
sudo systemctl restart bind9
- 配置Web服务器(如Apache或Nginx):
假设你使用的是Apache服务器,以下是配置子域名的步骤:
安装Apache:
sudo apt install apache2
配置虚拟主机:创建一个新的虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/sub.example.com.conf
添加以下内容:
<VirtualHost *:80>ServerAdmin webmaster@sub.example.comServerName sub.example.comServerAlias www.sub.example.comdocumentRoot /var/www/sub.example.comOptions Indexes FollowSymlinksAllowOverride AllRequire all grantedErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
启用虚拟主机:
sudo a2ensite sub.example.com.conf
重启Apache服务:
sudo systemctl restart apache2
- 配置DNS解析:
- 测试:
http://sub.example.com
,确认子域名是否正确解析并显示内容。