跳到主要內容

舊電腦變自架雲端儲存 nextcloud + samba 最詳細教學 帶你一步一步走 (Part3)

 


Part3

前言:
這篇我們會使用 docker 在 OMV 上架設 nextcloud 。首先感謝讀者閱讀到第三篇,能夠跟到這篇已經不簡單了,先給自己一個讚 ya~ 。

這一篇操作步驟相對較少,不過背後的原理並不簡單,開始前先給各位簡介一下,這樣在操作上會更清晰。

在傳統情況下,linux 在安裝 nextcloud 這種軟件的時候,需要使用文字介面,先前也要安裝其他東西,以及設定配置文件才可以達成,雖然技術上不能說很難,但對一般人並不容易。

而使用 docker技術,我們可以利用別人事先做好的"套裝",免去很多麻煩。docker 在技術上很先進,他類似一個 virtual machine  (VM),而這個 VM 只有他要實行的功能,不具備完整系統,故在docker 當中稱之 container(容器)。這些功能只在 container 中進行,並不直接在host上運行,如果 container 出問題,也可以直接把這個  container 打掉重練;讓架 nextcloud 這件事變得非常非常容易。

補充: 
安裝 nextcloud 主要有幾個方法:
1. 直接在主系統上安裝 nextcloud 
這個方法步驟相對較多,但對於後期修改文件,擴充及調整等等相對容易,彈性最高,最穩定。

2. 使用snap 安裝 nextcloud 
snap 就是一個封裝好的 nextcloud 套裝,一鍵安裝,直接使用。但目前的版本無法在nextcloud 加入 samba 。

3. 使用docker 安裝 nextcloud
安裝步驟比 2 多一些,但還是比 1 簡單很多;擴充及調整彈性比 2 高,比 1 低。但由於 docker 本身有很多外圍優點,從「好操作,易上手」的角度來說,這是個好方法。


nextcloud 傳統安裝 請參考 nextcloud 官網:



筆者架好的 nextcloud 長這樣~



正文:
今天我們會用到一點點文字介面,我們會從個人電腦 通過 ssh 對 home nas 進行操作。ssh 就是通過文字介面登入另一台電腦的系統進行操作,這個操作層面是系統級別的,可以操作的東西比 OMV web 這種層面要多很多。

開始前,請先把你的 home nas 開機。接下來我們要為OMV安裝 extra 插件,但這個插件安裝需要在 ssh 進行。現在請你打開 win10 的 "開始" 並輸入cmd ,之後開啟 cmd (命令提示字元)。

請你打開 win10 的 開始 並輸入cmd ,之後開啟 cmd (命令提示字元)。


接下來會跳出一個視窗,我們接下來的操作,需要在上面輸入文字。操作方式是輸入指令,再按enter 發送。就像是跟電腦聊天,你輸入指令再發送,電腦就會做一些事情。文字介面操作不能錯字,錯字不會弄壞什麼,但因為電腦讀不懂,自然無法執行,要注意。



現在輸入以下指令,之後按下enter。這樣就可以 ssh 連線到你的 home nas 上。

ssh root@你為OMV設定的固定IP


如果你是第一次使用ssh 連接到這組IP 通常還會跳出一些文字,要你輸入 yes 才可以進行下去。
接下來,你要輸入在文章 Part1 安裝時輸入的系統密碼,同樣輸入時不會顯示密碼文字。


 
成功登入後會看到以上畫面,輸入位置前方變成 root@omv2:~#,這樣你就是在操作你的 home nas 了。(omv2 的位置是你在 Part1 為 home nas 取的名字)



接下來輸入以下指令按 enter 進行更新。就會看到有文字在跑。

apt update


文字一般會跑數10秒~1分鐘,跑完之後,輸入的位置又會回到 root@omv2:~# ,這樣代表更新完結了,用家可以操作。



接下來請輸入以下指令安裝 OMV extra,請直接複製貼上,這樣才不會打錯字。貼上時直接對cmd 的視窗按右鍵就可以貼上了。


wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash


之後又會跑一些文字,可能會用上幾分鐘,跑完就代表安裝完成。接下來登入你的OMV web,如果你已經登入了,請重新載入頁面。

指令來源:



這個時候在1 "系統" 之下 會多了 2"omv-extras",點開2,又會有 3"Docker" 及 4"Portainer"。這些就是我們剛剛在cmd 安裝的 omv extra 插件。接下我們要安裝 Docker 及 Portainer 。

