在云计算已经算不上一个新鲜词了,各大IT公司的产品都会套上一个“云”字来忽悠用户。相信大家都用过网盘,现在更流行的词应该叫“云存储”,像用的比较多国外的有 Dropbox、SkyDrive,国内也有百度云网盘、sina微盘、腾讯微云网盘等等,我们可以用这些网盘在不同的设备上来存储/获取数据,如PC、 智能手机、平板电脑等等,同时我们希望不同设备间的数据是同步的。
我们将要搭建自己的云系统平台,更精确的说是一个云存储系统,正如上面的产品所提供的功能。我们将使用开源软件ownCloud来搭建自己的私有云。ownCloud 起源于一个叫The KDE 云计算项目,现在已经适用于大多主流平台,它最早是KED的开发者Frank Karlitschek 创建的,现在由一个ownCloud team共同开发。
首先介绍一下ownCloud:
简单来说就是一个基于PHP的自建网盘。基本上是私人使用,没有用户注册功能,但是有用户添加功能,你可以无限制地添加用户,OwnCloud还提供了不少的免费应用,这些应用可以让你更好观看视频、倾听音乐等。
参考阅读:
在Ubuntu 12.04 LTS上安装ownCloud 4.0.6平台 http://www.linuxidc.com/Linux/2012-08/68297.htm
CentOS 6.2下安装ownCloud 4.0图解 http://www.linuxidc.com/Linux/2013-03/80994.htm
下面教大家如何一步一步地搭建属于自己的云存储平台:
第一步:预装软件。
ownCloud 内核是用PHP5写的,支持SQLite、MySQL、Oracle以及PostgreSQL等数据库。为了简单,我们将用MySQL数据库。在你的Linux系统下你需要安装以下软件:
如果你的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-client
注:客户端也可以从网站上选择相应的版本下载安装。网址为:http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud
从http://owncloud.org/releases/ 网站上下载最新版的ownCloud,对于本教程,我们使用owncloud-4.5.6 版本。到此,我们需要设置web服务器的根目录,对于基于Debian发行版的Linux系统,根目录为/var/www,将ownCloud安装包解压到此目录下。如下命令:
$tar xjf owncloud-4.5.6.tar.bz2
$cp -r owncloud/ /var/www/owncloud/
在我们的例子中,以owncloud作为安装的根目录。
OwnCloud在安装的过程中需要对一些目录有写的权限,为此,web服务器用户(www-data对于基于Debian的系统)必须要拥有apps、data、config目录的权限。运行以下命令完成:
$ cd /var/www/owncloud/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指令来设置。
Options IndexesFollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
下一步我们需要启动Apache的mod_rewrite模块,mod_rewrite模块提供了实时地将访问者请求的静态URL地址映射为动态查询字符串的一种规则。运行下面的命令来启动这个模块:
$ sudo a2enmod rewrite
$ sudo a2enmod headers
一旦你使能了这个必要的模块,你可以重启apache服务来使之生效:
$ sudo service apache2 restart
第四步:安装OwnCloud——安装运行。
在浏览器中打开 http://localhost/owncloud,你会被引导进入ownCloud的安装界面。
首先你要建立一个管理员帐号,输入必填的用户名和密码就完成了。为了配置数据库,点“Advanced” 选择MySQL,然后输入MySQL的数据库名、用户名和密码。
点“Finish” 完成安装过程。
下图为我安装完成登录的主界面(红色框为设置项):
第五步:使用桌面同步客户端同步文件。
你可以使用桌面同步客户端同步不同电脑、设备上的文件,适用于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
注:客户端也可以从网站上选择相应的版本下载安装。网址为:http://software.opensuse.org/download/package?project=isv:ownCloud:devel&package=owncloud-client
从http://owncloud.org/sync-clients/ 可以下载Windows 和 OS X 同步客户端。
桌面同步客户端可以连续同步、选择文件夹同步、多文件夹同步。多文件夹同步是你可以对多个文件夹位置进行同步到多个ownCloud文件夹下,这是大多主流云服务提供商做不到的。
下图为Windows下桌面同步客户端,它可以添加多个位置进行同步到ownCloud不同文件夹下。
第六步:使用移动同步客户端同步文件。
ownCloud 文件同步不仅仅局限于桌面端,你也可以使用ownCloud的移动同步客户端同步你的文件,ownCloud 移动应用适用于Andorid、iOS(iPhone/iPod touch/iPad)平台。Andorid版的应用允许你从任何Android应用上传文件,以及提供自动同步文件功能。
你可以从Google Play商店(https://play.google.com/store/apps/details?id=com.owncloud.android)或者Amazon 应用商店(www.amazon.com/ownCloud-Inc/dp/B00944PQMK/ref=sr_1_1?ie=UTF8&qid=1352459188&sr=8-1&keywords=owncloud)付费下载。如果你不愿意付费,也可以自己编译源代码(https://github.com/owncloud/android)或者下载预制的APK文件(http://alefzero.eu/a/master )。
对于iOS版应用不是开源的,只能成Apple 应用商店获得https://itunes.apple.com/us/app/owncloud/id543672169?mt=8 。
我从github clone 一个最新的源代码,经过编译之后安装在我的Android上,下图为软件运行时截图。