教程:建立自己的私有云整洁代码——提高代码可读性方法简述
现在云计算已经算不上一个新鲜词了,各大IT公司的产品都会套上一个“云”字来忽悠用户。相信大家都用过网盘,现在更流行的词应该叫“云存储”,像用的比较多国外的有Dropbox、SkyDrive,国内也有百度云网盘、sina微盘、腾讯微云网盘等等,我们可以用这些网盘在不同的设备上来存储/获取数据,如PC、智能手机、平板电脑等等,同时我们希望不同设备间的数据是同步的。
我们将要搭建自己的云系统平台,更精确的说是一个云存储系统,正如上面的产品所提供的功能。我们将使用开源软件ownCloud来搭建自己的私有云。ownCloud 起源于一个叫The KDE 云计算项目,现在已经适用于大多主流平台,它最早是KED的开发者Frank Karlitschek 创建的,现在由一个ownCloud team共同开发。
下面教大家如何一步一步地搭建属于自己的云存储平台:
第一步:预装软件。
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 根目录。
从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 -v owncloud/ /var/www/guohlcloud/
在我们的例子中,以guohlcloud作为安装的根目录。
OwnCloud在安装的过程中需要对一些目录有写的权限,为此,web服务器用户(www-data对于基于Debian的系统)必须要拥有apps、data、config目录的权限。运行以下命令完成:
$ cd /var/www/ludcloud #这个文件夹不存在,但在安装过程中需要,应该先建立。 $ 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——安装运行。
在浏览器中打开 http://localhost/ludcloud ,你会被引导进入ownCloud的安装界面。
首先你要建立一个管理员帐号,输入必填的用户名和密码就完成了。为了配置数据库,点“Advanced” 选择MySQL,然后输入MySQL的数据库名、用户名和密码。
点“Finish” 完成安装过程。
下图为我安装完成登录的主界面(红色框为设置项):
第五步:使用桌面同步客户端同步文件。
你可以使用桌面同步客户端同步不同电脑、设备上的文件,适用于Linux、OS X 和 Windows系统。跟ownCloud一样,桌面同步客户端也是开源的。
例如Ubuntu下,你可以通过apt-get安装:
$ sudo apt-get install owncloud-client
对于其他的发行版(Debain,CentOS,Fedora,openSuse 等),你可以通过这个URL下载ownCloud的桌面同步客户端: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上,下图为软件运行时截图。
主要内容编译自:http://www.linuxuser.co.uk/tutorials/build-your-own-cloud
更多关于ownCloud开发和使用的信息,可以访问其官网:http://owncloud.org/
结束语:不得不感叹开源软件的强大!