Welcome to西安卓战电子科技有限公司!

13384947897

联系我们

PRPULAR PUSH

ATTEN:
卓战客服
phone:
13384947897
QQ:
407361728
ADD:
西安市高新区唐延南路逸翠商务公馆1-2-5

广东云软件平台

author:西安卓战电子科技有限公司

【Font size: big medium smail

time:2020-08-22 12:23:02

本文由西安卓战电子科技有限公司提供,重点介绍了云软件平台相关内容。西安卓战电子科技有限公司专业提供那云软件,云终端管理软件,云控软件是什么样的等多项产品服务。公司客户好评率高,行业口碑好,是在本行业中您的不二选择

云软件平台如果你有太多值得记住的东西

----搭个私有云吧。

在这个专栏的开篇,我花了大半年的时间更新过我在家用存储硬件上的实践历程:云软件平台

xiao xiao:关于硬盘、存储池和NAS--家用存储方案持续折腾记

硬件有了,就需要一个强大的私有云软件方案,也就是这个系列的主角:Nextcloud+OpenMediaVault+Aria2.

NOA大法好我简称NOA。

而作为比较对象,百度云付费版集合了云端存储/多平台客户端/离线下载/文件在线浏览等实用功能。所以NOA的目标就是在以上领域全面超越百度云。

Nextcloud脱胎于ownCloud,是一个基于PHP的开源云存储方案。其对于家庭场景来说有几点优势:

用户文件不存入数据库,恢复时无需重建提供非常丰富的多平台客户端:Windows/Mac/Linux/Android/iOS,提供比较完善的即时备份/同步功能提供webDAV接口,非常方便备份和映射配合官方插件可以提供非常强悍的web端呈现,包括在线查看图片/编辑文档/播放视频方便生成分享链接可以说,Nextcloud直接就可以提供90%的度盘功能。除非你特别不爽php和无后端模式,Nextcloud就是目前最强大的私有云方案。

下面我就把NOA部署方案简明的记录下来,大家撸起袖子开干。

准备工作:申请SSL证书部署私有云的一大需求是从外部访问自己的文件,链路加密是必不可少的。我们可以使用openSSL工具自己生成公私钥证书,但有一个问题,使用浏览器访问的时候会报证书无效:

想要去掉这个annoying的警示符号,同时也是为了增加安全性(你不会每次都查看证书信息),我们可以从阿里云或者腾讯云申请免费的域名证书。

以腾讯云为例,进入网址 SSL证书选购 - 腾讯云 ,选择域名型免费版(DV):

填入你的域名(ddns)地址,类型选择文件验证,按照步骤申请即可。

申请后的详情页里,有一串时间打头的验证文本,待会儿会用到。

另外,这里需要你已经拥有配置好的ddns(花生壳/公云/路由器厂商自带)或者是vps,能够外网通过443端口访问到服务器。由于政策原因,所有的家用宽带都是封闭80端口的,大部分地方没有封闭443端口,以上证书文件验证方法使用于443端口没有被封锁的情况。

从docker构建Nextcloud,并配置nginx搭建整个服务的基础是一台运行Ubuntu/Debian/Cent的主机/vps,运行Windows10的家庭电脑完全可以通过开启自带的Hyper-V虚拟机安装Ubuntu Server(由于是存储云应用,虚拟盘一定要设大些,否则以后调整很麻烦)。

这里假设你已经有了一台ubuntu server,有一个www用户,并安装了docker。

Nextcloud在dockerHub上的官方仓库为

https://hub.docker.com/_/nextcloud/按照上面base-apache的步骤,使用docker-compose可以直观地创建一个Nextcloud实例。

我比较懒,直接docker run创建了。注意YOUR_PASSWORD改为自己的,先创建数据库mariadb:

docker run -d --name db_nextcloud \

-v /home/www/nextcloud/db:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=YOUR_PASSWORD\

-e MYSQL_DATABASE=nextcloud\

-e MYSQL_USER=nextcloud\

-e MYSQL_PASSWORD=YOUR_PASSWORD\

