基于OBS搭建ownCloud私人云盘

举报
chongchongly 发表于 2019/05/17 11:46:57 2019/05/17
【摘要】 近来国内各大网盘频繁关停,大家都被迫迁移文件,很多人在寻求其它的解决方法。其中一种方案,就是利用OBS的海量、安全、低成本的数据存储能力,搭建ownCloud私人云盘,实现无限海量空间存储、共享,以及多平台同步和多形式访问。

1      方案概述

1.1      背景说明

近来国内各大网盘频繁关停,大家都被迫迁移文件,很多人在寻求其它的解决方法。其中一种方案,就是利用OBS的海量、安全、低成本的数据存储能力,搭建ownCloud私人云盘,实现无限海量空间存储、共享,以及多平台同步和多形式访问。

1.2      方案说明

ownCloud私人云盘在搭建过程中,OBS桶有如下3种形式挂载在ownCloud中:

Ø  方法一:通过goofys工具,将OBS桶挂载在服务器ownCloud数据目录所在的某个文件夹;

Ø  方法二:通过obsfs工具,将OBS posix桶挂载在服务器ownCloud数据目录所在的某个文件夹;

Ø  方法三:ownCloud云盘搭建好以后,在配置网页中添加外部存储,挂载OBS桶。

前两种方式相较于第三种方式,不会暴露挂载的外部存储信息,也可防止其他登录ownCloud平台的人员查看或修改此信息。本文将详细讲解这3种挂载方式。

2      效果展示

