Skip to main content

在現今數位時代,每個人在各種3C裝置所累積的數位資料,都有不少容量。放雲端嘛… 要花錢租儲存空間;買NAS嘛… 又要投資不少成本;自己組嘛… 好像很複雜,要懂Linux設定什麼的,真頭痛…

那麼有沒有最快的方法,不用重新分割硬碟、也不用重新安裝作業系統,就能在既有熟悉的Windows使用環境下,打造自己的NAS私有雲呢?

當然有! 具體做法就是在Windows環境下,安裝一套虛擬環境,以便執行NAS/Private Cloud的作業系統環境。搭配一些輕鬆的設定步驟,即可快速把自己的Windows電腦打造成具有Dropbox/OneDrive/Google Drive/iCloud等級的私有雲,可以讓使用者在電腦、手機或平的App,來存取或同步各式檔案,當然要直接預覽或編輯文字/Office檔案,或直接播放圖片、影片等多媒體檔案也是可以的,用起來非常方便。

此外,自建雲還有一些優勢,例如您可將手機照片和影片設定成可自動同步到這台電腦裡面,這樣就不用花錢租用iCloud、Google Cloud、Dropbox等那些公有雲端空間了。心動了嗎? 以下就開始吧! 我們以Nextcloud AIO這套軟體來進行實作。

在 Windows 下部署 Nextcloud AIO的方法

Nextcloud是一套私有雲儲存兼辦公協作軟體,為開源軟體,其被設計可安裝於Linux、Docker等實體機或虛擬機環境,將本機或外部硬碟空間分享出來,給特定使用者在任何地方存取或同步使用。除了硬碟資料分享之外,Nextcloud還具備交談、通訊錄、工作項目、日曆、活動、卡片等辦公室必備的協作需求,並具有應用商店可以擴充其他功能。

這裡我們以Nextcloud AIO套件,在您的Windows環境下,打造出私有雲。

目標確認

以下是這次的目標:

  1. 想將目前Windows電腦當成NAS檔案伺服器,讓手邊所有裝置的照片等重要資料,可以儲存在這台電腦。
  2. 平時該Windows電腦可當工作站,不用或離開時,可當私有雲檔案伺服器,一機兩用。

部署Nextcloud的先決條件

要讓自己的電腦也能透過外部連接,成為一台具有SSL等級網站伺服器,那麼以下就是您必備的:

  1. 不能用電信網路 (CGNAT),一定要有專屬對外IP (最好是固定IP),因此只適合裝有固網、ADSL、VDSL、FTTH環境使用,那些用4G/5G路由器或是CATV來上網的就只能打消念頭了。
  1. 必須有一組DNS或DDNS (建議可去com申請一組免費 DDNS),若您是浮動IP的話,只要您路由器有支援DynDNS也行,請先在裡面設定好。
  1. 當然就是要有一台Windows 10/11的PC,裝有高容量硬碟(或RAID儲存池)

Nextcloud的多種部署方式

由於Nextcloud套件有很多安裝方式,有安裝到Linux環境下、有安裝到Docker環境下,也能安裝到Ubuntu Server的snap底下。由於這些都是Linux環境下才能使用,而且裝好之後,還要做許多設定與調校,這樣對於Windows用戶來說,根本是個折騰。

