为解决公有云盘的诸多问题,本文提供了一个私有网盘建设思路,利用京东云VM、OSS和开源软件搭建自己的存储平台,个人或公司用户均适用。目前京东云对象存储(OSS)标准存储类型的用户,还可享受10GB的免费存储容量,如果使用量较大,每日计费时,会先抵扣免费额度,超出部分再按照价格详情付费结算。
本文使用开源软件ownCloud搭建个人网盘,ownCloud是一个自由且开源的云存储解决方案,包括两个部分:服务器和客户端。ownCloud 最早由KDE开发者Frank Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费,但相应地,用户必须自行架设 ownCloud的服务器,这需要一点技术。ownCloud在客户端可通过网页界面,或者安装专用的客户端软件来使用。网页界面当然就是任何能开网页的平台都支持,而客户端软件也支持相当多平台,Windows、Linux、iOS、Android皆有。除了云存储之外,ownCloud也可用于同步行事历、电子邮件联系人、网页浏览器的书签;此外还有多人在线文件同步协作的功能(类似google documents或Duddle等等)。
一、准备工作
1、创建云主机
创建操作系统为centos7.4的云主机,操作流程详见京东云帮助文档,此处不再赘述:
https://docs.jdcloud.com/cn/virtual-machines/create-linux-instance。
2、创建OSS存储空间
详细操作流程请见京东云帮助文档:https://docs.jdcloud.com/cn/object-storage-service/sign-up-service-2。按指引开通对象存储服务,在对象存储服务开通成功后,系统不会为用户自动创建AccessKey和AccessKeySecret,需要用户到个人中心的AccessKey管理处手动创建。
我们创建名为“owndisk”的存储空间,注意,存储空间要和云主机创建在同一区域,如均创建在“华北-北京”区域。
3、挂载OSS到云主机
我们使用s3fs命令手动挂载OSS空间到云主机。
安装依赖
登录云主机,安装依赖包
#yum install automake fuse fuse-devel gcc-c git libcurl-devel libxml2-devel make openssl-devel -y
安装s3fs
#yum install epel-release s3fs-fuse -y
创建密码文件
#echo Access_Key_ID:Access_Key_Secret > ~/.passwd-s3fs
Access_Key_ID:Access_Key_Secret获取方式请见:https://uc.jdcloud.com/account/accessKey
~/.passwd-s3fs为密码存放目录,可自行设置。
设置密钥文件权限
#chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4 2 1=7;
若要rw-属性则4 2=6;
若要r-x属性则4 1=5。
修改权限为600
挂载
本次的对象存储空间名称为:owndisk
mkdir :创建data文件夹作为本地挂载目录
s3fs :手动挂载命令,其中 bucketname 为bucket名称、 /data 是本地挂载路径、 passwd_file 为密码文件位置、 url 为京东云对象存储Bucket页面的Endpoint地域节点(Endpoint地址分为外网和内网地址,若使用京东云云主机与对象存储在同一个地域,请填写内网地址,其他情况请填写外网地址,不要忘记前面的 https:// )
创建名为data的目录,修改权限
#mkdir /data
# chown apache data -Rf
# chmod 770 data –Rf
手动执行挂载命令
#s3fs owndisk /data -o passwd_file=~/.passwd-disk -o url="https://s3-internal.cn-north-1.jdcloud-oss.com"
查看挂载结果
#df -Th
二、搭建lamp环境
1、安装Apache
# yum -y install httpd* -安装Apache软件
# rpm -qa | grep httpd --查看安装的http包
安装成功后,会产生下面两个文件
/etc/httpd/conf/httpd.conf # 主配置文件
/var/www/html # 网站根目录
配置Apache服务开机启动:
# systemctl enable httpd
启动Apache服务:
# systemctl start httpd
# lsof -i:80 --查看httpd服务是否启动
2、安装数据库mariadb
我们安装mariadb作为主数据库
安装
#yum -y install mariadb mariadb-server
#systemctl start mariadb
系统开启自启动
#systemctl enable mariadb
3、安装php
# yum -y install php
查看php版本
#php -v
Owncloud要求php版本高于5.6,如果上述命令查看到的php版本低于5.6,则需要升级版本,升级需要首先把老版本php卸载 , 否则会版本冲突。
#yum -y remove php
运行如下命令检查已经有的php包
#yum list installed | grep php
用yum remove命令一一删除这些包,例如
#yum remove php-mysql.x86_64 0:5.3.3-38.el6
都删除后运行再次以下命令查看是否删完了,要确保删完了
#yum list installed | grep php
下载安装5.6.0以上版本的php,这里以7.2版为例
首先,添加更新rpm源
更新源
#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
然后,安装相关的包
#yum install -y php72w php72w-opcache php72w-xml php72w-gd php72w-devel php72w-mysql php72w-intl php72w-mbstring
之后要等待安装完毕,安装速度取决于你的云主机网络带宽,安装完毕用查看php版本
#php -v
安装完毕,重启apache服务
#systemctl restart httpd
三、安装owncloud
1、导入密钥
导入owncloud rpm包的密钥,可访问下述地址查看密钥:
https://attic.owncloud.org/download/repositories/10.0/owncloud/
#rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key
2、添加仓库源
添加owncloud 仓库源。
#curl -L https://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -o /etc/yum.repos.d/ownCloud.repo
清空本地源缓存,使添加的源生效
#yum clean expire-cache
3、安装owncloud
#yum install -y owncloud
Owncloud安装包约19mb大小,安装速度取决于你的云主机网速。
安装完毕,登录 http://你的云主机ip/owncloud/index.php可查看owncloud网盘页面。
四、配置数据库
在MariaDB数据库中创建owncloud的数据库,设置root用户密码为jdcloud
# mysqladmin -u root password "jdcloud"
# mysql -u root –p
mariadb数据库的相关命令是:
#systemctl start mariadb #启动MariaDB
#systemctl stop mariadb #停止MariaDB
#systemctl restart mariadb #重启MariaDB
#systemctl enable mariadb #设置开机启动
创建数据库,命名为owndisk
#create database owndisk;
登录,如下图:
五、登录、使用
设置完毕后,界面自动跳转,如下图:
用上面设置的用户名密码登录:
可根据上面指引下载桌面或移动客户端,进行数据的存储、备份、同步等操作。