基于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的登錄頁面
登錄成功以后,進入ownCloud的文件首頁,可以對所有文件及文件夾,進行上傳、下載、刪除、分享等操作。圖2.2中,bucket-obsfs文件夾是用方法一掛載的OBS桶、bucket-goofys文件夾是用方法二掛載的OBS語義桶、OBS文件夾是用方法三在網頁設置頁面掛載的OBS桶,3個桶均可正常進行文件操作。
圖2.2 ownCloud的文件首頁
3????? 搭建前準備
在開始搭建ownCloud云盤前需要準備1臺linux主機、2個OBS桶、下載goofys和obsfs工具。
表3.1 工具準備
工具準備
實驗中用到的數據描述
參考信息
1臺linux主機
操作系統(tǒng):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 區(qū)域終端節(jié)點地址 ? --region 區(qū)域? 桶名 本地掛載目錄
下載和安裝指導鏈接:https://bbs.huaweicloud.com/forum/thread-1037-1-1.html
obsfs工具
命令:./obsfs 桶名 本地掛載目錄 -o url=區(qū)域終端節(jié)點地址 -o endpoint=區(qū)域 掛載參數
下載和安裝指導鏈接:https://bbs.huaweicloud.com/forum/thread-14106-1-1.html
4????? 具體搭建流程
4.1????? 搭建LAMP平臺
在linux主機中執(zhí)行如下命令,安裝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平臺
開啟LAMP相關服務。
[root@ecs-s3 ~]# systemctl start httpd.service
[root@ecs-s3 ~]# systemctl start mariadb.service
圖4.2 開啟LAMP相關服務
4.2????? 下載安裝ownCloud
從官方網站(https://owncloud.org/download/)下載最新的安裝包(本示例為10.0.10),下載完畢后解壓源碼包,并移動到網站根目錄下。
圖4.2.1 ownCloud安裝包下載官網
[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執(zhí)行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安裝
安裝完golang后,在/etc/profile中配置環(huán)境變量(根據實際情況填寫)。
圖4.3.2 golang環(huán)境變量配置
重新加載 profile 文件。
[root@ecs-s3 ~]# source /etc/profile
測試安裝是否成功,直接執(zhí)行 go version,若返回了版本信息則安裝成功。
圖4.3.3 驗證golang是否安裝成功
4.3.2??????? 安裝goofys依賴包
查看系統(tǒng)是否已經安裝了fuse,若未安裝,執(zhí)行如下命令。
[root@ecs-s3 ~]# yum -y install fuse
4.3.3??????? 安裝goofys
將已下載的編譯好的goofys放到$GOBIN目錄下,加上執(zhí)行權限后(chmod +x goofys)驗證是否安裝成功,執(zhí)行goofys --version可以顯示版本信息證明成功。
圖4.3.4 驗證goofys是否安裝成功
4.3.4??????? 掛載OBS桶
首先配置OBS認證密鑰,創(chuàng)建/root/.aws/credentials文件,將OBS帳戶所在的AK\SK按如下格式寫入文件中。
vi root/.aws/credentials???//可以使用一個比較不易訪問的目錄保證安全性
[default]
aws_access_key_id = AK
aws_secret_access_key = SK
執(zhí)行圖4.3.5中的命令,將OBS桶obs-files-zoudanhong,掛載在ownCloud網站數據目錄下創(chuàng)建的bucket-goofys目錄。其中uid 48和gid 48分別指apahce用戶id和apahce用戶組id。
之后使用df –h查看是否已經掛載上。
圖4.3.5 goofys掛載OBS桶
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
執(zhí)行圖4.4.1中命令,將OBS桶obsftpzoudanhong,掛載在ownCloud網站數據目錄下創(chuàng)建的bucket-obsfs目錄。其中uid 48和gid 48分別指apahce用戶id和apahce用戶組id。
之后使用df –h查看是否已經掛載上。
圖4.4.1 obsfs掛載OBS桶
4.5????? 創(chuàng)建ownCloud的數據庫
初始化數據庫:
[root@ecs-s3 ~]# mysql_secure_installation????????????????????????? #設置root密碼,之后全部選擇y
圖4.5.1 創(chuàng)建ownCloud數據庫
創(chuàng)建 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 創(chuàng)建 owncloud 用戶和權限
4.6????? 【可選】升級 PHP 版本
若本次部署的owncloud的php版本低于PHP 5.6.0,訪問ownCloud的登錄頁面時會報錯,需要對PHP版本進行升級。
圖4.6.1 php版本過低ownCloud登錄報錯
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??????? 安裝新版本 PHP(7.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新版本是否安裝成功
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的登錄頁面
登錄成功以后,進入ownCloud的文件首頁,可以對所有文件及文件夾,進行上傳、下載、刪除、分享等操作。圖2中,bucket-obsfs文件夾是用方法一掛載的OBS桶、bucket-goofys文件夾是用方法二掛載的OBS語義桶、OBS文件夾是方法三在網頁設置頁面搭載的OBS桶,3個桶均可正常進行文件操作。
圖4.7.2 ownCloud的文件首頁
4.8????? 方法三:通過ownCloud配置頁面掛載OBS桶
在“管理-存儲”中勾選 【Enable external storage】并按照圖示填入圖4.8.1中紅色標注的這幾項即可
圖4.8.1 ownCloud的配置頁面掛載OBS桶
完成后即可在網盤首頁看到OBS對象存儲的目錄,如圖4.7.2所示。
OBS Spring Cloud 其他
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。