文档章节

基于owncloud最新稳定版本9.1.1开发实现了owncloud支持ceph s3作为primary storage功能

2
 25641463
发布于 2016/11/08 11:27
字数 998
阅读 541
收藏 4
点赞 2
评论 6

直接上干货,部署和使用方法:

Owncloud对象存储部署文档

一.前言

在阅读此文档前,建议先阅读owncloud官方的《ownCloud_Server_Administration_Manual.pdf》4.2节,对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 rgwkey

      'secret' => 'yf',           // s3 rgwsecret

      'endpoint' => 'http://192.168.74.128:80/',//ceph s3的访问地址

      'PathStyle' => true,//连接cephtrue,awsfalse

      '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新版本的代码。

© 著作权归作者所有

共有 人打赏支持
2
粉丝 7
博文 15
码字总数 8009
作品 0
沈阳
高级程序员
加载中

评论(6)

2
25641463

引用来自“卷心菜菜”的评论

centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?

引用来自“25641463”的评论

没在centos上测过,在ubuntu14.04上用过。owncloud只是web应用,跟操作系统关系应该不大。出问题可以看看apache日志和owncloud日志,是不是s3连接有问题,或者部署的问题。

引用来自“卷心菜菜”的评论

之间从官网下载的owncloud部署没问题。
从您给的连接下载的包,即使不连接s3也是登录那个问题。

apache没有什么错误。

owncloud日志
{"reqId":"WCVnZ9ZvSpfWC9kurBgqAQAAAAM","remoteAddr":"192.168.27.211","app":"vendor","message":"Could not find resource file \"\/davclient.js\/lib\/client.js\"","level":3,"time":"2016-11-11T06:38:31+00:00","method":"GET","url":"\/owncloud\/index.php\/login","user":"--"}

引用来自“25641463”的评论

对比了下官方的代码,没看出来问题。我只修改了官方的9.1.1版本如下3个文件,以及提供了一个默认的config配置:
owncloud\lib\private\Files\Mount\ObjectHomeMountProvider.php
owncloud\lib\private\Files\ObjectStore\CephS3.php
owncloud\lib\private\Files\ObjectStore\Mapper.php
您可以review一下代码,这些代码不会影响官方的默认local storage流程。或者导致上述js文件找不到问题。

可以这样尝试一下,把官方的9.1.1源码下载并解压缩,把我这3个文件跟源代码diff一下差分过去,然后再安装看看。

引用来自“卷心菜菜”的评论

我把
owncloud\lib\private\Files\Mount\ObjectHomeMountProvider.php
owncloud\lib\private\Files\ObjectStore\CephS3.php
owncloud\lib\private\Files\ObjectStore\Mapper.php
这三个文件替换到了我安装好的ownCloud 9.1.2 版本
没问题了!!
9.1.3版本我看了,这几个文件没变化,可以直接替换。我测过了也OK。
卷心菜菜
卷心菜菜

引用来自“卷心菜菜”的评论

centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?

引用来自“25641463”的评论

没在centos上测过,在ubuntu14.04上用过。owncloud只是web应用,跟操作系统关系应该不大。出问题可以看看apache日志和owncloud日志,是不是s3连接有问题,或者部署的问题。

引用来自“卷心菜菜”的评论

之间从官网下载的owncloud部署没问题。
从您给的连接下载的包,即使不连接s3也是登录那个问题。

apache没有什么错误。

owncloud日志
{"reqId":"WCVnZ9ZvSpfWC9kurBgqAQAAAAM","remoteAddr":"192.168.27.211","app":"vendor","message":"Could not find resource file \"\/davclient.js\/lib\/client.js\"","level":3,"time":"2016-11-11T06:38:31+00:00","method":"GET","url":"\/owncloud\/index.php\/login","user":"--"}

引用来自“25641463”的评论

对比了下官方的代码,没看出来问题。我只修改了官方的9.1.1版本如下3个文件,以及提供了一个默认的config配置:
owncloud\lib\private\Files\Mount\ObjectHomeMountProvider.php
owncloud\lib\private\Files\ObjectStore\CephS3.php
owncloud\lib\private\Files\ObjectStore\Mapper.php
您可以review一下代码,这些代码不会影响官方的默认local storage流程。或者导致上述js文件找不到问题。

