在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系統上成功設置子域名。