Marker 時代,那就從自建雲端儲存雲開始吧!

使用雲端硬碟儲存檔案的習慣也已多年,經過這幾年市場機制的磨難,對我來說,留下來的大約就剩兩家,Google Driver 和 Dropbox。說實話,這兩家的服務,確實真的不錯,彼此也整合得很好。

但是,對我而言,幾個問題:

  1. 容量不夠用
    Dropbox 於我而言,容量僅有 6GB, Google Driver 容量有 15GB。前者(Dropbox)早已明顯不夠用,後者(Google Driver)的容量不敷使用,也是指日可待的事。而我並不想為此再去多申請帳號,或是去弄個教育帳號,因為這事兒其實並不符合我個人莫名其妙的世界觀。

    當然,以上問題,花錢統統可以解決,但~目前我還不想支出這筆錢。

  2. 不想無條件的依賴某家廠商,只因有「免費啤酒」!
    對於「免費啤酒供應商」的壯舉,雖然心懷感激,但是對於自己的資料,一味放在別人家,總是覺得怪怪的,哪天資料被鎖了,或是資料被綁架了,還是無法順利全部轉出,深深感到害怕。

    所以,資料可以無條件被我轉出,於我而言,是件很重要的事。

  3. 當然還有一個很令我無言的原因,便是 Dropbox 的同步功能,不再支援「非ext4」的同步,而我的機器目前幾乎全改成「brtfs」,這當然是人家公司的政策,我也無從置喙,但我可以採取不繼續使用的政策,誰叫我是「免費使用者」。

對於雲端網路硬碟這件事,這幾年來一直在找尋我能接受的解決方法。

我的需求在於能找到個雲端儲存雲系統,能同時支援多作業系統的檔案存取,對某檔案做新增,刪除或編修時,可以快速即時回存。對~就像 Dropbox 或 Google Driver 做的事情一樣。

直到最近幾個月,Slat 的理事長兼好友 Frank 利用 Nextcloud 建了個雲端儲存系統,做的事情便如 Dropbox 一樣,支援的作業系統有 Android/ iOS/Linux/MS Windows/Web ,我也試用了一段期間,感覺就跟我在使用 Dropbox 一樣,同步速度也很快,老實說,我真的很滿意。

Nextcloud@SLAT
Nextcloud@SLAT

而且他上面還連結了 LibreOffie Online 雲端板,可以直接在上面編輯 Office 文件。

Libreoffice on line
Libreoffice on line

在用了一陣子後,一則覺得心裡不踏實,二則雲端網路硬碟容量又漸漸的不夠用,三則手一直發癢,於是趁著這幾天在測試新版 FreeBSD 12.x 版時,順手安裝了一下,嗯~發現非常順利,幾個月前嘗試安裝系統曾遇到的問題,如今都已被解決,安裝變得相當簡便與輕鬆。


下載與安裝

Nextcloud server 端需要四個條件:「網頁伺服器、php、資料庫(可支援 SQLite, MySQL/MariaDB, Postgresql…),以及 Nextcloud 程式」的環境,而我的系統,目前已經有「網頁伺服器(Apache24)、php73、資料庫(MariaDB)」,所以我只要安裝 nextcloud 程式 就可以。

又因為系統是 FreeBSD, 所以我決定使用 pkg 最省時省力方式來安裝。而一開始,我並不清楚 Nextcloud 需要哪些相關套件,所以先查詢一下相關套件:

pkg search nextcloud

可看到結果:

嗯,我的目標是 nextcloud-php73 相關套件系列,直接安裝就好,所以:

pkg install nextcloud-php73

這樣很快的便可以將 nextcloud 安裝起來,當然也可以順便將一些附屬的功能一併安裝起來。

安裝完成後,系統會通知你幾件事:

  1. 將以下設定放入 php.ini 設定中:
  2. opcache.enable=1
    opcache.enable_cli=1
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=10000
    opcache.memory_consumption=128
    opcache.save_comments=1
    opcache.revalidate_freq=1
  3. 將以下設定放入 httpd.conf, 或 另外存成檔案(ex:nextcloud.conf)放入 Includes 目錄中,並重啟 httpd 服務
  4. Alias /nextcloud /usr/local/www/nextcloud
    AcceptPathInfo On

    <Directory /usr/local/www/nextcloud>
    Require all granted
    Allow from all
    </Directory>

完成之後,打開瀏覽器,輸入: http://(伺服器網址)/nextcloud/ ,然後,跟著瀏覽器指示進行設定,便可,整個過程,非常簡單!


資料庫備份與檔案庫備份

不管多麼強健的系統,都難保系統或是硬體有個什麼意外,這時,資料備份就很關鍵性的重要了!

  1. 資料庫備份
  2. 因為 nextcloud 系統的資料庫我是使用 MariaDB, 所以使用 mysqldump 來進行備份就可以,所以備份完,用日期當檔名:

    /usr/local/bin/mysqldump –defaults-extra-file=/usr/local/etc/my.cnf nextcloud –skip-lock-tables > /mnt/back02/MariaDB_backup/nextcloud-`date “+%Y%m%d_%H:%M:%S”`.sql
  3. 檔案庫備份
  4. 使用者上傳的檔案,都放在 /usr/local/www/nextcloud/data 這個目錄底下,所以我只要這整個目錄把它備份起來就好,而我又把他們備份到「/mnt/back02/MariaDB_backup/nextcloud_data/」,所以:

    /usr/local/bin/rsync -avz /usr/local/www/nextcloud/data/ /mnt/back02/MariaDB_backup/nextcloud_data/
  5. 每日定時備份
  6. 再把以上兩個指令,放到 /etc/crontab 之中,指定每天半夜幾點備份一次,這樣系統就算發生什麼意外,也能最快時間內,備份回來。


再來就是快樂使用了

一切動作就緒後,再來就是快樂使用了!

  1. Web 畫面
  2. Web 畫面
    Web 畫面
  3. 桌面端程式(Debian Linux + KDE Dolphin)
  4. KDE Dolphin
    KDE Dolphin
  5. Android
  6. iOS

繼續未完的事

計畫中是想將 Libreoffice Online 一併加入,但是它目前僅支援 Linux 系統,而我的系統是 FreeBSD, 不過沒關係,有個東西叫 Docker, 我再來研究一下好了….


參考資源

  1. Nextcloud: Admin manual
  2. Nextcloud: User manual
  3. Nextcloud: Developer manual
  4. Accessing Nextcloud files using WebDAV

3 Replies to “Marker 時代,那就從自建雲端儲存雲開始吧!”

  1. Pingback: nextcloud 版本升級紀要 – 仲佑的網誌

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*