NextCloud 安装 并配置OSS

使用的服务器是aliyun的ECS 系统为 ubuntu 18.04 只要是因为要到某一个版本才能用snap 。

总流程步骤

  1. 安装snap
  2. 安装nextcloud
  3. 安装nginx
  4. 安装ossfs
  5. 挂载oss

安装snap

简介

snap 以我今天用了一天的理解,可以理解为将一个应用需要各种软件进行打包安装,类似php开发中的lamp 这种一件安装包。同时它各个应用之间相互隔离。

  1. 查看snap版本信息
snap --version
  1. 找出所有snap应用
snap find
  1. 安装应用
snap install 包名
  1. 重启应用
snap restart 应用
  1. 查看已安装应用
snap list
  1. 卸载应用
snap remove 应用

安装snap

ubuntu其实自带的有snap

sudo apt-get update
sudo apt-get install snap
sudo apt-get install snapd

安装NextCloud

snap install nextcloud

浏览器访问本机,就可以开始初始化操作了
就一步安装完成,之后会自动启动,使用的默认端口是80,如果80端口被占用,是启动失败

修改端口

设置http服务器端口81,https端口443 其实这是apache用的端口

snap set nextcloud ports.http=81 ports.https=443

配置文件地址

目录 /var/snap/nextcloud/current 该目录下为其用到的各个服务的配置文件。
目录 /var/snap/nextcloud/common/nextcloud/data 目录下存储这云盘的文件

启用https

这一步我没用成功,一直失败,https 我使用后面的nginx是实现

nextcloud.enable-https lets-encrypt

安装nginx

其实用ubuntu一直有nginx 客户看我另一篇文章 《》
《Nginx HTTPS 配置》

配置https

通过nginx反向代理,将https请求,转为http 到 nextcloud。

二级域名转发
server {
                #监听端口
                listen 443 ssl;
                #配置服务的名字
                server_name [你的二级域名];
                # 公钥
                ssl_certificate [证书公钥地址];
                 # 私钥
                ssl_certificate_key [证书私钥];
                ssl_session_timeout 5m;
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
                # 将所有请求转发到 127.0.0.1:8080的服务上
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                location / {
                        proxy_pass http://127.0.0.1:81;
                 }
        }
拦截http请求,转为https请求
 server {
                listen 80;
                server_name [你需要拦截的域名];
                if ($scheme = http ) {
                        return 307 https://$host$request_uri;
                }
        }
添加可信域名到nextcloud

否则在对客户端授权等会有意外
进入 nextcloud的配置文件

cd /var/snap/nextcloud/current/nextcloud/config
vim config.php

trusted_domains下安装对应格式增加使用的二级域名

'trusted_domains' =>
  array (
    0 => '[我是域名1]',
    1 => '[我是域名2]',
  ),

挂载OSS

由于云服务器的硬盘真的贵,我选择更便宜的oss。
注意 阿里云现在有三种oss,标准存储低频访问、归档 存储。如果想对文件可以实时操作只能选前两种,我就是因为看归档存储是最便宜的,遇到了很多的麻烦。
安装阿里云的操作设置好bucket和访问Access Key

NextCloud 安装 并配置OSS_第1张图片
屏幕快照 2019-11-03 下午11.32.55.png

安装ossfs 将bucket挂载到云服务器上

官方文档,安装官方文档进行操作
注意需要加上 -o allow_other 参数否则无法操作。
我试讲oss 当做云盘中的一个文件夹处理的,有人会把整个/var/snap/nextcloud/common/nextcloud/data 都放在oss上,个人感觉动作点大。

  1. 安装ossfs 文档

    NextCloud 安装 并配置OSS_第2张图片
    屏幕快照 2019-11-03 下午11.38.49.png

  2. 挂载oss


    NextCloud 安装 并配置OSS_第3张图片
    屏幕快照 2019-11-03 下午11.39.26.png
  3. 实例

    1. 跟进官方文档设置好 /etc/passwd-ossfs
    2. 新建挂载点
cd /var/snap/nextcloud/common/nextcloud/data
cd 用户名
mkdir aliyun_oss
  1. 挂载上文件
ossfs [bucket 名字] /var/snap/nextcloud/common/nextcloud/data/superdafu/files/next-dafu_low_oss/ -ourl=oss-cn-hangzhou-internal.aliyuncs.com -o allow_other

注意-ourl 用内网的 ,流量很贵的。
这个时候你已经可以操作oss上的文件了。

OCC工具的使用

这个时候你会遇到一个问题,你在挂载点钟新建的文件,在nextcloud里面看不见,那是因为你的文件没有被nextcloud记录到对应的数据库中,所以看不见。
由于我们使用的是 snap,snap相对于系统是独立的,所以没法用直接用occ命令,需要制定好snap的包后,进行操作.

nextcloud.occ

可以看见该工具的详细说明。
扫描目录

nextcloud.occ files:scan --all

就可以看见目录。

nextcloud的配置操作参考https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-nextcloud-on-ubuntu-18-04

你可能感兴趣的:(NextCloud 安装 并配置OSS)