OwnCloud, 一套適合自建的網路同步硬碟(DropBox-Like)











        相信大多的IT人都有使用DropBox的服務,這個服務讓我們可以將重要的文件,同步到一個網路硬碟,然後不管道哪裡都可以用這個服務將重要的資料在異機、異地取回這些文件。然而這個服務是一個由服務提供者(Service Provide)所維護的系統,若與企業研發相關的重要機密,基於商業機密的考量,可能就無法享用這個服務的便利性了。(本文章為筆者從自己的Blog轉貼過來,若有需要轉載,請告知筆者,謝謝!)



        筆者近來找了一些類似DropBox服務的軟體,種類相當多,而且性能都非常好,依據用途的不同可選用不同的套件。



 FTPBox,透過FTPBox套件安裝在Client端就可以將資料同步到FTP Server。看起來當前僅支援Windows平台。



ownCloud,筆者這次測試的軟體,和DropBox非常非常類似,支援多種作業系統:如Mac OS, Linux, Windows, Android...也可以使用WebDAV的方式進行同步。由於測試的結果發現這套軟體的運作非常近似DropBox,且安裝過程較無痛苦,所以是此次最佳的學習範例。另外若企業有具備維護Linux系統的人才,可採用此套軟體簡化備份、並節省大量的建置成本。自第4版開始之後,新加入版本控制功能、檔案加密、還有免安裝Client以拖拉方式進行同步等許許多多的先進能力。。



SparkleShare,鼎鼎有名的同步軟體,主要是以git套件所兜製而成,具有版本控制的功能,很適合專案開發使用。SparkleShare支援了Linux, Mac OS與Windows Vista之後的作業系統。這套系統應是功能最完整且強大的一套,筆者會在ownCloud測試完畢後繼續進行SparkleShare的安裝。





<!--more-->

        一般的企業級備份軟體功能太過於龐雜,增加部署的困難度,若要自行建置一套完整的備份系統,如筆者寫過的Bacula備份軟體, 沒有基礎的備份概念是完全架設不起來的。



        而ownCloud只要您知道怎麼將資料移動到資料夾,就可以輕鬆的理解這套軟體的運作模式,強烈建議中小企業使用此軟體,不論Server對不對外公開,都可依照企業的需求來進行設定。除了軟體安裝之外,底層的File System只要做不同的變化,即可適應不同的應用。比如Global File System就可以大為增強這套軟體的可用性,只要IT人員學習相關領域的知識即可。



        那我們就開始進行ownCloud的安裝與實測了。



環境



Server OS: ubuntu 12.04 x64

Client OS: ubuntu 12.04 x64

                  Windows7 Home Edition x64

                  iphone 4 IOS 6





注意:不要使用ubuntu內建的owncloud套件,因為目前ubuntu12.04的owncloud server版本僅提供3.0.0,這個版本在client與Server進行同步的時候,有無法建立資料夾的問題。筆者花了很多時間在解這個問題上,但是後來檢視官方最新版本為4.5.0,安裝此版本可以省去非常多的麻煩。



        筆者使用的是一個KVM虛擬主機,下面就一步一步將安裝的過程寫出,讀者只要照著做一定可以用。





一、安裝



1.  先安裝mysql-server

a00ylc00@ownCloud:~$ sudo apt-get install mysql-server

安裝過程中,系統會詢問我們要給database root用的密碼,這邊記得設定一個自己容易記得住的,因為在進行第一次連線到網頁的設定時,會要求輸入這組密碼。



2. 連線到ownCloud的主網頁http://owncloud.org/



在ownCloud的主頁右上角,點選"Install"




點選"Install"






3. 點選"Open Build Servic
















4. 依照下圖中的方法將ownCloud的更新套件url加入/etc/apt/source.list









a00ylc00@ownCloud:~$ sudo vi /etc/apt/sources.list     在檔案中的最後加入下面一行

deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /

存檔離開。



a00ylc00@ownCloud:~$ wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key



a00ylc00@ownCloud:~$ sudo apt-key add - < Release.key 

OK

上面兩個指令將key匯入系統後就不會有驗證的問題了。



a00ylc00@ownCloud:~$ sudo apt-get update      將apt-get的套件清單更新一次,這樣就可以安裝上面我們加入source.list最後一行的套件了。



5. 開始安裝套件