可以这样尝试一下,把官方的9.1.1源码下载并解压缩,把我这3个文件跟源代码diff一下差分过去,然后再安装看看。
我把
owncloud\lib\private\Files\Mount\ObjectHomeMountProvider.php
owncloud\lib\private\Files\ObjectStore\CephS3.php
owncloud\lib\private\Files\ObjectStore\Mapper.php
这三个文件替换到了我安装好的ownCloud 9.1.2 版本
没问题了!!
2
25641463

引用来自“卷心菜菜”的评论

centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?

引用来自“25641463”的评论

没在centos上测过,在ubuntu14.04上用过。owncloud只是web应用,跟操作系统关系应该不大。出问题可以看看apache日志和owncloud日志,是不是s3连接有问题,或者部署的问题。

引用来自“卷心菜菜”的评论

之间从官网下载的owncloud部署没问题。
从您给的连接下载的包,即使不连接s3也是登录那个问题。

apache没有什么错误。

owncloud日志
{"reqId":"WCVnZ9ZvSpfWC9kurBgqAQAAAAM","remoteAddr":"192.168.27.211","app":"vendor","message":"Could not find resource file \"\/davclient.js\/lib\/client.js\"","level":3,"time":"2016-11-11T06:38:31+00:00","method":"GET","url":"\/owncloud\/index.php\/login","user":"--"}

对比了下官方的代码,没看出来问题。我只修改了官方的9.1.1版本如下3个文件,以及提供了一个默认的config配置:
owncloud\lib\private\Files\Mount\ObjectHomeMountProvider.php
owncloud\lib\private\Files\ObjectStore\CephS3.php
owncloud\lib\private\Files\ObjectStore\Mapper.php
您可以review一下代码,这些代码不会影响官方的默认local storage流程。或者导致上述js文件找不到问题。

可以这样尝试一下,把官方的9.1.1源码下载并解压缩,把我这3个文件跟源代码diff一下差分过去,然后再安装看看。
卷心菜菜
卷心菜菜

引用来自“卷心菜菜”的评论

centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?

引用来自“25641463”的评论

没在centos上测过,在ubuntu14.04上用过。owncloud只是web应用,跟操作系统关系应该不大。出问题可以看看apache日志和owncloud日志,是不是s3连接有问题,或者部署的问题。
之间从官网下载的owncloud部署没问题。
从您给的连接下载的包,即使不连接s3也是登录那个问题。

apache没有什么错误。

owncloud日志
{"reqId":"WCVnZ9ZvSpfWC9kurBgqAQAAAAM","remoteAddr":"192.168.27.211","app":"vendor","message":"Could not find resource file \"\/davclient.js\/lib\/client.js\"","level":3,"time":"2016-11-11T06:38:31+00:00","method":"GET","url":"\/owncloud\/index.php\/login","user":"--"}

2
25641463

引用来自“卷心菜菜”的评论

centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?
没在centos上测过,在ubuntu14.04上用过。owncloud只是web应用,跟操作系统关系应该不大。出问题可以看看apache日志和owncloud日志,是不是s3连接有问题,或者部署的问题。
卷心菜菜
卷心菜菜
centos7 安装owncloud
配置完config.php
输入用户名和密码,按回车一直在登录界面,没有任何反映,请问您这个owncloud是只使用ubuntu吗?有没有在centos下测试过?
基于LAMP php7.1搭建owncloud云盘 与ceph对象存储S3借口整合案例

ownCloud简介: 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务。当前主要功能包括文件管理(内建文件分享)、音乐、日历、联系人等等,可在PC和服务器上运行。 简单来说就是一个基...

盖世英雄iii
06/27
0
0
一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南

一键式搭建私人网络硬盘、个人网盘,百度网盘——owncloud安装指南 在微软云计算上,我们可以创建VM虚拟机部署“owncloud”网络硬盘。 搭建一个owncloud个人网盘。使用owncloud不仅安全,而且...

iazure
05/28
0
0
owncloud--个人云服务

