前同事成立 ownCloud 的時候就很好奇是要怎麼用,不過一直到主要開發者另外成立 Nextcloud 都還沒用過,只知道是可以自己架的 file server,也有手機 APP 支援。直到最近家人有備份 iPad 檔案的需求,才想到可以拿被我閒置的 Raspberry Pi 3 來試看看。
其實在這之前就一直在想用什麼方式備份比較好。一開始是買有 USB 的 WiFi router 刷上 openWRT 以後再透過 sftp 拷貝到外接的 USB 硬碟,然後順便架了 DLNA 看照片跟影片。不過 WiFi router 用的晶片運算能力都不太強,用 DLNA 看照片時,有時會因為運算縮圖需要的記憶體太多而整個當掉,算不上是一個好方案。另外只有一顆外接硬碟也不是很保險,所以變成電腦裡面也備份,到後來也吃了不少空間。Google Driver 或 iCloud 之類的除了容量限制,還有綁定服務商的問題,所以還是希望自己家裡架一台。中間有想過買台 NAS,不過一直懶得弄。這次總算有動力來做備份用的 server。
首先是外接硬碟。一開始想用兩顆外接硬碟做 soft raid,但 Raspberry Pi 3 本身供電有限,接兩顆硬碟搞不好推不動,保險起見還是買外接盒。挑了兩三天最後買了 CyberSLIM SSDPRO RAID。優點:體積小(因為是塞兩顆 2.5” 硬碟)、鋁殼無風扇(很安靜)、有硬體 RAID1、支援 USB 3.1。缺點:軔體鳥鳥的(一開始切到 RAID1 還是會認到兩顆硬碟)、LED 燈太亮(晚上關燈在閃的話很刺眼)。因為沒有主動式散熱,所以我搭配了兩顆 HGST 1TB 5400 轉的硬碟,降低散熱需求。另外 Raspberry Pi 3 只有 USB 2.0,所以也不用太在意硬碟效能,加上大部份使用會透過 WiFi,整體效能瓶頸不會是在硬碟這邊。
硬碟設定完,把 openSUSE Leap 42.2 刷進 Raspberry Pi 3 就可以開始裝 Nextcloud 了。安裝難度比想像中低很多,照著 openSUSE wiki 上的步驟做,很容易就可以裝好了。不過呢!因為 server:php:applications 這個 repo 的 build target 沒有 AArch64,所以只能選擇 2.2 的 Install from Source。另外還有一點很重要,42.2 的 php 還是 5.5.14,所以只能裝 Nextcloud 10,11 需要 5.6 (註:wiki 上的指令是裝 php5-*,實際上把 php5 改成 php7 就可以上 Nextcloud 11 了)。基本上照著 wiki 做就差不多了,最後用瀏覽器連到 http://<server ip>/nextcloud 就可以看到第一次使用時的設定頁面。如果想設定 SSL,記得把 APACHE_SERVER_FLAGS="SSL" 加到 /etc/sysconfig/apache2,然後到 /etc/apache2/vhosts.d 以 vhost-ssl.template 當基礎來寫 vhost-ssl.conf,我是只有把 _default_ 改成我 server 的 IP,然後照 Apache Wiki 全面啟用 HTTPS。
Server 設定完以後就可以裝 client 了。Linux 桌面的話可以直接用 WebDAV 來連,手機不管 Android(免費) 或 iOS(要 30 元現在免錢) 都有 APP 可以裝。用過以後感覺 iOS 上的 APP 比較好一點,在開自動同步以後會把所有照片都依年月分資料夾上傳。Android 的不知為何只有新的照片才會上傳,舊的要自己上傳。不管怎樣,至少有個簡單的備份工具可以用了。
最後來說說優缺點。優點:安靜(無風扇真的安靜)、不太佔空間、全部裝置都可以共享、容易客製化。缺點:運算能力不算太好(用網頁開相片模式會非~~~常~~~慢,因為 1G RAM 真的太少)、LED 燈太亮。另外就是沒有想像中便宜,全部錢加一加其實也可以買一台初階的 NAS 了,但是用 RPi 3 彈性比較大。另外網路上有人提到可以用 nginx + php-fpm 取代 apache,據說比較省資源。不過我沒有裝成功,雖然可以看到登入畫面,但是登入後就一直跳回登入畫面,後來就放棄了。有機會的話還是想試試看 nginx + php7。
後記:
在從 openSUSE Leap 42.3 更新到 openSUSE Leap 15.0 的時候把 SD 卡弄壞了,只能重建系統。不過在 Leap 15.0 裡面已經有 nextcloud 了,可以直接 zypper in nextcloud 安裝。大部份設定照之前來做,然後外接硬碟上使用者外的資料砍掉讓 nextcloud 重建,最後把帳號建回來,一切又跟以前一樣了。
其實在這之前就一直在想用什麼方式備份比較好。一開始是買有 USB 的 WiFi router 刷上 openWRT 以後再透過 sftp 拷貝到外接的 USB 硬碟,然後順便架了 DLNA 看照片跟影片。不過 WiFi router 用的晶片運算能力都不太強,用 DLNA 看照片時,有時會因為運算縮圖需要的記憶體太多而整個當掉,算不上是一個好方案。另外只有一顆外接硬碟也不是很保險,所以變成電腦裡面也備份,到後來也吃了不少空間。Google Driver 或 iCloud 之類的除了容量限制,還有綁定服務商的問題,所以還是希望自己家裡架一台。中間有想過買台 NAS,不過一直懶得弄。這次總算有動力來做備份用的 server。
首先是外接硬碟。一開始想用兩顆外接硬碟做 soft raid,但 Raspberry Pi 3 本身供電有限,接兩顆硬碟搞不好推不動,保險起見還是買外接盒。挑了兩三天最後買了 CyberSLIM SSDPRO RAID。優點:體積小(因為是塞兩顆 2.5” 硬碟)、鋁殼無風扇(很安靜)、有硬體 RAID1、支援 USB 3.1。缺點:軔體鳥鳥的(一開始切到 RAID1 還是會認到兩顆硬碟)、LED 燈太亮(晚上關燈在閃的話很刺眼)。因為沒有主動式散熱,所以我搭配了兩顆 HGST 1TB 5400 轉的硬碟,降低散熱需求。另外 Raspberry Pi 3 只有 USB 2.0,所以也不用太在意硬碟效能,加上大部份使用會透過 WiFi,整體效能瓶頸不會是在硬碟這邊。
硬碟設定完,把 openSUSE Leap 42.2 刷進 Raspberry Pi 3 就可以開始裝 Nextcloud 了。安裝難度比想像中低很多,照著 openSUSE wiki 上的步驟做,很容易就可以裝好了。不過呢!因為 server:php:applications 這個 repo 的 build target 沒有 AArch64,所以只能選擇 2.2 的 Install from Source。另外還有一點很重要,42.2 的 php 還是 5.5.14,所以只能裝 Nextcloud 10,11 需要 5.6 (註:wiki 上的指令是裝 php5-*,實際上把 php5 改成 php7 就可以上 Nextcloud 11 了)。基本上照著 wiki 做就差不多了,最後用瀏覽器連到 http://<server ip>/nextcloud 就可以看到第一次使用時的設定頁面。如果想設定 SSL,記得把 APACHE_SERVER_FLAGS="SSL" 加到 /etc/sysconfig/apache2,然後到 /etc/apache2/vhosts.d 以 vhost-ssl.template 當基礎來寫 vhost-ssl.conf,我是只有把 _default_ 改成我 server 的 IP,然後照 Apache Wiki 全面啟用 HTTPS。
Server 設定完以後就可以裝 client 了。Linux 桌面的話可以直接用 WebDAV 來連,手機不管 Android(免費) 或 iOS(
最後來說說優缺點。優點:安靜(無風扇真的安靜)、不太佔空間、全部裝置都可以共享、容易客製化。缺點:運算能力不算太好(用網頁開相片模式會非~~~常~~~慢,因為 1G RAM 真的太少)、LED 燈太亮。另外就是沒有想像中便宜,全部錢加一加其實也可以買一台初階的 NAS 了,但是用 RPi 3 彈性比較大。另外網路上有人提到可以用 nginx + php-fpm 取代 apache,據說比較省資源。不過我沒有裝成功,雖然可以看到登入畫面,但是登入後就一直跳回登入畫面,後來就放棄了。有機會的話還是想試試看 nginx + php7。
後記:
在從 openSUSE Leap 42.3 更新到 openSUSE Leap 15.0 的時候把 SD 卡弄壞了,只能重建系統。不過在 Leap 15.0 裡面已經有 nextcloud 了,可以直接 zypper in nextcloud 安裝。大部份設定照之前來做,然後外接硬碟上使用者外的資料砍掉讓 nextcloud 重建,最後把帳號建回來,一切又跟以前一樣了。
留言
張貼留言