linux

阿里ESC+oss搭建个人云

五仁 · 2月22日 · 2019年 · 本文共3321个字 · 预计阅读12分钟2912次已读

说到云盘,大家第一时间应该想到的就是百度云,但是对于非会员的用户,它会对你进行及其恶心的限速,虽然对于会员来说没有这一限制,但是百度云盘毕竟是别人家的东西,数据隐私难免会被泄露出去,这时候我们就需要一个自己的私人云盘了。

如标题,服务器我选择的是阿里云,系统我选择的是centos7.5,而一般云服务器的存储空间都不是很大,这里我额外又购买了阿里云的oss对象储存服务。

云盘系统的话我则是选择的next cloud这套开源的云盘系统,这里附上这个项目的官网地址:nextcloud

1、搭建网站运行环境

或者你也可以直接输入下面的这句命令

做好准备,首先需要在云服务器上搭建一个网站可以正常运行的运行环境,我选择的是lnmp环境,用的lnmp一键脚本,省去麻烦,lnmp一键脚本官网地址:lnmp


wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

Mysql本版我选择的是5.7,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择

然后PHP的版本建议选择7.0以上,整个lnmp环境的安装时间耗时较长,大概在20-60分钟不等。

安装完成后如果显示Nginx: OK,MySQL: OK,PHP: OK,如下图所示:

阿里ESC+oss搭建个人云

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.5 completed! enjoy it.的话,说明已经安装成功。
某些系统可能会一直卡在Install lnmp V1.5 completed! enjoy it.不自动退出,可以按Ctrl+c退出。

这时当你在浏览器输入你服务器IP的时候则会出现如下显示:

阿里ESC+oss搭建个人云

2、安装软件程序

lnmp脚本搭建好的环境,网站默认运行目录是存放在/home/wwwroot目录下的,这个你可以在添加网站指定的时候自行修改

2-1、添加网站指定

lnmp vhost add

这一步你也可以放到网站程序安装完成以后

2-2、安装网站程序

如果在这之前你还没有添加网站指定,你需要在/home/wwwroot目录先创建一个目录

cd /home/wwwroot
mkdir aaa   #aaa改为你自己的网站名或者你自己想要的,网站指定目录时两者名称要一致

进到刚创建好的目录里下载网站程序并解压

wget https://download.nextcloud.com/server/releases/nextcloud-16.0.0.zip
unzip nextcloud-16.0.0.zip
mv /home/wwroot/#你创建的网站目录名#/nextcloud/* /home/wwroot/#你创建的网站目录名#

2-3、修改用户组

做到2-2那步其实就已经完成了,通过你绑定的域名就可以访问网站了,但这时你通过域名访问网站时你会发现网页提示“服务器内部错误”,遇到这个问题一般都是权限问题,但并不是读写权限,而是用户权限

我们在wwwroot目录下 输入ls -l #你网站目录名#  就可以看到用户组了,这时你会发现此时的用户和用户组,都是root(不同的安装方式用户权限可能不同,如果查看的用户组非root,可以忽略)

遇到这种情况,我们可以通过下面这条命令进行修改,将root用户组改为www

chown -R www:www #你的网站目录#

修改完成后再次用ls -l #你网站目录名# 查看,发现此时的用户组都已经改为了www

这时我们再次通过域名访问网站一切就正常了

3、挂载阿里云oss

3-1、挂载oss

根据阿里云官方文档,我们需要用到官方的ossfs插件,注意,此插件只适用linux系统      官方文档

  • ossfs安装方法

对于Ubuntu,安装命令为:

apt-get update
apt-get install gdebi-core
gdebi your_ossfs_package

对于CentOS6.5及以上,安装命令为:

yum localinstall your_ossfs_package

对于CentOS5,安装命令为:

yum localinstall your_ossfs_package --nogpgcheck
  • 使用方法

设置bucket name 和 AccessKeyId/Secret信息,将其存放在/etc/passwd-ossfs 文件中。注意这个文件的权限必须正确设置,建议设为640。

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

将OSS bucket 挂载到指定目录。

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

示例:

my-bucket这个bucket挂载到/tmp/ossfs目录下,OSS endpoint是http://oss-cn-hangzhou.aliyuncs.com

ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

如果您使用从阿里云购买的云服务器(ECS)来提供ossfs服务,您可以使用内网域名,在这个示例中您可以将OSS endpoint 改为 oss-cn-hangzhou-internal.aliyuncs.com,这样可以节省带宽方面的费用。OSS的内网域名请参考访问域名和数据中心

注意:直接通过这条命令挂载的用户组为root,如果你是挂载到了nextcloud的数据目录data目录下,你需要将用户组修改为www,同时还需要将权限也修改为770,挂载时需将命令修改如下:

ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o uid=1001 -o gid=1001 -o umask=007 -o allow_other

//如果你想挂载下来的目录属于某个用户,则可以设置uidgid参数。user_id和group_id是用户的uid和gid参数(通过id user_name命令即可查看)

//上面的umask是用来设置挂载下来的文件夹及文件的权限的。比如如果你想挂载下的文件夹的权限为770,你就设置umask=007,也即777-770。一定不能直接设置umask=770,而是要用777减去你想赋予的权限,也即777-770!

//allow_other是为了允许其他用户访问挂载文件夹

注意:挂载时,你所要挂载的目录一定要是空的,里面没有任何文件,否则将会挂载不上

3-2、设置开机自动挂载

cd /etc/init.d/

新建ossfs文件,写入信息

#! /bin/bash

#

# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.

#

# chkconfig: 2345 90 10

# description: Activates/Deactivates ossfs configured to start at boot time.

 

ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o uid=1001 -o gid=1001 -o umask=007 -o allow_other

保存退出

之后执行命令:

chmod a+x /etc/init.d/ossfs

把新建立的ossfs脚本赋予可执行权限。

执行命令:

chkconfig ossfs on

挂载完毕后利用df -h命令查看会发现一个256T的容量,因为oss最大支持容量为256T

3-3、卸载bucket

fusermount -u /tmp/ossfs

至此,利用阿里云服务器+oss搭建的私人云盘就搭好了

视频教程

上篇

下篇

协助安装

本站提供付费协助搭建,有这个需要的可以留言或者联系站长!


0 条回应