lnmp搭建参照:http://my.oschina.net/moonly/blog/207629 安装一下必要的PHP扩展: # yum install php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo 为ownCl......

MrYx3en
2014/03/25
0
0
CentOS6.4下安装ownCloud

前提:确认CentOS可以联网。 一、卸载旧版本 ownCloud安装要求 PHP5.3.3以上,如果需要卸载旧版本请参照以下办法,以卸载apache为例。 查询已安装版本。如果要卸载mysql,就把httpd改成mysql...

郭寻抚
2014/04/29
0
1
一款APK,集成Lighttpd、phpMyAdmin、Drupal7、ownCloud等等工具

一、用途介绍: 手机服务站提供了Wifi热点、Web服务、MySQL数据库、PHP、phpMyAdmin、ownCloud私有云、Drupal内容管理、ssh远程登录服务、Transmission智能下载等功能。旨在帮助用户充分利用...

挽风阁
2014/08/01
0
0
红帽7(centos 7) 用owncloud搭建私有云

今天我们来做一下前面学习的笔记。owncloud搭建属于自己和团队的私有云存储同步网盘。更多关于owncloud的详细功能。请查看官方网站:https://owncloud.org/ owncloud的环境是LAMP。所以我们先...

老唐6
06/26
0
0
可扩展桌面笔记客户端 - AlephNote

AlephNote AlephNote 是一个用于多个后端的可扩展,轻量级桌面笔记客户端。 Standard Note 使用 StandardNotePlugin,用户的笔记将同步到 Standard File server,笔记将在本地加密,只有用户...

匿名
05/29
0
0
PHP大牛谈PHP未来的无限遐想

德国开放源码软件开发者Frank Karlit-schek主导的ownCloud项目,是目前采用PHP编写的最大型开源项目之一。他在谈及为何选择PHP时,提到以下几点。 普遍性:ownCloud的目的是让所有人来托管自...

kouxunli1
2014/11/24
0
0
基于centos7.3 redhat7.3安装LAMP(php7.0 php7.1)生产环境实践

#将yum安装的包缓冲到本地,然后制作本地local_yum vim /etc/yum.conf #本机信息 #由于官网yum源下载慢,这里添加ali源 yum clean allrm -rf /etc/yum.repos.d/*.repowget -O /etc/yum.repo...

盖世英雄iii
06/27
0
0
基于redhat7.3 ceph对象存储集群搭建+owncloud S3接口整合生产实践

一、环境准备 安装redhat7.3虚拟机四台 在四台装好的虚拟机上分别加一块100G的硬盘。如图所示: 3.在每个节点上配置主机名 4.集群配置信息如下 5.各节点配置yum源 #需要在每个主机上执行以下...

盖世英雄iii
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
11分钟前
0
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
18分钟前
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
23分钟前
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
0
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
1
0
iptables规则备份和恢复、firewalld的9个zone以及操作和service的操作

保存以及备份iptalbes规则 设定了的防火墙规则要进行保存,否则系统重启后这些规则就没有了,使用命令 ”service iptables save ” 会把设定好的防火墙规则保存到文件/etc/sysconfig/iptabl...

黄昏残影
昨天
0
0
k8s image

k8s.gcr.io/kube-apiserver-amd64:v1.11.0k8s.gcr.io/kube-controller-manager-amd64:v1.11.0k8s.gcr.io/kube-scheduler-amd64:v1.11.0k8s.gcr.io/kube-proxy-amd64:v1.11.0k8s.gcr.......

分秒
昨天
0
0
数据结构--排序

这篇博客包含了数据结构中多种的排序算法: (1)简单选择:第一趟在A[0]~A[n-1]之间找到最小的,与A[0]进行交换,之后在A[1]~A[n-1]之间进行。。。第i趟在A[i-1]~A[n-1]之间找到最小的,最后...

wangxuwei
昨天
1
0
一名3年工作经验的java程序员应该具备的职业技能

一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪...

老道士
昨天
3
0
MAC安装JDK

一 :在JDK官网下载对应的JDK版本 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二:找到JDK安装目录,点击会出现图标,双击图标自动安装,勾选默...

WALK_MAN
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部