Docker 提供了一鍵架好nextcloud 的技術核心。
Portainer 提供了圖形管理 docker 的介面。



1. 點選"Docker"
2. 按"安裝"



會跑出視窗開始安裝,這種畫面我們在 part2 有看過了,不再累贅。安裝完按關閉。



接下來:
1. 點選"Portainer"
2. 按"安裝"



又會跑出視窗開始安裝,這種畫面我們在 part2 有看過了,不再累贅。安裝完按關閉。



接下來再次回到 Portainer 的頁面,點選"打開網頁"。



接下來會跳出一個新網頁,第一次使用時會要求你新增用戶,而且密碼要求有12個字節,設置好密碼之後登入。我們可以通過 portainer 來安裝 docker nextcloud。



登入之後點選 local



接下來會去到 local 下的 Dashboard 在這邊我們可以看到我們 docker 的一些資料。現在點選"stack"。Stack 就是一組 container 的意思。



之後點選 "Add stack" 意思是加入一組container。



這個位置會是關鍵,這個頁面就是要架設 nextcloud 了。我們前言有說過 docker 可以通過建立 container 來實現我們想要的功能(即 nextcloud)。 我們在1的位置可以決定 stack 的名稱,建議用一個簡單的,比如 "nc1"。


在2的位置,我們會參考 docker 官方提供的 nextcloud docker-compose file。
docker  nextcloud 官方:


我們會使用 Base version - apache,由於 docker 技術並不是入門級的,加上篇幅有限,接下來的操作可能不好理解,但簡單來說,我們需要在 2 的位置輸入一些文字,這些文字會告訴 portainer 怎樣用 docker 去建立一個 nextcloud container ,所以文字內容就是一些container 的配置。筆者在官方的文檔上增加了一點內容,分別是預設了mysql database (資料庫) 的密碼及加大了nextcloud 的上傳和ram使用限制。你可以依你的情況自行修改,也可以直接用筆者的設置。下面會先提供圖片說明,接下來會有供直接複製貼上的文字。

1. mysql database root 密碼 (筆者預設了 admin)
2. mysql database 密碼(筆者預設了 admin)
3. nextcloud 需要有  mysql database 的密碼 ,所以需要跟 2 是一樣的。
4. 這項是筆者加進去的,設定檔案上傳大小可達 100GB
5. 也是筆者加進去的,設定ram 使用上限 8GB

因為筆者經常用 nextcloud 傳圖片,所以必須把 4 及 5 設得較高。如果你沒有特別加入文字設定,container 就會採用 nextcloud 預設的上傳大小限制 512MB,512MB 對一般圖片或文檔都是沒問題的,但如果剛好你檔案比較大,超過這個上限,就會上傳失敗,比如1GB 的PSD檔,4GB 的小電影 等等;畢竟隨著科技進步,面對大檔的情況愈來愈多,對筆者而言,設高一點是好事。

下面是影遊樂園修改版的 nextcloud docker-compose file - Base version - apache:

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - MYSQL_PASSWORD=admin
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
      - 4433:443
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_PASSWORD=admin
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - PHP_UPLOAD_LIMIT=100G
      - PHP_MEMORY_LIMIT=8G


--------------------------------我是分界線---------------------------

1. 輸入stack 名字
2. 輸入配置文字 (nextcloud docker-compose file)
3. 按 "Deploy the stack"

接下來需要等一陣子,3 的位置會進入載入中的狀態,這時候正在從網上下載需要的軟件,需時數分鐘是很正常的,先起來活動一下身子吧。



載好之後就會看到多了一個 stack 了 (stack 指一組 container),接下來按2的位置 "containers" 。



在"containers"  這邊,現在應該會看到3個 container 。Container 的名字會跟我們在stack 時取名字有關係,container 的功能則可以通過 image 的名字知道,比如nextcloud container 在 image 的部分則寫著 nextcloud。 


當看到狀態都是 runing ,恭喜! 你已經成功把 nextcloud 架起來了。這時候在瀏覽器輸入你的 home nas 的 IP 後面加上:8080 。



例子:
192.168.1.201:8080


輸入之後就應該會跳出 nextcloud 的頁面了,現在要設定管理員用戶及密碼,之後按下"安裝"。



安裝需要時間,要等一下子。



