前言:
之前公司網站一直使用EC2空間+Godaddy DNS代管,大約有10年的時間,當時公司有MIS人員協助設定,我知道它的功能很強大,但設定很複雜;這幾年下來偶爾遇到幾次官方來信通知,伺服器會重啟之類的,instance會被暫停,但只要去到後台再重新啟動就好~但愚人節那天再度出現網站連不上,不意外又是官方方面主動的維護什麼之類的,但這次我卻完全恢復不了網站,看信件內容只要重設重建網站start就好,或許對MIS是很輕鬆的事,但公司早就結束了,我也不好意思一直麻煩之前的MIS人員處理。
其實我要的只是簡單的網站,只希望穩定不要掛掉就好,對於官方總是主動的停掉服務我真的無法認同,況且最近又有漲價,每個月又被多扣好幾元的美金,這次恢復不了乾脆就停掉使用,也省下一筆費用。
上圖:愚人節時停掉我的主機,真的很有趣!
上圖:明明就已經重新runing還是無法連上網站
NAS架網站需求:
剛好去年買了台NAS主機,就來試試NAS架設網站吧。
(1)上網固定IP:必須要有可以上網的固定IP(WAN),我使用中華電信的寬頻固定IP上網。
(2)Domain網域:其實網址非必要性,用固定IP也可以連上網站~只是有網址好記,而且可以開設子網域(例:XXX.domain.com)。
(3)Router路由器:ASUS RT-N66U 官網介紹
好多年前買的大約3千出頭吧~必須有Port forwarding+UPnP的功能,這2個應該蠻基本的機型都有了。
(4)NAS主機:QNAP TS431P2 官網介紹
當時原本覺得弄一台便宜的外接式硬碟盒就可以備份資料了,但最後還是選了NAS;其實NAS主機就是一台小型伺服器,大約1萬出頭(不含硬碟),功能很多,可以同時滿足備份+雲端+伺服器。
NAS架網站概述:
首先爬文找到了這篇QNAP架網站教學,寫得很完整了,但其實只說明了如何設定多個子網域,老手如我還是一臉茫然不知所措,只好整理一下觀念。
原則上,就是這四大部分 :
(一)網域申請
(二)DNS設定
(三)路由器設定
(四)NAS設定
就可以完成網站的架設了~
網址和DNS有許多的教學資源了,這裡就簡單帶過;其實路由器前面還要接一台中華電信的小烏龜,這裡就不討論寬頻上網硬體接線的部分。
最主要是路由器到NAS的部分,原以為很簡單,卻搞了我一天的時間,中間遇到很多問題,因此下面實作紀錄一下,避免日後忘記。
架網站實作:
(一)DOMAIN網域:
我在Hinet申請一個網域,DNS代管要設定導向。(二)DNS代管:
這次改用FreeDNS很簡單,一次設定就上手了。可以參考智邦的教學。原則上輸入你申請的網址,加上你自己的固定IP就可以了。
(三)Router路由器設定:
不管是由固定IP(WAN範例:59.127.XX.XX)或是網址連線過來,都會先來到路由器再去找到NAS,所以NAS本身的內部IP(LAN)不能浮動的,要指定一個(範例:192.168.1.50)。接著要設定Port forwarding,這功能就是把固定IP(WAN)依據通訊埠PORT前往內部IP(LAN)對應的服務。
每一組前面的"通訊埠範圍"指的是來源使用的PORT,後面的"本地通訊埠"指的是在NAS設定要對應的PORT,通常用預設的PORT 就可以了,例如:PORT80就去HTTP,PORT20,21就去FTP,PORT8080前往NAS的主介面。
PS:由於這台路由器本身也有雲端功能,為了怕衝突我都關掉了,然後還是用最原始的預設服務。路由器的UAT+UPnP的功能記得要打開。
PS:ASUS把Port forwarding翻譯成"虛擬伺服器"有點怪怪的,裡面的說明為"通訊埠轉發"或旁邊的"通訊埠觸發"還比較貼切一點,也害我一開始找錯地方,可以參考ASUS的官方教學。
[重點提示]:"通訊協定"要設成BOTH
Port forwarding所有的教學的"通訊協定"都是用TCP,害我卡關了半天一直無法成功,結果改成BOTH就可以正常觸發了。
上圖:NAS的內部IP一定要固定
上圖:路由器的UAT+UPnP的功能記得要打開。
上圖:"通訊協定"要設成BOTH
(四)NAS設定:
依照QNAP架網站教學這篇的指導,在NAS的控制台裡,把網站伺服器、虛擬主機勾選。下面點擊本地IP可以預覽網站了。子網域的設定,官方教學很清楚了,記得開幾個子網域要去DNS那裡作同樣的設定。
上圖:點擊本地IP可以預覽網站
上圖:設定HTTP要前往的資料匣,指向Web/底下就對了
這時會發現開啟的網頁又跳到8080PORT的NAS介面。我找了好久原因,才發現預設的index.php根本有問題,會自動跳到NAS介面?把它換掉就沒事了~
QNAP的工程師啊何必這樣搞使用者呢?(黑人問號)
QNAP的工程師啊何必這樣搞使用者呢?(黑人問號)
[重點提示]:在Web/資料匣裡的index.php要換掉!!!
FTP架設實作:
到這裡網站總算架好了,接下來在NAS的控制台裡,把FTP服務打開,目錄設成/Web。
FTP使用者的帳密也可以到權限那裡去新增,記得把FTP使用者的權限設定/Web的資料匣。
這樣才能維護網站內容。
FTP使用者的帳密也可以到權限那裡去新增,記得把FTP使用者的權限設定/Web的資料匣。
這樣才能維護網站內容。
遇到卡關的檢查方式:
按照流程來作,的確是依這順序"網域>DNS>路由器>NAS",但在實作時,不可能一次就完成,大致上是反過來確認,先由內部IP確認網站的http服務成功,再來是固定IP(WAN)有成功對應到NAS,再來是DNS有確實把網址導向固定IP(WAN)
由於四大部分都是不同平台,所以都要一一確認有正確接上。需要用到一些工具和方法來作確認。
(1)內部IP確認網站的http服務成功
在瀏覽器輸入內部IP的80PORT(範例:http://192.168.1.50:80),成功就會有看到放在/Web底下的預設網頁;若失敗要回去NAS介面控制台檢查。(2)固定IP(WAN)有成功對應到NAS
在瀏覽器把IP換成固定IP(WAN,例如:59.127.XX.XX),要看到一樣的預設網頁才算成功;若失敗要回去路由器檢查Port forwarding"通訊埠轉發"是否成功設定。
可以用PORT檢查工具檢查PORT是否正確打開。
PORT成功
PORT失敗
(3)DNS有確實把網址導向固定IP(WAN)
瀏覽器把固定IP(WAN)換成申請的www.xxx.com,要看到一樣的預設網頁才算成功;若失敗要回去DNS和網域DOMAIN的設定檢查。
也可以用IP查詢工具檢查網址和IP是否正確。
FreeDNS有提供簡單的查詢
DNS成功or失敗
謝謝您的文章分享!
回覆刪除感謝~很詳盡的介紹
回覆刪除謝謝分享非常詳細的說明成功架設網站~
回覆刪除想請問您知道google的TXT記錄檔是在qnapNAS裡的哪裡設定呢?
我沒有用過, 看官方說明是要安裝在DNS設定那裡,應該不是NAS主機上面喔 https://support.google.com/a/answer/183895?hl=zh-Hant
刪除謝謝分享, 我在PC架站都沒問題, 我去年買了S牌的NAS架站, 把PC的php檔案全部移植到NAS, 但發現html form 上傳檔案失敗(php的move_uploaded_file功能無效), .htaccess無作用(Rewrite URL無效), 還有mysql資料表欄位設NULL也沒用, 上傳資料若是空值, 就上傳失敗, 詢問了S廠的客服, 也說目前無開放這些功, 能請問大大, 您在Q nap NAS上架站會有這些問題嗎?
回覆刪除.htaccess 我還不太會設定;uploaded_file我之前測是成功的, mysql資料表傳空值沒出現過什麼問題; S牌我不熟呢~沒能幫到你, 謝謝
刪除謝謝~
刪除這時會發現開啟的網頁又跳到8080PORT的NAS介面。我找了好久原因,才發現預設的index.php根本有問題,會自動跳到NAS介面?把它換掉就沒事了~
回覆刪除QNAP的工程師啊何必這樣搞使用者呢?(黑人問號)
請問大大 index.php 把它換掉就沒事了~
請問要換什麼 我也遇到這個問題 謝謝你