a00ylc00@ownCloud:~$ sudo apt-get install owncloud



6. 再確認一次該開的Daemon都有開啟

a00ylc00@ownCloud:~$ sudo /etc/init.d/mysql restart    mysql-server啟動

a00ylc00@ownCloud:~$ sudo /etc/init.d/apache2 restart     apache2 daemon啟動



7. 在瀏覽器開啟自建的ownCloud網頁位址 http://該主機IP/owncloud

如筆者的環境為:http://192.168.1.67/owncloud/









8. 建立管理帳號資料庫系統的root帳號密碼



下圖中以紅色框起的部份是讀者需要修改的地方。














9. 點選Finish, 完成。











10. 謝謝大家的耐心,現在您已經擁有自建的網路同步磁碟了。下個主題筆者將分享底層的檔案系統(File System),來增強像ownCloud這種類似的軟體的能力,比如無限擴充的空間、分散式運算的Global File System等。





讀者:等等..... 你都還沒介紹怎麼用呢!

筆者:啊?連怎麼用都要寫?



好吧,分享一半的哪算分享?咱們來瞧瞧實際使用的過程。





二、使用(Server端管理)



這邊筆者多貼圖,讓大家可以看看實際使用的畫面。






1. 透過網頁管理



完成設定後的初始頁面

一開始的時候,裡面什麼內容都沒有






Nothing Here.






 2. 點擊"New",然後選擇Folder,輸入一個命名,筆者這邊起了個名"ownCloud_screenshots",將所有在這個文章裡的截圖都丟了進去。



網頁管理可以很方便的將自己想上傳的檔案做儲存,若公司有VPN的話,在家連回公司也可以將檔案取回。












檔案列表





3. 若要新增使用者,則在項目清單下方,有一個小小的齒輪圖示點擊,點選"Users"後進入User管理畫面,讀者可以嘗試著建立新帳號或新群組。











齒輪在這








點擊Users








建立User或群組






設定Quota





4. 直至目前為止,上面所有操作都在Server建立起來之後就可以使用,只要您擁有管理者權限就可以建立其他使用者提供服務。ownCloud還支援LDAP/AD認證,所以很適合在企業使用。





三、使用Sync Client(Client Agent)

以Sync Client套件做資料的同步(與DropBox最相近的功能來了)

這邊筆者展示ownCloud所支援的三種平台給讀者參考。



1. Windows7實測:

http://owncloud.org/sync-clients/ 下載Window Client,挑選您所需要的版本。











安裝完畢之後,在右下角常駐程式列找出ownCloud。右鍵點擊owncloud圖示後,選擇Configure,然後輸入server IP與使用者名稱及密碼(若已經為user建立帳號,就可以請user輸入個人的帳號開始進行資料同步)。






右鍵點擊小圖示,並選擇"Configure"








填入ownCloud Server位址& 使用者帳號密碼。

如果Apach設定了ssl模組,就可將"Use secure connection"

勾選並使用https來與主機連線。





設定完畢後完成連線時,點擊"Next",將顯示連線成功的視窗,訊息如下圖。















點選"Finish"後完成安裝。






此時系統預設就設定C:\Users\使用者帳號\ownCloud為同步的路徑,而Server端則出現"clientsync"的資料夾,準備好隨時將Client端的資料同步到Server上。此時資料夾中並未有任何資料,所以我們可以將想要備份的資料丟到C:\Users\使用者帳號\ownCloud這個路徑裡。








Server上出現了clientsync資料夾








資料夾中目前並沒有任何資料








丟些資料到同步路徑上





 一旦C:\Users\使用者帳號\ownCloud中有了資料,系統馬上開始進行同步,將資料備份到Server上。從Configure的視窗中可以看到雲的中間已經開始進行同步的圖示了,而Server上也會在同步完成之後,同時具有一份一模一樣的資料。








開始同步了!








同步完成,Server上已經有了Client備份上來的資料。





 Windows7平台測試完成!





 2. Linux平台實測(ubuntu12.04): 



在安裝Server的時候,我們已經將官方的source加到/etc/apt/source.list中,因此client也是使用這個位址來下載,套件名稱為owncloud-client






a00ylc00@ownCloud:~$ sudo apt-cache search owncloud   #先確認套件名稱

[sudo] password for a00ylc00:

