透過 Vultr 安裝 OwnCloud 並且透過「區塊存儲」擴充空間!
前後端工程師,善用 JavaScript、HTML 5、CSS 3 和 Golang 與 PHP、Node.js 、C#。目前正為台灣的社群網站進行趕工,然而這東西卻趕了很久。

Vultr 是一個像 DigitalOcean 那樣的虛擬主機服務商,你可以直接在線上承租伺服器,數分鐘就可以搞定一個網站伺服器、資料庫、Git 伺服器,不過 Vultr 比 DigitalOcean 更晚起步,功能卻比 DigitalOcean 多一些,其中就有一個是 DigitalOcean 最近才會推出的「區塊存儲」服務。

那麼 OwnCloud 是做什麼的?其實我對他又愛又恨,你可以透過 OwnCloud 建立一個自己的網路硬碟,你也可以唬爛說這是「雲端硬碟」。他就像是一個介面更好的 Dropbox,但是比 Google Drive 遜色太多,還有支援一些擴充套件,不過 OwnCloud 在手機版上 ..還不怎麼發達。

還好 OwnCloud 的網頁版支援手機,所以應該也沒什麼差啦。

區塊存儲是什麼技術?

當你租了一個虛擬主機後,你的硬碟空間通常很小,這個時候你就可以額外再跟他們承租「區塊存儲」,其實就像是額外的 50 GB、100 GB 那樣的擴充空間,不過他有點像是你額外租了一顆硬碟,你目前只能租跟虛擬主機同個地點的區塊存儲,而且到時候你還需要自行把區塊存儲掛載到虛擬主機上。


1. 新增一個帶有 OwnCloud 的 Vultr 主機!

選擇伺服器地點

伺服器的落居地你必須選擇「New York(NJ)」,這個地點是紐約(紐澤西),只有在這裡的主機才能夠使用區塊儲存。

選擇伺服器應用程式

這個地方我們直接選擇 Vultr 提供的 OwnCloud 懶人包,位於 Server Type 下有個「Application」的字樣,按下後就可以選擇你要的懶人包。

選擇服務價位

在這裡選擇一個最便宜的即可,因為我們稍後會掛區塊存儲,因此硬碟大小並不重要。

啟用區塊存儲相容性

「Block Storage Compatible」如果不打勾,你就沒辦法使用區塊存儲囉!

部署伺服器!

你的基本配置都好了,接下來請部署你的伺服器吧!

按下螢幕右下角藍色的「Deploy Now」來決定部署這個伺服器。

2. 訪問你的伺服器

恭喜!你的伺服器現在應該正在安裝中(Installing)了,這可能持續數分鐘,一旦安裝好後,你就可以進入後台開始和你剛承租的伺服器連線了。

進入伺服器儀表板

一旦安裝好後,在列表按下你的伺服器,你就可以進來這個頁面。這個頁面包括了你伺服器的所有私人資料,所以請不要像我一樣公開貼出來 :D。

取得你的 OwnCloud 網址

你的 OwnCloud 在安裝伺服器的時候就順便安裝好了,你可以在下方看見應用程式資訊,有一段就是你的 OwnCloud 網址,複製,然後貼上到你的瀏覽器進入看看吧。

而其中的 User 則是帳號,Pass 則是密碼。

忽略錯誤訊息

因為 Vultr 是透過「安全性連線」來連線至 OwnCloud,而安全性連線必須要有「網域名稱」,但是我們還沒有設定,所以基本上可以忽略這個訊息,按下左下角的「進階」,就可以不安全的方式繼續訪問你的 OwnCloud。

登入你的 OwnCloud!

透過剛才取得的帳號和密碼,登入你的網路硬碟吧。

這就是你的網路硬碟!

搭拉!這裡就是你未來可以上傳檔案的地方,不過 .. 事情還沒完呢。

3. 連結到「區塊存儲」!

還記得你的伺服器僅有 15G 的容量嗎?現在讓我們租賃一個 50G 的「區塊存儲」,並且連結這個區塊存儲到你剛承租的虛擬主機上吧!

租賃區塊存儲

在伺服器列表的頁面,上方有個「Block Storage」頁籤,按下去後即可到這個頁面,接著按下「Add Block Storage」就可以租賃一個新的區塊存儲。

新增一個 50 GB 的區塊

這將會花上你一個月 5 美金的費用,好了之後就可以按下「Add Block Storage」新增你的區塊存儲。

區塊建立完成!

區塊建立的速度很快,接下來你會回到這個列表,請按下你剛才建立的區塊。

連結區塊存儲

這裡是你的區塊存儲後台,在下面有個「Attach to Instance」,你將會需要在那裡選擇你剛建立的虛擬主機,然後按下「Attach」連結這個區塊存儲吧!

