在虛擬主機的環境下,要添加一筆子網域是很簡單的,通常只要透過Cpanel當中的添加子網域功能就可以建立一個子網域。
不過要如何在Apache的環境下自行添加子網域呢? 最近將網站從虛擬主機搬到linode VPS 所以也遇到這個問題,下面分享一下方法。
以下操作是透過putty進行文字命令,但也可依照個人喜好使用WinSCP完成。
步驟一(step1):建立資料夾
此處假設網站放在 var/www/html
資料夾,要綁定的子網域是 demo.aidec.tw
mkdir /var/www/html/demo/
步驟二(step2):修改httpd配置
此階段我們要在httpd當中添加一段語法,讓伺服器能夠讀取我們自訂的配置。當然也可以直接將語法加入在此頁,但為了保持乾淨建議還是做分離。
進入httpd.conf
vi /etc/httpd/conf/httpd.conf
在httpd.conf 的最後加入以下內容
IncludeOptional sites-enabled/*.conf
加入後按[Esc]輸入 :wq!
在按[Enter](保存退出)
說明:
添加此串的用途是讓伺服器在運行時也會去解析 /etc/httpd/sites-enabled/
底下附檔名為 .conf
的文件
步驟三(step3):建立sites-enabled資料夾
上一步我們讓伺服器去監聽解析sites-enabled資料夾,所以我們必須要建立一個sites-enabled資料夾 (不然有可能會出錯)
mkdir /etc/httpd/sites-enabled/
步驟四(step4):添加自定義的.conf配置
接著,我們在 /etc/httpd/sites/enabled/
資料夾添加一個 subdomain.conf
的文件 (此處的 subdomain 可改成你喜歡的)
vi /etc/httpd/sites-enabled/subdomain.conf
輸入以下配置
#主網域的配置
<VirtualHost *:80>
ServerAdmin service@aidec.tw #輸入管理員的Email
ServerName www.aidec.tw #主網域名稱
ServerAlias aidec.tw #網域的別名
DocumentRoot /var/www/html/ #根目錄
ErrorLog /var/www/html/error.log #錯誤log路徑
CustomLog /var/www/html/requests.log combined
</VirtualHost>
#子網域的配置
<VirtualHost *:80>
DocumentRoot /var/www/html/demo #子網域的路徑 (對應第一步驟建立的資料夾)
ServerName demo.aidec.tw #子網域名稱
</VirtualHost>
如果有多筆子網域,則複製上方的子網域配置並將 路徑與子網域名稱改成對應的即可!
同樣 按[Esc] 輸入 :wq!
在按 [Enter](保存退出)
註:如果你網站的不是 80 port,請自行改成對應的 port
步驟五(step5):重新啟動apache伺服器
systemctl restart httpd.service
步驟六(step6):設定DNS
前幾個步驟,我們已經將apache需要設定的部分搞定了,剩下的就是去設定DNS。
在這邊我們以Linode VPS 作為範例 基本上只要將子網域與DNS A紀錄綁定就OK了
(1).進入 DNS Manager
在DNS Manager中點選您的主域名 (此處以本站aidec.tw為範例)
(2).添加一筆 A紀錄
將要綁定子網域名稱輸入在hostname,ip的部分則填自己網站的ip
這樣就完成子網域的綁定動作了,若之後還需要綁定更多子網域只須要從第四步驟開始即可!!
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/apache-subdomain-centos7
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記