為此,Nextcloud推出了一個Nextcloud AIO套件,可安裝於Windows環境。這個鏈結是官方的作法 (https://nextcloud.com/blog/your-guide-to-the-nextcloud-all-in-one-on-windows-10-11/ ),其建議使用者安裝 Docker for Windows (https://www.docker.com/get-started/),再開一個Command Prompt去下一道很長的指令,來部署Nextcloud AIO的Docker執行環境,讓您的Windows電腦執行Nextcloud的容器。

不過,由於Docker for Windows版本,會先安裝WSL 2 (Windows Subsystem for Linux v2)的Linux虛擬環境,然後再透過部署Docker的執行容器來達成。這樣的作法雖然方便,但會有以下缺點:

  1. Docker環境不一定好管理,若搞壞了,可不像VM那樣能快照並快速還原。
  2. 在WSL 2下設定一些Linux低階環境時,不如Linux VM那樣直覺且問題少。
  3. 初次安裝時,檢查Domain步驟有可能卡關,若要設定反向代理太麻煩,不如部署VM方便。

經過上述踩雷階段,我們認為上述WSL 2 + Docker + Nextcloud AIO的部署方式有點不靠譜,因此我們建議 VirtualBox + Nextcloud AIO VM的方式。只要安裝好免費的VirtualBox與延伸套件,並搭配官方的Nextcloud ova,這樣會讓您的Nextcloud應用更加直覺。優勢如下:

  1. VirtualBox虛擬環境執行Linux效能不錯,可設定自己的網路環境,亦可依需求配置vCPU、vMemory的數量。
  2. Nextcloud官方有提供Nextcloud AIO的ova (Open VM Appliance)虛擬機部署檔,不用從頭安裝,只要點兩下ova檔,就可以快速建構好VM執行環境,只要簡單微調一些參數就好。
  3. 若您Windows要做其他用途,暫時沒要用Nextcloud服務時,可直接把VM和VirtualBox關閉即可。不像WSL 2加Docker那樣還會佔用一些系統資源。

Windows端部署開始

準備好了嗎? 以下我們就開始部署吧!

  1. VirtualBox主程式: 到 https://www.virtualbox.org/wiki/Downloads 下載 VirtualBox 的Windows主程式, 和 VirtualBox Extension Pack(延伸套件):
          VirtualBox 7.0.12主程式: https://download.virtualbox.org/virtualbox/7.0.12/VirtualBox-7.0.12-159484-Win.exe
          VirtualBox延伸套件: https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack

  1. https://download.nextcloud.com/aio-vm/ 下載 Nextcloud-AIO.ova檔案。

  1. 安裝好VirtualBox主程式、點兩下Extension Pack來安裝延伸套件,安裝過程就不細說。好了之後,最後再點兩下 nextcloud ova,就可以匯入VM環境 (VirtualBox安裝過程可能會需要額外安裝VC++ Redistributable套件,就一併安裝好)

  1. 參考 https://download.nextcloud.com/aio-vm/readme.md 說明,將VM的網路卡設定成 Bridge (橋接)模式,網路卡則指定你Windows電腦的實體網路卡。以便讓你Windows電腦和這個Nextcloud VM處在相同LAN網域內。

  1. 將Nextcloud AIO的VM啟動(開機),並登入VM (預設帳密是 ncadmin / nextcloud),然後利用 sudo -i 指令切換成root帳號 (要再輸入一次密碼)

接下來您若擔心設定錯誤的話,您可以充分利用VM的優勢,即隨時將VM快照,設錯的話,只要將VM停機後再還原,即可恢復上一動,不用全部重來!

  1. 在Nextcloud VM裡面,更新套件庫、安裝必要套件,將原本是動態IP的網路環境改成固定IP,以便後面網路串接使用。

          apt update                                        # 更新套件庫

          apt install -y nano net-tools iputils-ping smbclient cifs-utils  # 安裝必要套件

          nano /etc/netplan/00-installer-config.yaml   # 編輯網路設定檔

 

          依照下面修改就行了:


# This is the network config written by ‘subiquity’

network:

  ethernets:

    enp0s3:                 # 你虛擬機的網卡裝置 (此值會變)

      addresses:

      – 10.0.0.9/24      # nextcloud vm固定ip位置(請依你LAN環境設定)

      nameservers:

        addresses:

        – 8.8.8.8            # DNS位置 (用Google DNS,也可用其他的)

      routes:

      – to: default

        via: 10.0.0.1      # 你路由器的gateway位置

version: 2


          改好後,按Ctrl+X,然後Y,離開nano文字編輯器並寫入變更,然後在Nextcloud VM下,輸入下面指令來重新設定IP。

          netplan try             # 測試語法是否有誤,然後選擇是否套用

         

          netplan apply        # 直接套用新的網路設定

  1. 接下來就可以用新的IP來連。此時可以透過你Windows主機去ping一下:

          ping 10.0.0.9

  1. 確定ping有回應之後,接下來就是設定你路由器上面的port forwarding(埠口映射)了,這部份要依各家路由器品牌的設定方式來設定。我們這裡以iKuai軟路由為例做示範。只要設定443埠對應到上面那台虛擬機即可,80埠可以不設定。

內網地址: 10.0.0.9

內網埠口: 443

通訊協議: TCP+UDP

外網埠口: 443

 

## 80 port可以不設 **

內網地址: 10.0.0.9

內網埠口: 80

通訊協議: TCP+UDP

外網埠口: 80


此處以iKuai軟體路由器設定畫面為例,請參考自己路由器的設定方式來設定。

  1. 接著查詢自己的對外IP,可到 https://whatismyipaddress.com/zh-tw/index 去查詢。將該公眾IP記下(例如211.72.xx.xx),然後到 https://www.noip.com ,申請一個免費帳號,可獲得一組免費的 DDNS服務。好了之後,到 Dynamic DNS,No-IP Hostnames,去Create Hostname,此時只要設定你好的DDNS名字 (例如osslabnc.ddns.net),然後對應到您到前面的公眾IP 就可以了。DDNS通常只有幾分鐘,就會生效。

  1. 接下來就可以開啟Windows主機的瀏覽器,連接內網IP:8080 (例如 https://10.0.0.9:8080 )來做 Nextcloud初始化設定。首次設定時,Nextcloud AIO會秀出隨機密碼 (8組英文字),請務必記下此密碼。

a) 主畫面輸入登入隨機密碼登入,接下來應該會更新Mastercontainer,就更新吧! 等完成後,會進入主要設定畫面。

b) 在網址那邊就輸入您的DDNS域名 (例如osslabnc.ddns.net) 然後 submit domain即可。

c) 接著可選擇安裝最新版Nextcloud container,記得下載並更新一下。至於下面的Optional containers那邊,可視您的需求來安裝。

