ZhiBing's blog(码上看世界) ZhiBing's blog(码上看世界)
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

ZhiBing Zheng

时间会回答成长
首页
  • Linux工具链

    • shell命令
  • 构建

    • CMake
    • Makefile
  • 版本管理

    • Git
    • Github
  • IDE及工具

    • vscode
    • CLion
  • 设计模式

    • 设计原则
  • 编程语言

    • C++
    • Go
    • Python
    • Shell
  • 调试

    • gdb
  • 开发者测试

    • gtest
  • 系统支撑

    • 操作系统
  • 性能优化

    • 编译优化选项
    • perf
    • valgrind
  • 容器

    • Docker
  • 微服务

    • Rancher
  • 其他
  • 随笔
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • 其他

    • 安装 mariadb 数据库
    • 创建自己的jekyll主题
    • 搭建私有云盘
    • 搭建Git服务器
    • Linux开放端口
    • 内核链表
    • 树莓派4安装k3d
    • 树莓派4安装k3s
    • 树莓派4更换镜像源
    • 树莓派4设置静态IP
    • 树莓派安装docker
    • 远程连接mariadb数据库
    • Latex
    • mac安装jekyll
    • docker + nextcloud 搭建私有云(Linux)
      • 安装
      • 配置
      • https
        • 安装 nignx
        • 创建 ssl 证书
        • 反向代理配置
      • FAQ
      • 效果
    • nginx使用自签名SSL证书
    • raspbian-buster-lite安装桌面
    • ubuntu18.04 + jekyll 搭建个人博客站
    • Ubuntu刷新DNS缓存
    • wsl后台运行程序
    • xshell script api
    • HPE gen10 plus 安装telsa P4驱动
    • HPE gen10 plus 安装ESXI 7
    • ESXI 7安装黑群晖
    • ESXI 7安装win10
  • 随笔

  • 专题

  • 友情链接
  • 更多
  • 其他
zhengzhibing
2022-06-16
目录

docker + nextcloud 搭建私有云(Linux)

# docker + nextcloud 搭建私有云(Linux)

使用 docker+nextcloud 可以快速的搭建私有云盘。

# 安装

# step0: 先安装docker,配置镜像拉取地址
# 安装docker-ce

# 允许通过HTTPS使用存储库
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# 添加阿里云提供的镜像源以便于加快国内安装速度,先添加相应的密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 添加阿里云源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
# 添加用户到docker用户组
sudo usermod -aG docker zzb

# 更换阿里云镜像源
sudo vim /etc/docker/daemon.json
# 加入以下内容:
# {
#	"registry-mirrors": ["https://n6syp70m.mirror.aliyuncs.com"]
# }
sudo service docker restart

# step1: 创建容器映射到本地的目录,将关键数据保存到本地,以快速恢复私有云
sudo mkdir /home/volume

# step2: 下载nextcloud,postgres镜像
docker pull nextcloud
docker pull postgres

# step3: 运行postgres容器
# 将postgres数据库的端口映射到服务器的32456端口(如果没有开启,需要先开启端口;根据自己喜好修改)
# 设置postgres数据库的密码为pgsql_pwd(根据自己喜好修改)
docker run -d \
--name hcloud-pg \
--restart=always \
-p 32456:5432 \
-e POSTGRES_PASSWORD=pgsql_pwd \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v /home/volume/pgdata:/var/lib/postgresql/data \
postgres

# step4: 运行nextcloud容器
# 将nextcloud容器的80端口映射到本机的32531端口(如果没有开启,需要先开启端口;根据自己喜好修改)
docker run --name hcloud -d \
--restart=always \
-p 32531:80 \
-v /home/volume/hcloud/hc:/var/www/html \
-v /home/volume/hcloud/apps:/var/www/html/custom_apps \
-v /home/volume/hcloud/config:/var/www/html/config \
-v /home/volume/hcloud/data:/var/www/html/data \
-v /home/zzb/store:/home/store \
nextcloud
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

# 配置

在浏览器输入http://ip:32531,开始进行私有云的配置。

  1. 创建管理员用户
  2. 选择文件存储路径(保持默认,如果需要更改,请同时更改上面的容器映射路径)
  3. 数据库选择 postgres,用户名:postgres(默认,如果需要更改,请创建用户), 密码:pgsql_pwd, 数据库:postgres(默认,如果需要更改,请创建数据库), IP 地址:ip:32456
  4. 安装完成
  5. 可以创建用户,设定配额,还可以进行创建群组,聊天,视频,共享等,功能是否的丰富(视频和共享需要使用 https)。

# https

对于 nextcloud 的用户间视频共享等功能需要使用 https 协议,所以需要在本地到服务器直接使用 https 协议。

使用nginx配置反向代理来完成。

# 安装 nignx

sudo apt-get install nginx
1

# 创建 ssl 证书

可以选择自己创建证书,也可以通过其他方式获取证书

# 创建有效期为365天的证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/your-selfsigned.key -out /etc/ssl/certs/your-selfsigned.crt
# 根据自己的意愿,填写相关信息
1
2
3

# 反向代理配置

# 修改nginx配置文件
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bk
sudo vim /etc/nginx/sites-available/default
1
2
3

修改如下:

server {
		# https 监听32533端口
        listen 32533 ssl;
        # 服务器ip或域名
        server_name your_ip;
        # 证书路径
        ssl_certificate /etc/ssl/certs/your-selfsigned.crt;
        ssl_certificate_key /etc/ssl/private/your-selfsigned.key;
        location / {
        		# 被代理的地址,就是实际的nextcloud访问地址
                proxy_pass http://$server_name:32531;
        }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

如果使用默认端口,即 nextcloud 容器映射端口到 443 端口,可以将 80 端口重定向到 443 端口。

# FAQ

  • 遇到通过域名无法访问私有云时,需要修改config/config.php文件中的trusted_domains(/home/volume/hcloud/config/config.php)将域名加入其中。

image-20210221173535654

# 效果

image-20210221173711028

image-20210221173907048

#nextcloud
上次更新: 2022/06/17, 07:22:19
mac安装jekyll
nginx使用自签名SSL证书

← mac安装jekyll nginx使用自签名SSL证书→

最近更新
01
HPE gen10 plus 安装ESXI 7
06-12
02
ESXI 7安装黑群晖
06-12
03
ESXI 7安装win10
06-12
更多文章>
Theme by Vdoing | Copyright © 2022-2024 ZhBing Zheng | 粤ICP备2022062743号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式