mariadb再创建Nextcloud,这里的端口配置为将container的80和443映射为宿主机的8080和4433:

docker run -d --name nextcloud \

--link db_nextcloud:db_nextcloud \

-p 8080:80 \

-p 4433:443 \

-v /home/www/nextcloud/root:/var/www/html \

-e DB_TYPE=mysql \

-e DB_NAME=nextcloud\

-e DB_USER=nextcloud\

-e DB_PASSWORD=YOUR_PASSWORD\

-e DB_HOST=db_nextcloud\

nextcloudnginx安装:

sudo apt install nginx添加新的nginx配置文件并编辑:

sudo nano /etc/nginx/conf.d/nextcloud.conf先添加80端口,http://xxx.xxx.xxx替换为自己的域名:

server {

listen 80;

server_name xxx.xxx.xxx;

# enforce https云软件平台

return 301 https://$server_name$request_uri;

}

此时80端口上的请求会301重定向到https。

然后是443端口:

server {

listen 443 ssl;

server_name xxx.xxx.xxx;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_certificate /etc/nginx/cert/nextcloud.crt;

ssl_certificate_key /etc/nginx/cert/nextcloud.key;

add_header Strict-Transport-Security "max-age=15768000";

add_header X-Content-Type-Options nosniff;

add_header X-Permitted-Cross-Domain-Policies none;

# Path to the root of your installation

client_max_body_size 10G;

location = /.well-known/pki-validation/fileauth.txt {

default_type text/plain;

return 200 'xxxxxxxxxxxxxxxxxxx';

}

location / {

proxy_pass http://localhost:8080;

这里ssl_certificate 和 ssl_certificate_key 两行定义了获取到的证书和私钥,这里因为还没申请到,先注释掉。重要的是 location = /.well-known/pki-validation/fileauth.txt 这一行,定义了腾讯审核时的返回值,return 200 后面就填上准备工作中提到的验证文本。

等待一段时间(这个时间不确定,快的话10分钟左右),腾讯验证过了你的域名所有权之后,就会发放证书,把证书包下载下来,Nginx文件夹里就是需要用到的证书和私钥,拷贝到服务器/etc/nginx/cert目录下,将私钥文件(.key)访问权设置为0600,并在上述nginx配置中添加ssl_certificate 和 ssl_certificate_key 两行指向你的证书私钥。

现在重启Nginx服务,证书就生效啦!

sudo service nginx restart熟悉的小绿锁:

如果一切顺利,这个时候访问你的域名,会让你初始化Nextcloud,数据库选择MySQL/mariaDB,填上刚刚配置时的信息,初始化就完成了。

映射webDAV,私有云当本地盘使此时,你已经进入了自己的Nextcloud主目录。目录中会有几个文件/文件夹,是Nextcloud默认自带的演示文件。在这里,你可以直接查看文本文件,查看图片,播放mp4文件,修改文件名,删除文件,新建文件/文件夹。更棒的是,点击文件后的分享按钮,可以直接生成外网访问的文件链接,还可以控制分享时的属性,比如添加密码或者设置失效时间。

而Nextcloud拥有强悍的插件系统,可以配合插件实现更多叼炸天的功能,比如像google docs一样在线编辑word/excel文档。具体的插件使用将在其他篇幅介绍。

现在我们看看怎么实现网盘本地映射。

点击左下角的设置,复制webDAV地址:

打开Windows资源管理器(我的电脑),左上角 计算机-->映射网络驱动器,将webDAV地址填入:

要求输入账号密码,直接填你初始化时设置的Nextcloud账号密码。

映射完成后,你的电脑里就会多出一个盘:

点开后会发现这就是你的Nextcloud主目录。

在映射盘中的所有的修改都是直接映射到Nextcloud中进行的,所以没有同步拷贝步骤,又可以像本地磁盘那样使用,是不是很方便?

目前为止,我们已经实现了:

√构建云盘框架,提供网页端访问√在线分享文件√网盘本地映射

下一讲我将会介绍如何使用OpenMediaVault创建类似于软RAID的逻辑卷管理,并为Nextcloud提供实际存储空间。