d) 再來其餘都由 Nextcloud自己搞定,等所有Container都啟動完畢(可能要10分鐘),就安裝成功,包括網站SSL憑證都幫您搞定。

  1. 安裝完成時,畫面會顯示 admin 帳號和初始密碼! 接下來就可以在內網或外網,輸入您的DDNS網址 (例如 https://osslabnc.ddns.net ),就可以進入Nextcloud AIO 的主控畫面。

  1. 登入admin帳號之後,若需要修改密碼,點右上方A圖示,然後「個人設定」,左側的個人、安全性選單下,就可以更改密碼。

  1. 若.docx, .pptx, .xlsx等檔案無法預覽,可能是Collabora (Next Office)設定有問題,可嘗試改成Demo Server,或者是在應用程式區那邊,新增並改用OnlyOffice也是可以的。

  1. 若需要對Nextcloud AIO進行備份,可以到 https://10.0.0.9:8080 後台進行。(備份或還原過程中,所有Container都會停止,也就是整個Nextcloud服務都會暫時停擺,因此盡量選深夜來備份。或者直接備份整個VM就可以了)

以上,Nextcloud AIO自建雲就完成了! 最後記得Windows主機要在「電源與睡眠」那邊,設定成永不睡眠,以免外面連不進來。

 

後續的資料夾分享設定

若要讓Nextcloud可以存取Windows主機的資料夾,以便存放大量資料。那麼建議先將Windows主機改成固定IP (Static IP),例如 10.0.0.8,讓Nextcloud VM可以直接存取,而不會因為IP跑掉又得重設。

先在Windows主機這端設定好要分享的資料夾(例如NC_SHARE),並指派使用者帳號與密碼,即可開啟檔案分享。記得確認權限是否有設定可讀寫。

接著要在Windows「防火牆與網路保護」中,點選「允許應用程式通過防火牆」,選擇「變更設定」,然後在「檔案及印表機共用」那邊打勾,右邊「私人」和「公用」記得打勾,然後「確定」。Windows主機端的設定就搞定。

至於在Nextcloud端。先以瀏覽器連到Nextcloud頁面,並以admin帳號登入Nextcloud,然後在右上方的A 圖示按一下,選「應用程式」,將External storage support啟用。接著回到「管理設定」,左列下方的管理群集裡面,可以看到「外部儲存空間」,將資料夾分享出來即可。

接著在「新增儲存空間」選擇SMB/CIFS。左邊資料夾自定是SMB (可以改成你要的名字),然後在設定區的「主機」輸入Windows主機的內內部IP,「分享」欄輸入要分享出來的「資料夾」(例如NC_SHARE),下面的「使用者名稱」和「密碼」,就輸入Windows端的使用者名稱和密碼。接著在右邊的「輸入以選取使用者或群組。」則選擇要分享給哪個Nextcloud用戶,您也可以選擇所有使用者。

以上設定完成之後,該使用者就可以存取到NC_SHARE目錄的資料,當成近端與遠端的檔案儲存與分享中心。至於後面的Nextcloud更多應用的設定與優化,可以日後再來處理與管理。

Nextcloud使用與手機App與照片自動上傳設定

 使用時,您可以將VirtualBox設定電腦一開機就執行,並啟用Nextcloud AIO VM。然後您就可以透過Windows/Mac/Linux電腦搭配Nextcloud的Client程式,或是透過iOS/Android的App程式,來連接您的Nextcloud。指定連到你的DDNS (例如 https://osslabnc.ddns.net),再輸入帳號、密碼,就可以開始使用。中間出現安全性警告,只要放行即可。

   

   

若要將iOS/Android手機/手機的照片自動上傳到您的Nextcloud,在Nextcloud App的「更多」、「設定」、選擇「自動上傳」即可。記得將自動上傳的資料夾指定到SMB Share底下的資料夾,這樣才會儲存到您的Windows分享出來的資料夾裡面,而不是Nextcloud VM裡面。

   

當一切設定好之後,您在拍攝照片/影片時,您的Nextcloud也會留有一份備份了。

至於Nextcloud官方軟體套件集,包含了Nextcloud、Nextcloud Talk與Nextcloud Notes,當然還有第三方軟體集,能夠與您的Nextcloud工作站伺服器搭配使用。這些就請自行摸索囉!

OSSLab獨家優惠

想要超大容量的私有雲主機嗎? OSSLab提供「買硬碟再送Windows NAS主機大全配」特惠活動。即日起,只要買4顆16TB大容量硬碟方案,就能一併將Dell的迷你T3620工作站主機帶回家!

這次「買硬碟送Windows NAS主機」活動,包含了Dell T3620直立式電腦工作站,內建Windows 10工作站專業版 (頂配Windows),以及4顆安裝好的16TB大容量硬碟,讓您可以規劃成RAID 5做備份,亦可安裝上述的NAS環境。當電腦/工作站時,可以用來上網、辦公、看影片、玩輕量遊戲,當伺服器時,可以在室內互相共享檔案,在外面也可透過手機/平板App來做資料存取,非常方便,一機多用途。

機會難得,敬請趕快移駕: https://osslab.tv/shop/server-all/server/t3620-secret/

Leave a Reply