請注意:會有個提示告訴你伺服器必須重啟,按下 OK 即可。

4. 掛載區塊存儲

當你連結了你的區塊存儲到你的伺服器,那還不夠,就像是你剛買了顆硬碟,直接裝在電腦上,如果你沒有分割的話你也沒辦法使用,所以我們需要連線到你的伺服器,做一些設定。

取得伺服器的 root 密碼

你的密碼會在伺服器儀表板那裡,按下眼睛圖示就會顯示你的密碼,每個人的密碼不一樣,所以請不要直接輸入這張範例圖上的密碼喔。

連線到你的主機

你現在有了 IP 位置(你也能在伺服器後台取得)和 root 密碼,接下來你需要透過 ssh 連線到你的主機,Windows 可以下載 PuTTY,而在這裡我透過 macOS 內建的終端機做為示範,兩者的操作都是一樣的,所以請放心。

請在終端機輸入這行指令,然後按下 Enter。

$ ssh [email protected]伺服器IP位置

接著如果你是第一次連線,會看到類似下列的訊息。

The authenticity of host '45.32.7.70 (45.32.7.70)' can't be established.  
RSA key fingerprint is SHA256:SHFs2YUqkygqVBQNsSxI1u2JzwNzMZN4UGFFGfq05jc.  
Are you sure you want to continue connecting (yes/no)?  

輸入 yes 之後你就會看到像這則訊息要求你輸入密碼,這個時候你就可以開始貼上或是手動輸入密碼。

輸入密碼的時候是看不見密碼的,但確實有輸入,這點請謹慎注意。

[email protected]'s password:  

成功登入後就可以看見這樣的訊息

Last login: Tue Apr 26 20:37:34 2016 from 10.0.2.2  
[[email protected] ~]#

掛載區塊!

接著透過官方的 Vultr 教學,開始掛載你的區塊到你的伺服器吧。

你需要把下面所有的指令依序輸入進 ssh 中。

建立分割區

首先你需要建立硬碟分割磁區。

$ parted -s /dev/vdb mklabel gpt
$ parted -s /dev/vdb unit mib mkpart primary 0% 100%

建立檔案系統

建立檔案系統才能將檔案放置在這個區塊上。

$ mkfs.ext4 /dev/vdb1

掛載你的區塊

接下來就正式將你的區塊變成主機中的硬碟了!

$ mkdir /mnt/blockstorage
$ echo >> /etc/fstab
$ echo /dev/vdb1 /mnt/blockstorage ext4 defaults,noatime 0 0 >> /etc/fstab
$ mount /mnt/blockstorage

檢查一下是否成功掛載

輸入 lsblk 就可以看到像這樣的硬碟資訊。

[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT  
sr0 11:0 1 1024M 0 rom  
vda 252:0 0 15G 0 disk  
└─vda1 252:1 0 15G 0 part /
vdb 252:16 0 50G 0 disk  
└─vdb1 252:17 0 50G 0 part

除了原本的 15 GB 基本硬碟外,你現在多了一個 50 GB 的儲存空間啦!

5. 將 OwnCloud 的儲存空間移至區塊儲存上

現在你的 OwnCloud 仍然是將上傳的檔案存在原本的 15 GB 硬碟,現在我們要變更 OwnCloud 的設定。

修改 OwnCloud 設定檔

現在請在終端機輸入這一行指令,來開啟你的 OwnCloud 設定。

$ vi /var/www/owncloud/config/config.php

接著你會進入一個編輯器,你需要按下鍵盤上的「A」按鍵,進入「編輯模式」,接著找到設定檔中的一行像這樣:

'datadirectory' => '/var/www/owncloud_data/',  

修改為

'datadirectory' => '/mnt/blockstorage/',  

就可以成功地把儲存位置改為區塊存儲空間。

轉換資料夾

當你修改好設定檔後,你仍然沒辦法使用,因為你的區塊存儲是全新的,所以我們需要把舊的資料夾內容複製到我們的區塊存儲空間,

請輸入下列指令。

$ cp -r/var/www/owncloud_data/*/mnt/blockstorage/

給予你的 OwnCloud 存取權限

你建立的區塊存儲空間只有你自己有權限讀取,你需要輸入下列指令讓 OwnCloud 也能夠讀寫該區塊存儲。

$ chown -R nginx /mnt/blockstorage/
$ chown -R php-fpm /mnt/blockstorage/

重新啟動網站伺服器

輸入這行指令讓你的網站伺服器重新啟動。

$ service nginx restart  

接下來就萬事 OK 了,回到你的 OwnCloud,是否一樣可以上傳檔案了呢?但這次你上傳的檔案會到你的區塊存儲空間喔 :D!