libcsync-plugin-owncloud - A user level bidirectional client only file synchronizer

owncloud - ownCloud Server - Private file sync and share server

owncloud-client - The ownCloud client is based on Mirall - gitorious.org/owncloud/mirall

a00ylc00@ownCloud:~$ sudo apt-get install owncloud-client     #安裝套件



套件安裝完畢後,就像設定Window7一樣簡單,以圖形界面來設定。



但是系統預設都是以clientsync的路徑建立在Server上,因此容易混淆,我們可以在configure選項中將現有的設定砍除,建立新的路徑。下面我們就以圖示來說明整個流程。




執行套件







找到ownCloud Client的圖示執行之





 執行後,ownCloud Client會在背景執行,所以我們要在桌面上方找到這個圖示,並點選Configure.






右鍵點選小圖示後,點擊

Configure進行同步設定





系統預設路徑就是在"clientsync"此資料夾,若直接使用就會將資料與剛剛Win7的放在一塊,所以我們重新再指派一個路徑做同步。這邊我們將/home/a00ylc00/ownCloud → clientsync的同步選項移除,再建立一份新的。這邊筆者建立了/home/a00ylc00/Downloads → ubuntu_downloads的同步選項,請參考下面的圖示步驟。










移除這個同步的設定







<td
class="tr-caption" style="text-align: center;">

/home/a00ylc00/Downloads → ubuntu_download




















選取"to your ownCloud"並命名路徑為"ubuntu_downloads",

然後點擊"create"建立資料夾於Server上





此時同步的選項就建立起來了,狀態如下圖。








新建一個新的同步項目





建立完成後,丟些資料進Client端的Downloads資料夾試試。






將amd的driver檔丟進Downloads資料夾中
















進入Server上的ubuntu_downloads資料夾查看有無新增檔案








點此資料夾查看檔案





有了!









 ubuntu Client sync測試完成!





 3. apple IOS平台實測(iphone4 on ISO6):



 請直接參照圖片。





 先下載app,不管apple或android都要30元台幣。




安裝app










 進入app之後開始初始設定。






設定server IP及使用者帳號密碼
















建立iphone4_IOS6資料夾

註:後來因為測試又更名為iphone_IOS6





上傳資料




選取檔案,丟到Server上





 檔案以上傳到Server上




已上傳的檔案





 驗證Server上是否已存在這些檔案






資料夾已在Server上





 檔案也已經上傳。











檔案列表於iphone_IOS6





 測試完成!





這篇文章筆者做了最初階的備份測試,其他較底層的認證,如透過LDAP或AD,mount file system之類的並未開始進行,筆者一步步將自己的系統測試分享給大家之後,有可以應用在這個領域的也會額外進行測試,將來讀可以可再看到更多元化的內容。





Reference:

http://betanews.com/2012/06/30/four-self-hosted-dropbox-like-services-businesses-can-use/



http://www.quora.com/Dropbox/Is-there-something-similar-to-Dropbox-that-lets-me-use-my-own-server



http://www.sparkleshare.org



https://help.ubuntu.com/community/iFolderInstall





http://gluster.org/community/documentation//index.php/GlusterFS_User_Guide
圖文資訊說明的超清楚明白!!
一定要簽到作紀錄一下!!
寫得很仔細容易明白,感謝樓主分享!贊!
這套軟體好就好在可以擁有自己的網路同步磁碟,先不談「雲端」這樣的服務,因為在架構僅止於Client-Server的層級,離雲端還很遠。

小第最近又完成了Global File System的測試,若可以應用在這樣的同步碟,就可以將底層的Storage分散在網路上,供企業使用或自建私有雲。整合完畢之後再分享給大家。

這套軟體最重要的是符合現代行動裝置的潮流,只要在手機上安裝Client APP,就可以使用這樣的同步服務,IOS、Android都已經被支援了! 這代表企業的主管持有行動裝置的,也可以透過公司自建的雲端進行同步。若IT有心想要建這樣的系統,我想給企業的大頭使用,一定可以為自己創造價值的。
a00ylc00 wrote:
這套軟體好就好在可以擁有自己的網路同步磁碟,先不談「雲端」這樣的服務,因為在架構僅止於Client-Server的層級,離雲端還很遠。


才剛聽說有這套軟體,沒想到有人已經實作出來,還寫了這麼一篇圖文並茂的說明

