配置系统环境
安装Docker
执行下列代码在 Centos
或者其他 RedHat Compatible
的系统中安装 Docker
yum clean all
yum makecache
yum install docker -y
这样 Docker 已经安装完毕,你可以通过
docker -v
检查 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
是否安装正确
docker-compose -v
安装NextCloud
申请域名
因为私有云需要一个独立的域名来做 HTTPS
加密访问,所以这里推荐注册一个域名。
申请解析
前往域名控制台,然后,创建一条 A
记录,并把记录指向:193.112.96.151(服务器ip)
这个你此刻正在使用的机器的 IP地址,具体过程你可以参考以下视频。
https://v.qq.com/x/page/t0507ps9kxo.html
域名设置解析后需要过一段时间才会生效,设置完成后,你可以通过 ping
命令查看解析是否生效:
ping -c 1 example.com
如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。
构建Docker Compose
执行一下指令初始化 Docker Compose
目录
mkdir -p nextcloud
cd 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=193.112.96.151
links:
- app
ports:
- 80:80
- 443:443
networks:
- default
volumes:
nextcloud:
caddy:
networks:
default:
构建上游服务器Caddy
在本次教程中,我们采用 Docker
+ Caddy
+ PHP
+ SQLite
的构架。
Caddy
是一个非常优秀的上游服务器(功能类似于 Nginx
),但是它自带免费申请 SSL证书
的功能,它的配置方法如下:
添加并编辑构建文件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-compose up -d
你可以通过如下命令检查 Docker
状态
docker-compose ps
注: Caddy 在第一次获取 SSL 是会自动重启两次,较慢为正常现象。如果看到两个容器都为 Up 状态。即可进入下一步
至此,NextCloud 已经配置完毕。请访问
https://你的域名/
查看安装界面,或者,你也可以访问不加密的页面
http://你的域名/
自配域名的同理
配置NextCloud
初始化
接下来就是简单的配置部分
此处输入你的管理员用户名和密码,就完成了,是不是很简单!
这就是你的文件目录啦
开启多媒介存储
这里只以 Amazon S3 作为案例。其他的配置都类似,根据提示来即可
如图所示,示例添加的是 Amazon S3 亚太区的一个 bucket。bucket 名字为 yu
链接成功后,左侧会出现一个绿点,这时候回到主页,就能看到 S3 已经被当做一个 『网盘』 一样挂载了进来。
本教程就到此结束啦。