基于OBS搭建ownCloud私人云盘搭建好以后,访问ownCloud的登录页面(http:// IP-ownCloud/owncloud/index.php/login,其中IP-ownCloud为ownCloud所在的服务器IP地址),输入搭建ownCloud时设置的用户名和密码

2.1 ownCloud的登录页面

image.png

登录成功以后,进入ownCloud的文件首页,可以对所有文件及文件夹,进行上传、下载、删除、分享等操作。图2.2中,bucket-obsfs文件夹是用方法一挂载的OBS桶、bucket-goofys文件夹是用方法二挂载的OBS语义桶、OBS文件夹是用方法三在网页设置页面挂载的OBS桶,3个桶均可正常进行文件操作。

2.2 ownCloud的文件首页

image.png

3      搭建前准备

在开始搭建ownCloud云盘前需要准备1台linux主机、2个OBS桶、下载goofys和obsfs工具。

3.1 工具准备

工具准备

实验中用到的数据描述

参考信息

1台linux主机

操作系统:CentOS 7.5 64bit
  外网IP:49.4.30.225

华为云ECS申请链接:https://www.huaweicloud.com/product/ecs.html
  使用帮助文档链接:https://support.huaweicloud.com/ecs/index.html

2个OBS桶

普通桶:obs-files-zoudanhong
  posix桶:obsftpzoudanhong

OBS桶申请链接:https://www.huaweicloud.com/product/obs.html
  使用帮助文档链接:https://support.huaweicloud.com/obs/index.html

goofys工具

命令:goofys --endpoint 区域终端节点地址   --region 区域  桶名 本地挂载目录

下载和安装指导链接:https://bbs.huaweicloud.com/forum/thread-1037-1-1.html

obsfs工具

命令:./obsfs 桶名 本地挂载目录 -o url=区域终端节点地址 -o endpoint=区域 挂载参数

下载和安装指导链接:https://bbs.huaweicloud.com/forum/thread-14106-1-1.html

4      具体搭建流程

4.1      搭建LAMP平台

linux主机中执行如下命令,安装LAMP架构。

[root@ecs-s3 ~]# yum install -y httpd php php-mysql mariadb-server mariadb sqlite php-dom php-mbstring php-gd php-pdo

4.1.1 搭建LAMP平台

image.png

开启LAMP相关服务。

[root@ecs-s3 ~]# systemctl start httpd.service

[root@ecs-s3 ~]# systemctl start mariadb.service

4.2 开启LAMP相关服务

image.png

4.2      下载安装ownCloud

从官方网站(https://owncloud.org/download/)下载最新的安装包(本示例为10.0.10),下载完毕后解压源码包,并移动到网站根目录下。

4.2.1 ownCloud安装包下载官网

image.png

[root@ecs-s3 ~]# wget https://download.owncloud.org/community/owncloud-10.0.10.tar.bz2

[root@ecs-s3 ~]# tar -xvf owncloud-10.0.10.tar.bz2

[root@ecs-s3 ~]# cp -r owncloud /var/www/html/  #移到网站默认路径

 

网站数据默认存放路径为/var/www/html/owncloud/data/root/files,在这里我们拷贝了一些文件到此目录,并在此目录中新建两个目录作为OBS桶的挂载目录(bucket-goofys、bucket-obsfs)。

[root@ecs-s3 files]# ls

Documents owncloud2 ownCloud Manual.pdf owncloud测试1.txt Photos bucket-goofys bucket-obsfs

[root@ecs-s3 files]# pwd

/var/www/html/owncloud/data/root/files

[root@ecs-s3 ~]# chown -R apache.apache /var/www/html/owncloud

 

注:若解压遇到报错“tar (child): lbzip2: Cannot exec: No such file or directory”,可能是没有安装bz2执行yum -y install bzip2安装即可。

4.3      方法一:通过goofys工具挂载OBS桶

goofys工具的使用过程,可以概述为:安装golang---->安装goofys依赖包--->安装goofys---->挂载OBS桶。下载和安装指导链接:https://bbs.huaweicloud.com/forum/thread-1037-1-1.html

4.3.1        安装golang

[root@ecs-s3 ~]# yum -y install golang

4.3.1 golang安装

image.png

安装完golang后,在/etc/profile中配置环境变量(根据实际情况填写)。

4.3.2 golang环境变量配置

image.png

重新加载 profile 文件。

[root@ecs-s3 ~]# source /etc/profile

测试安装是否成功,直接执行 go version,若返回了版本信息则安装成功。

4.3.3 验证golang是否安装成功

image.png

4.3.2        安装goofys依赖包

查看系统是否已经安装了fuse,若未安装,执行如下命令。

[root@ecs-s3 ~]# yum -y install fuse

4.3.3        安装goofys

将已下载的编译好的goofys放到$GOBIN目录下,加上执行权限后(chmod +x goofys)验证是否安装成功,执行goofys --version可以显示版本信息证明成功。

4.3.4 验证goofys是否安装成功

image.png

4.3.4        挂载OBS

首先配置OBS认证密钥,创建/root/.aws/credentials文件,将OBS帐户所在的AK\SK按如下格式写入文件中。

vi root/.aws/credentials   //可以使用一个比较不易访问的目录保证安全性
[default]
aws_access_key_id = AK
aws_secret_access_key = SK

 

执行图4.3.5中的命令,将OBS桶obs-files-zoudanhong,挂载在ownCloud网站数据目录下创建的bucket-goofys目录。其中uid 48和gid 48分别指apahce用户id和apahce用户组id。

            之后使用df –h查看是否已经挂载上。

4.3.5 goofys挂载OBS桶

image.png

4.4      方法二:通过obsfs工具挂载OBS桶

obsfs工具拷贝到指定目录解压,这里以 /home目录为例,按照指导文档进行配置。下载和安装指导链接:https://bbs.huaweicloud.com/forum/thread-14106-1-1.html

首先准备好密钥文件,将OBS将帐户访问密钥写入全局默认文件“/etc/passwd-s3fs”。

echo AK:SK > /etc/passwd-s3fs

 

执行图4.4.1中命令,将OBS桶obsftpzoudanhong,挂载在ownCloud网站数据目录下创建的bucket-obsfs目录。其中uid 48和gid 48分别指apahce用户id和apahce用户组id。

            之后使用df –h查看是否已经挂载上。

4.4.1 obsfs挂载OBS桶

image.png

 

4.5      创建ownCloud的数据库

初始化数据库:

[root@ecs-s3 ~]# mysql_secure_installation                          #设置root密码,之后全部选择y

4.5.1 创建ownCloud数据库

image.png

image.png

 

创建 owncloud 用户和权限:

[root@ecs-s3 ~]# mysql -u root –p         #输入密码

MariaDB [(none)]> create database owncloud;

MariaDB [(none)]> create user 'owncloud'@'localhost' identified by 'somedatabasepassword';

MariaDB [(none)]> grant all on owncloud.* to 'owncloud'@'localhost';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> quit;

4.5.2 创建 owncloud 用户和权限

image.png

4.6      【可选】升级 PHP 版本

若本次部署的owncloud的php版本低于PHP 5.6.0,访问ownCloud的登录页面时会报错,需要对PHP版本进行升级。

4.6.1 php版本过低ownCloud登录报错

image.png

4.6.1        添加第三方源

检查当前PHP的安装包。

[root@ecs-s3 ~]# yum list installed | grep php

移除当前PHP的安装包,否则容易起冲突。

[root@ecs-s3 ~]# yum remove php*

由于默认的YUM源无法升级PHP,所以需要添加第三方的YUM源。

[root@ecs-s3 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm #更新源

[root@ecs-s3 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

 

4.6.2        安装新版本 PHP7.2

[root@ecs-s3 ~]# yum install -y php72w php72w-opcache php72w-xml php72w-mcrypt php72w-

gd php72w-devel php72w-mysql php72w-intl php72w-mbstring

4.6.3        验证 PHP 版本

[root@ecs-s3 ~]# php v

4.6.2 验证php新版本是否安装成功

image.png

4.6.4        重启 apache

 [root@ecs-s3 ~]# systemctl restart httpd.service

            此时重新刷新ownCloud的登录界面,界面已经能正常显示。

4.7      登录 ownCloud

访问ownCloud的登录页面(http:// IP-ownCloud/owncloud/index.php/login,其中IP-ownCloud为ownCloud所在的服务器IP地址),输入搭建ownCloud时设置的用户名和密码

4.7.1 ownCloud的登录页面

image.png

登录成功以后,进入ownCloud的文件首页,可以对所有文件及文件夹,进行上传、下载、删除、分享等操作。图2中,bucket-obsfs文件夹是用方法一挂载的OBS桶、bucket-goofys文件夹是用方法二挂载的OBS语义桶、OBS文件夹是方法三在网页设置页面搭载的OBS桶,3个桶均可正常进行文件操作。

4.7.2 ownCloud的文件首页

image.png

4.8      方法三:通过ownCloud配置页面挂载OBS桶

在“管理-存储”中勾选 【Enable external storage】并按照图示填入图4.8.1中红色标注的这几项即可

4.8.1 ownCloud的配置页面挂载OBS桶

image.png

完成后即可在网盘首页看到OBS对象存储的目录,如图4.7.2所示。

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200