在Ubuntu系统上设置子域名的步骤如下:
使用SSH登录到你的Ubuntu服务器。
ssh username@your_server_ip
如果你还没有安装DNS服务器,可以使用bind9
。以下是安装和基本配置的步骤:
sudo apt update
sudo apt install bind9 bind9utils bind9-doc
编辑主配置文件 /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. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.sub.example.com.
@ IN A 192.168.1.101
保存并退出编辑器。
sudo systemctl restart bind9
假设你使用的是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
<Directory /var/www/sub.example.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
保存并退出编辑器。
sudo a2ensite sub.example.com.conf
sudo systemctl restart apache2
确保你的域名注册商或DNS提供商已经配置了子域名的DNS解析,指向你的服务器IP地址。
在浏览器中访问 http://sub.example.com
,确认子域名是否正确解析并显示内容。
通过以上步骤,你应该能够在Ubuntu系统上成功设置子域名。