实验内容使用 Docker Compose 快速搭建个人云 NextCloud。并借助 NextCloud 连接个人其他云存储介质以拓展存储容量:S3 Compatible OSS,本地硬盘,Google Drive 等。
免费在线实验地址:点击进入
实验资源:云服务器,没有云服务器的朋友推荐1折抢购:69元/年的阿里云服务器、或者88元/年的腾讯云服务器
配置系统环境
本章节着重介绍 Docker / Docker Compose 的安装和使用。 安装 Docker执行下列代码在 Centos 或者其他 RedHat Compatible 的系统中安装 Docker - yum clean all
- yum makecache
- yum install docker -y
复制代码 这样 Docker 已经安装完毕,你可以通过
检查 docker 是否安装成功 配置 Docker因为 Docker 的默认源不在国内,导致拉取镜像时时常会很慢。于是,我们可以添加镜像加速器。 编辑并覆盖以下内容到 /etc/docker/daemon.json - {
- "registry-mirrors": ["https://registry.docker-cn.com"]
- }
复制代码 启动 Docker执行以下命令启动 Docker - systemctl enable docker
- systemctl start docker
复制代码 安装 Docker Compose首先我们需要先安装并升级 pip - yum install python-pip -y
- pip install --upgrade pip
复制代码 然后通过 pip 安装 Docker Compose
- pip install docker-compose --ignore-installed
复制代码 通过一下命令可以检查 Docker Compose 是否安装正确安装 NextCloud申请域名因为你的私有云需要一个独立的域名来做 HTTPS 加密访问,所以这里推荐大家注册一个域名。 腾讯官方视频 - 在腾讯云上购买域名 申请解析然后,创建一条 A 记录,并把记录指向: <您的 CVM IP 地址> 这个你此刻正在使用的机器的 IP地址,具体过程你可以参考以下视频。 腾讯官方视频 - 解析域名 域名设置解析后需要过一段时间才会生效,设置完成后,你可以通过 ping 如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。
请将下面 example.com 换成你自己的域名 构建 Docker Compose执行一下指令初始化 Docker Compose 目录 - mkdir -p nextcloud
- cd nextcloud
复制代码添加并编辑构建文件 docker-compose.yml 输入以下内容 示例代码:/root/nextcloud/docker-compose.yml- version: '3'
- services:
- app:
- image: nextcloud:12
- restart: unless-stopped
- volumes:
- - nextcloud:/var/www/html
- web:
- image: abiosoft/caddy
- restart: unless-stopped
- privileged: true
- volumes:
- - ./Caddyfile:/etc/Caddyfile
- - caddy:/root/.caddy
- environment:
- - VIRTUAL_HOST=<您的 CVM IP 地址>
- links:
- - app
- ports:
- - 80:80
- - 443:443
- networks:
- - default
- volumes:
- nextcloud:
- caddy:
- networks:
- default:
复制代码 构建上游服务器 Caddy在本次教程中,我们采用 Docker + Caddy + PHP + SQLite 的构架。 Caddy 是一个非常优秀的上游服务器(功能类似于 Nginx),但是它自带免费申请 SSL证书 的功能,它的配置方法如下: 添加并编辑构建文件 Caddyfile 示例代码:/root/nextcloud/Caddyfile- 域名
- errors error.log {
- 404 https://error.yuuno.cc
- }
- proxy / app:80 {
- transparent
- header_downstream Content-Security-Policy none
- }
复制代码请将 域名 改成你自己的域名。 这里需要强调的是,如果没有自己的域名,将不能启用 SSL,因为 let's encrypt 只支持域名证书,如果无绑定域名,会被直接拒绝。因此,这里强烈建议使用自己的域名! 启动服务最后我们只需要让 Docker Compose 自动构建并维护这几个 Docker 即可 此处可能要等待几分钟,具体时间是网络情况而定。(如果过于缓慢,请检查是否参考第一步中配置了国内镜像) 你可以通过如下命令检查 Docker 状态
注: Caddy 在第一次获取 SSL 是会自动重启两次,较慢为正常现象。如果看到两个容器都为 Up 状态。即可进入下一步 至此,NextCloud 已经配置完毕 请访问 https://你的域名/ 查看安装界面 或者,你也可以访问不加密的页面 http://你的域名/ 自配域名的同理 配置 NextCloud初始化接下来就是简单的配置部分 此处输入你的管理员用户名和密码,就完成了,是不是很简单! 这就是你的文件目录啦 开启多媒介存储点击 应用 这里需要等待一些时间,因为 NextCloud 会更新应用市场 找到 External storage support 并启用它 进入 Admin 这是你就能看到在左侧已经出现了 外部存储 拓展存储这里只以 Amazon S3 作为案例。其他的配置都类似,根据提示来即可 如图所示,示例添加的是 Amazon S3 亚太区的一个 bucket。bucket 名字为 yu 链接成功后,左侧会出现一个绿点,这时候回到主页,就能看到 S3 已经被当做一个 『网盘』 一样挂载了进来。 本教程就到此结束啦。
|