1. 程式人生 > >使用ownCloud搭建私人儲存雲(以Ubuntu12.04為例)

使用ownCloud搭建私人儲存雲(以Ubuntu12.04為例)

在雲端計算已經算不上一個新鮮詞了,各大IT公司的產品都會套上一個“雲”字來忽悠使用者。相信大家都用過網盤,現在更流行的詞應該叫“雲端儲存”,像用的比較多國外的有 Dropbox、SkyDrive,國內也有百度雲網盤、sina微盤、騰訊微雲網盤等等,我們可以用這些網盤在不同的裝置上來儲存/獲取資料,如PC、 智慧手機、平板電腦等等,同時我們希望不同裝置間的資料是同步的。

      我們將要搭建自己的雲系統平臺,更精確的說是一個雲端儲存系統,正如上面的產品所提供的功能。我們將使用開源軟體ownCloud來搭建自己的私有云。ownCloud 起源於一個叫The KDE 雲端計算專案,現在已經適用於大多主流平臺,它最早是KED的開發者Frank Karlitschek 建立的,現在由一個ownCloud team共同開發。

      首先介紹一下ownCloud:

      簡單來說就是一個基於PHP的自建網盤。基本上是私人使用,沒有使用者註冊功能,但是有使用者新增功能,你可以無限制地新增使用者,ownCloud還提供了不少的免費應用,這些應用可以讓你更好觀看視訊、傾聽音樂等。

      更詳細內容可參考常青管理:

    下面教大家如何一步一步地搭建屬於自己的雲端儲存平臺:

    第一步:預裝軟體。

    ownCloud 核心是用PHP5寫的,支援SQLite、MySQL、Oracle以及PostgreSQL等資料庫。為了簡單,我們將用MySQL資料庫。在你的Linux系統下你需要安裝以下軟體:

  • PHP 安裝包:php5, php5-gd, php-xml- parser,php5-intl
  • 資料庫驅動:php5-mysql(如果你使用其他資料庫,需要安裝相應的資料庫以及驅動)
  • Curl 安裝包:curl, libcurl3, php5-curl
  • SMB 客戶端:smbclient (這個用來掛載Windows共享資料夾的)
  • Web 伺服器:apache2

    如果你的Linux是基於Debian的,你可以執行下面的命令一鍵安裝所有的軟體:

$sudo apt-get install apache2 php5 php5-gd php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl mysql-server

       注:以上的命令正確執行需要所有的軟體正常安裝,如果前邊有軟體安裝失敗,則後邊的軟體安裝失敗,因此建議分步安裝軟體。

    第二步:安裝ownCloud——設定web 根目錄。

    例如Ubuntu下,你可以通過apt-get安裝:再安裝之前需要先新增第三方軟體源(需要先切換到root使用者,再新增軟體源)。

#echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/ownCloud.list
#apt-get update
#apt-get install owncloud

   注:如果使用apt-get安裝,則資料目錄預設為/user/share/owncloud/data,需要具有相應的許可權。

    從http://owncloud.org/releases/ 網站上下載最新版的ownCloud,對於本教程,我們使用owncloud-4.5.6 版本。到此,我們需要設定web伺服器的根目錄,對於基於Debian發行版的Linux系統,根目錄為/var/www,將ownCloud安裝包解壓到此目錄下。如下命令:

$tar xjf owncloud-4.5.6.tar.bz2
$sudo cp -r owncloud/ /var/www/owncloud/

    在我們的例子中,以owncloud作為安裝的根目錄。

    ownCloud在安裝的過程中需要對一些目錄有寫的許可權,為此,web伺服器使用者(www-data對於基於Debian的系統)必須要擁有apps、data、config目錄的許可權。下載的owncloud伺服器程式中沒有data目錄,需要首先建立data目錄。執行以下命令完成:

$cd /var/www/owncloud/
$sudo mkdir data/
$sudo chown -R www-data:www-data data
$sudo chown -R www-data:www-data config
$sudo chown -R www-data:www-data apps

   第三步:安裝ownCloud——配置web伺服器。

    這一步我們要為 ownCloud配置Apache伺服器,ownCloud需要啟用 Apache上 .htaccess 檔案,.htaccess檔案(或者"分散式配置檔案")提供了針對目錄改變配置的方法。為了啟用web伺服器上的.htaccess,可以通過 Apache配置檔案(基於Debain系統是/etc/apache2/sites-enabled/000-default)的 AllowOverride指令來設定。

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

    下一步我們需要啟動Apache的mod_rewrite模組,mod_rewrite模組提供了實時地將訪問者請求的靜態URL地址對映為動態查詢字串的一種規則。執行下面的命令來啟動這個模組:

$sudo a2enmod rewrite
$sudo a2enmod headers

一旦你使能了這個必要的模組,你可以重啟apache服務來使之生效:

$sudo service apache2 restart 

    第四步:安裝ownCloud——安裝執行。

    首先你要建立一個管理員帳號,輸入必填的使用者名稱和密碼就完成了。資料目錄為/var/www/owncloud/data,為了配置資料庫,點“Advanced” 選擇MySQL,然後輸入MySQL的資料庫名、使用者名稱和密碼。

    點“Finish” 完成安裝過程。

    下圖為我安裝完成登入的主介面(紅色框為設定項):

Files   ownCloud  guohl

    第五步:使用桌面同步客戶端同步檔案。

    你可以使用桌面同步客戶端同步不同電腦、裝置上的檔案,適用於Linux、OS X 和 Windows系統。跟ownCloud一樣,桌面同步客戶端也是開源的。

    例如Ubuntu下,你可以通過apt-get安裝:再安裝之前需要先新增第三方軟體源(需要先切換到root使用者,再新增軟體源)。

$echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:devel/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/ownCloud.list
$apt-get update
$apt-get install owncloud-client

    桌面同步客戶端可以連續同步、選擇資料夾同步、多資料夾同步。多資料夾同步使你可以將多個資料夾位置進行同步到多個ownCloud資料夾下,這是大多主流雲服務提供商做不到的。

    下圖為Windows下桌面同步客戶端,它可以新增多個位置進行同步到ownCloud不同資料夾下。

QQ截圖20130509221136

    第六步:使用移動同步客戶端同步檔案。

    ownCloud 檔案同步不僅僅侷限於桌面端,你也可以使用ownCloud的移動同步客戶端同步你的檔案,ownCloud 移動應用適用於Andorid、iOS(iPhone/iPod touch/iPad)平臺。Andorid版的應用允許你從任何Android應用上傳檔案,以及提供自動同步檔案功能。

    我從github clone 一個最新的原始碼,經過編譯之後安裝在我的Android上,下圖為軟體執行時截圖。

    注:在手機上建立連線的時候ownCloud的地址為形如:http://192.168.0.201/owncloud的形式,網址前必須加上http協議字首

image