本篇文章给大家分享的是有关基于owncloud9.1.1如何开发实现owncloud支持ceph s3作为primary storage功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Owncloud对象存储部署文档
一.前言
通过对owncloud的开发,使其支持后端S3存储,在部署架构上,S3存储端完全可以支持owncloud部署要求的“Large Enterprises and Service Providers”,从功能、性能、可靠性、可扩展性、容量等方面满足大规模云存储网盘的使用规模。
二.部署方法
本文以“Small Workgroups or Departments”为例描述单机owncloud对接S3的部署方式,其他部署方式可以参考ownclud admin手册。本文档部署环境使用Ubuntu14.04 x64。
1. 安装owncloud之前,首先需要Apache, MySQL/MariaDB, PHP的支持,以下使用MySQL作为数据库进行安装。
sudo apt-get install apache2 mysql-server libapache2-mod-php5
sudo apt-get install php5-gd php5-json php5-mysql php5-curl
sudo apt-get install php5-intl php5-mcrypt php5-imagick
第一行 安装运行完之后,MySQL需要配置root用户的密码。
2. 安装ownCloud,从我的https://github.com/YangFanlinux/owncloud下载owncloud源码包,解压缩到/var/www目录下。至此,owncloud安装完毕。
3. Apache服务器配置,首先切换到root用户
su root
cd /etc/apache2/sites-available/
vim owncloud.conf
4. 将以下文字复制进owncloud.conf配置文件。
Alias /owncloud "/var/www/owncloud/"
<Directory "/var/www/owncloud">
Options +FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
Satisfy Any
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
<Directory "/var/www/owncloud/data/">
# just in case if .htaccess gets disabled
Require all denied
</Directory>
5. 将配置文件symlink到/etc/apache2/sites-enabled下。
ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf
6. 创建文件链接后,可以看到/etc/apache2/sites-enabled/文件夹下多了一个owncloud.conf文件,此文件的更改和/etc/apache2/sites-available/下owncloud.conf文件的更改同步。
7. 接下来为可选设置,但建议还是设置一下
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
8.
重启Apache
service apache2 restart
9.
开启SSL
a2enmod ssl
a2ensite default-ssl
service apache2 reload
10.
ownCloud 配置,首先,把owncloud目录的给你的HTTP user,默认为www-data
chown -R www-data:www-data /var/www/owncloud/
11. 接下来,使用浏览器访问以下地址,其中localhost使用主机内网IP代替。注意,先不要创建管理员帐号并登录。只登录一下系统,这样在/var/www/owncloud/config/目录下会生成默认配置文件。
http://localhost/owncloud
12.
修改配置文件
/
var/www/owncloud/config/config.php
,如果使用
multibucket
特性可以参考
config.multibucket.php
的配置。如果使用单
bucket
可以参考
config-singbucket.php
。以
multibucket
为例,在
config.php
中加入如下配置:
'objectstore_multibucket'=> array (
'class' => 'OC\\Files\\ObjectStore\\CephS3',
'arguments' => array (
'autocreate' => true,//
自动创建
bucket
,默认为
true
'version' => '2006-03-01',//AWS s3
版本号
'region' => '',//
连接
AWS
需要设置,
ceph s3
不需要设置
'key' => 'E60Z7V7OW9Y1U8WFI9T3', //s3 rgw
的
key
'secret' => 'yf', // s3 rgw
的
secret
'endpoint' => 'http://192.168.74.128:80/',//ceph s3
的访问地址
'PathStyle' => true,//
连接
ceph
为
true,aws
为
false
'prefix' => 'neunnowncloud-',//multi-bucket
需要填写生成
bucket
的前缀,注意,需要参考
s3 bucket
命名规范。
'hashlength' => '3',//
系统自动生成的
bucket
名字为
prefix+hash
,默认取
userid md5
值的前三位作为
hash
值。
),
'integrity.check.disabled' => true,//
由于进行了代码二次开发,关闭程序完整性校验功能
'enable_previews' => false,//
文件预览功能有
bug
,暂时关闭
13.
设置完后访问
http://localhost/owncloud
,创建管理员并填写数据库信息后,即可登录,
owncloud
的所有部署工作完成。
三.关于owncloud版本升级
本次开发基于
owncloud
最新稳定版本
9.1.1
,源码进行了一定的改动并没有合并入
owncloud
主线版本,所以后续升级不支持官方的自动升级,需要手动把修改代码merge到
owncloud
新版本的代码。
以上就是基于owncloud9.1.1如何开发实现owncloud支持ceph s3作为primary storage功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。