太讚了! 五分送上

謝謝

聽說 server 端的程式可以裝在 Qnap 的主機上,我來試試看好了

另外我也很好奇 SparkleShare 跟這套的差異

我最想要的就是我在 NAS 上裝好,請同事下載 client 端的程式,就可以跟 DropBox 依樣的使用

目前看以來好像還沒有哪一套做的像 DropBox 依樣多功能

a00ylc00 wrote:
 &nbs...(恕刪)


寫得好,畀個 like 過你至得!
樓主寫這篇寫得真長真用心,收藏一下,改天學著玩看看
感謝樓主的詳盡介紹,五分奉上
a00ylc00 wrote:
 &nbs...(恕刪)
irsjx2vxo3ne3k84dr1dz4,r4pe8bez3/4ne3bq4bew2j92gea jx4hq me-2d8 e3hy4hi2ty k84!


實際還蠻容易安裝的。

只要搞定 PHP 環境,把 ownCloud 丟進去 www 目錄,連上它的網址,第一次登入要設定輸入 Admin 管理員的帳號密碼,然後就能用了,不必改它任何設定檔。


套件需求:
-------------------
httpd
mod_ssl
php (版本要求 > 5.3)

mysql
(非必要,若用 ownCloud 內帶的 SQLite 就不需要)


php 模組需求:
---------------------
php-gd
php-mcrypt
php-mbstring
php-pear
php-pecl-apc
php-pspell
php-pdo
php-xml

php-mysql
(非必要,若用 ownCloud 內帶的 SQLite 就不需要)


CentOS 下,直接 yum install 那一堆,就能滿足需求。


********************************


補充幾個心得:

● 介面有繁體中文,登入後在選項那邊(左下角齒輪圖案),把語系改台灣話,介面就會變成繁中。


● 其實不用 MySQL,它支援內帶的 SQLite,和 MySQL,兩種選擇。

第一次登入時不選進階設定(只填 Admin 帳號名稱和密碼),預設會用它程式內帶的 SQLite 去啟動。

兩種我都試過,內帶的 SQLite 比較好。

用 MySQL 還要開一個資料庫和 MySQL 帳號給它,用內帶的 SQLite 則不用。

且用內帶的 SQLite,操作介面時整體響應速度,會比用 MySQL 快3倍以上。

MySQL 可能是要建的帳號數量有成千上萬,或者要搭配 LDAP 之類的,比較有用。若 SQLite 無法負荷,才選 MySQL。

一般個人使用環境,選內帶的 SQLite,會比較快,且方便。


● 它裡面介面選項中,有一個「 zip 下載」,可以打勾或取消。預設是打勾啟用的。

作用是:從 server 下載雲硬碟的檔案時,會預先壓縮傳輸,可節省上傳流量,尤其台灣這種上傳不對稱的網路會特別有用。

但是這功能有 bug 缺陷,如果啟用「zip 下載」,下載中文檔名的檔案,會變成亂碼檔名。

網路上有熱心人士提供修正程式碼,改一小部分原始碼,可以修正這問題。

ownCloud ZIP打包下載非英文檔名亂碼問題


● Windows 系統也能安裝,比如用 XAMPP 那類整合的 PHP 環境。

但是 windows 系統下 ownCloud 無法上傳中文檔名的檔案,程式會當掉。

這個不知道是 windows 的問題,還是 ownCloud 的問題。網路上找不到解決方法。

本想說做一個 XAMPP + ownCloud 的懶人包,綠色可攜帶,下載後按一下啟動就能用,夠傻瓜式才方便推廣。

但有這個問題就行不通了,不能上傳中文檔名的檔案=沒用。相當可惜,中文環境下目前 ownCloud 可說和 windows 無緣。期待新版看能不能解決。



● 音樂選項,會搜尋雲硬碟中所有 mp3,然後可以直接瀏覽器中線上播放,超強。

估計可能是用 JavaScript 技術的撥放器,因為我用 Firefox 瀏覽器,也聽的到音樂。

Firefox 的 HTML5 不支援 mp3 格式的。所以它能播放,一定不是用 HTML5 的,用 js 播放器的可能性很高。


a00ylc00 wrote:
 &nbs...(恕刪)

太棒了!不給分不行五分送上
謝謝
關閉廣告
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 10)

今日熱門文章 網友點擊推薦!