nextcloud 安裝後會問要不要加入建議的插件,這些東西之後也可以安裝,安裝也需要等待。筆者只是為了示範,所以選擇了"略過"。 


第一次進入會有 nextcloud 的歡迎畫面。


進去之後長這個樣子。


點選左上方的資料夾圖案就可以到 上傳/下載 檔案的地方,用過 google drive 應該也都不陌生。內部已經有些預置的示範檔案。Nextcloud 使用簡單,網上資訊也很多,筆者就不一一說明了。

接下來你只要在路由器當中設定 "通訊埠轉發" (Port Forwarding) ,就可以從外網連進來了,目前未做加密設定SSL 只有port 8080。Port Forwarding 很簡單,教學也很多,這部分請自己爬文囉。

下一篇 Part4 ,我們會把 Part2 設定好的 samba 加入 nextcloud 當中,這樣只要把檔案上傳到nextcloud 時,就可以實時在 windows 的網路磁碟中存取。


後話:
恭喜,你為自己架好 nextcloud ,可以不用買google drive服務了。使用docker 安裝 nextcloud 實在又快又方便。

筆者從第一次安裝 linux 用,snap => 傳統方式 => docker 安裝nextcloud ,再到可以把nextcloud 架起來,再正式投入使用,也花了1個多月的時間,當中也跑了很多彎路,一開始用snap的時候,解決不了加入 samba 的問題,直到發現是真的解決不了,只好用傳統方式安裝,效果是好的,但無法快速部署,後來使用docker,docker 雖然在架nextcloud 時很方便,但之後調整的技術門檻相對較高,對一個完全自學又時間有限的人而言,其實不容易;所以希望這幾篇文章可以帶你走更遠的路,make your life easier。


如果要把 nextcloud 提升到應用層面,你可能還需要參考 Part 4及Part5。





















留言

  1. 現在的docker介面很像不一樣了QQ

    回覆刪除
    回覆
    1. 應該都是萬變不離其宗,可以爬文一下,但最好找英文文章,中文的真的很少(而且通常不詳細)。

      刪除
  2. https://youtu.be/f8Yoo4FRGBU

    可以看這段教學,昨晚嘗試架設,也是到docker的步驟卡關了

    回覆刪除
  3. OMV現在更新了, 現在不需要Portainer, 請參考 https://wiki.omv-extras.org/doku.php?id=omv6:docker_in_omv

    回覆刪除
    回覆
    1. 現在事情變簡單了, 安裝 omv-compose 後, 只要在 OMV 頁面就可以管理 docker 的事

      刪除

張貼留言

這個網誌中的熱門文章

Fan Control 超好用的風扇控制軟件

前言:  今天來跟大家分享一下超好用的風扇控制軟件 Fan Control,功能精簡好用,介面直觀好操作。 Fan Control 是由 Github 一個小團隊開發的免費軟件, Github 有很好的官方使用說明和資料: https://github.com/Rem0o/FanControl.Releases 不過筆者還是打算不厭其煩在這邊用中文跟大家分享一下。 Fan Control 可以讓你高自由度設定風扇,例如對指定系統溫度作反應等等。比如筆者的顯卡很熱,但機箱風扇都針對CPU熱的時候才有反應,導致顯卡的熱力累積在機箱內部,結果顯卡又只能拿已經很熱的機箱空氣來用。那裡如果設置成顯卡熱時,機箱風扇一起反應就好了,用 Fan Control 達成就很 EASY!

Nikon FE 底片機 開箱 評測 用後感

  前言: 近年,底片機又有點微熱,也有人來問筆者怎麼選。當中 FM2 的價格被拉得滿高的,其中一個原因是知名度比較高,但其實Nikon 還有很多很棒的傳統底片機可以考濾。當中 FE 是筆者最推薦的,cp值高,性能又整全,這篇就來好好介紹一下,讓大家認識 Nikon FE !

Olympus Trip 35 底片機 開箱 評測 用後感

  前言: 這陣子筆者忙了很多事情,結果文章又停了一下。今天來跟大家介紹一下 OLYMPUS 的一台隨拍機。事關很多想體驗底片的朋友,對設定參數沒什麼興趣,反正就是想要一台底片機可以輕鬆拍,那麼這台就是了, Olympus Trip 35  可是一台由推出到現在,近半世紀都大熱的一台隨拍機。下文這台,也是筆者親自全機整修過的,就來跟大家一起說明一下。