跳到主要內容

QNAP NAS 輕鬆架設網站(含虛擬主機)



前言:

之前公司網站一直使用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個應該蠻基本的機型都有了。
當時原本覺得弄一台便宜的外接式硬碟盒就可以備份資料了,但最後還是選了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的工程師啊何必這樣搞使用者呢?(黑人問號)
[重點提示]:在Web/資料匣裡的index.php要換掉!!!

FTP架設實作:

到這裡網站總算架好了,接下來在NAS的控制台裡,把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失敗


結論:

以上的流程,我在沒有MIS工程師的幫助下完成了NAS網站架設,整整耗了一天的時間,找不到一篇好的文章可以清楚教學的~每一篇總是漏掉一些小小的關鍵的設定,就串不起來了~寫這篇文章希望能幫助到和我一樣遇到問題的人。


留言

  1. 謝謝分享非常詳細的說明成功架設網站~
    想請問您知道google的TXT記錄檔是在qnapNAS裡的哪裡設定呢?

    回覆刪除
    回覆
    1. 我沒有用過, 看官方說明是要安裝在DNS設定那裡,應該不是NAS主機上面喔 https://support.google.com/a/answer/183895?hl=zh-Hant

      刪除
  2. 謝謝分享, 我在PC架站都沒問題, 我去年買了S牌的NAS架站, 把PC的php檔案全部移植到NAS, 但發現html form 上傳檔案失敗(php的move_uploaded_file功能無效), .htaccess無作用(Rewrite URL無效), 還有mysql資料表欄位設NULL也沒用, 上傳資料若是空值, 就上傳失敗, 詢問了S廠的客服, 也說目前無開放這些功, 能請問大大, 您在Q nap NAS上架站會有這些問題嗎?

    回覆刪除
    回覆
    1. .htaccess 我還不太會設定;uploaded_file我之前測是成功的, mysql資料表傳空值沒出現過什麼問題; S牌我不熟呢~沒能幫到你, 謝謝

      刪除
  3. 這時會發現開啟的網頁又跳到8080PORT的NAS介面。我找了好久原因,才發現預設的index.php根本有問題,會自動跳到NAS介面?把它換掉就沒事了~
    QNAP的工程師啊何必這樣搞使用者呢?(黑人問號)

    請問大大 index.php 把它換掉就沒事了~
    請問要換什麼 我也遇到這個問題 謝謝你

    回覆刪除

張貼留言

這個網誌中的熱門文章

QNAP NAS 安裝SSL憑證 (https)

前言: 所謂的SSL憑證,其實也就是個安全認證的證明,免費到一年幾萬元都有,簡單說花愈多錢建立的證明,可以給來逛網站的人更多的信心,但也是防君子防不了小人吧(我覺得啦)。 在谷哥大神把沒有SSL的網址一律打為不安全的年代,只好乖乖的安裝吧~ 實作: 在自己NAS上安裝SSL,主要步驟就三個吧: (一)申請SSL (二)安裝到NAS (三)路由器設定 (一)申請SSL 免費和付費的差別,詳細可以參考 捕夢網的介紹 ,Let's Encrypt Free SSL免費的期限是3個月,所以要定期更換,使用上會比較麻煩一點,但對我而言省錢最重要,所以我選擇安裝這個。 申請方式請參考這篇: 免費線上取得網站SSL安全憑證 ,寫得很詳細,最後會下載一包憑證壓縮包,得到3個檔案,就可以開始下一步了。  (二)安裝到NAS 接下來到NAS的管理介面,進入控制台裡,選擇系統>安全設定>憑證與私人金鑰。 點選按鈕『取代現有憑證』,下拉選單『匯入憑證』,下一步。 有三個項目,對應剛下載回來的3個檔案,點選按鈕『套用』。 恭喜,已經完成安裝了。 接下來到應用服務>網站伺服器。 勾選『使用安全連(HTTPS)』通訊埠用預設的443就可以了。 接下來到應用服務>虛擬主機。 同樣網址增加HTTPS的協議,點選按鈕『套用』。  (三)路由器設定 我是使用ASUA的無線分享路由器,在虛擬伺服器裡面,要增加一個443的通訊埠,就可以對應到NAS裡了。 後記: 完成後再到瀏覽器輸入https自己的網址,就可以使用了,是不是很開心? [重點提示]:免費的三個月到期唷!!!

QNAP NAS的FTP連線成功卻無法取得目錄

前言: 某天忽然發現FTP可以連上NAS,但無法取得目錄,忽然感到莫名其妙。上網爬文也沒找到解答,多次測試下,終於找到原因和解法。  FTP可以連上NAS,但無法取得目錄 實作: 主要步驟就二個吧: (一)NAS的FTP設定:取消外部SSL (二)FTP軟體設定:指定主動模式  (一)NAS的FTP設定:取消外部SSL 控制台>網站&檔案服務>FTP:取消外部SSL  NAS的FTP設定:取消外部SSL (二)FTP軟體設定:指定主動模式 我是用FileZilla FTP軟體,在傳輸設定裡,選取主動模式 成功了,可以進入目錄