是的,Ubuntu域名支持子域名。在Ubuntu系统上配置子域名的步骤如下:
如果你还没有安装DNS服务器,可以使用 bind9。以下是安装和基本配置的步骤:
安装Bind9:
sudo apt update
sudo 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/zones
sudo cp /etc/bind/db.local /etc/bind/zones/db.example.com
sudo 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
修改以下内容:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN A 192.168.1.100
ns1 IN A 192.168.1.100
编辑子域名区域文件 /etc/bind/zones/db.sub.example.com
:
sudo nano /etc/bind/zones/db.sub.example.com
添加以下内容:
$TTL 604800
@ IN SOA ns1.sub.example.com. admin.sub.example.com. (
;
;
;
;
;
)
@ IN NS ns1.sub.example.com.
@ IN A 192.168.1.101
重启Bind9服务:
sudo systemctl restart bind9
假设你使用的是Apache服务器,以下是配置子域名的步骤:
安装Apache:
sudo apt install apache2
配置虚拟主机: 创建一个新的虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/sub.example.com.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@sub.example.com
ServerName sub.example.com
ServerAlias www.sub.example.com
DocumentRoot /var/www/sub.example.com
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用虚拟主机:
sudo a2ensite sub.example.com.conf
重启Apache服务:
sudo systemctl restart apache2
http://sub.example.com
,确认子域名是否正确解析并显示内容。