NextCloud服务安装与配置教程
NextCloud服务安装与配置教程
什么是 NextCloud:
Nextcloud 是一款开源的私有云存储和协作平台,允许用户在自己的服务器上托管数据并管理团队协作。它可以作为一个功能丰富、安全可靠的替代方案,与商业云服务(如 Google Drive、Dropbox)相比提供更多控制和隐私保护。简单来说可以替代公有云的商用云盘,其他更加具体的介绍可以移步官网1。
1. 文档目的
本教程旨在指导运维工程师完成 NextCloud 服务的基础配置、安装和日常维护工作。通过本教程,你将学会:
- NextCloud 的安装与基础配置;
- NextCloud 使用对象存储配置;
- NextCloud 的离线插件安装;
- NextCloud 的日常使用;
2. 环境准备
系统类型 | 系统版本 | 内核版本 | IP 地址 | 功能角色 |
---|---|---|---|---|
Linux | openEuler 22.03 (LTS-SP3) | Linux 5.10.0-182.0.0.95.oe2203sp3.x86_64 | 192.168.2.110 | NextCloud |
软件 | 版本 | 下载页面 |
---|---|---|
Docker | 20.10.23 | 下载地址 |
Docker-compose | v2.32.0 | 下载地址 |
NextCloud | 30.0.4 | 下载地址 |
NextCloud-documentserver | 8.2 | 下载地址 |
NextCloud-deck | 1.14.2 | 下载地址 |
NextCloud-groupfolders | v18.0.8 | 下载地址 |
NextCloud-onlyoffice | 9.5.0 | 下载地址 |
3. 部署步骤
3.1 目录准备
mkdir -pv /data/nextcloud/data/{
nextcloud,nextcloud_db,nextcloud_nginx}
mkdir -pv /data/nextcloud/data/nextcloud_nginx/ssl
3.2 证书准备
3.2.1 NextCloud证书准备
注意:由于本次 NextCloud 开启了 https 的访问,所以需要使用证书,并且onlyoffice的证书必须与NextCloud的证书一致
# 准备临时目录
mkdir -pv /data/nextcloud/nextcloud_ssl && cd /data/nextcloud/nextcloud_ssl
#生成私钥
openssl genrsa -out nextcloud.genesismagic.coop.key 2048
#生成CSR(证书签名请求)
openssl req -new -subj "/C=US/ST=GuangDong/L=GuangZhou/O=Your Company Name/OU=genesismagic.coop/CN=nextcloud.genesismagic.coop" -key nextcloud.genesismagic.coop.key -out nextcloud.genesismagic.coop.csr
# 将带口令的私钥移除
mv nextcloud.genesismagic.coop.key nextcloud.genesismagic.coop.origin.key
openssl rsa -in nextcloud.genesismagic.coop.origin.key -out nextcloud.genesismagic.coop.key
# 用Key生成自签名证书
openssl x509 -req -days 36500 -in nextcloud.genesismagic.coop.csr -signkey nextcloud.genesismagic.coop.key -out nextcloud.genesismagic.coop.crt
# 处理证书--NextCloud-Nginx 使用
cp nextcloud.genesismagic.coop.key /data/nextcloud/data/nextcloud_nginx/ssl/nextcloud.genesismagic.coop.key
cp nextcloud.genesismagic.coop.crt /data/nextcloud/data/nextcloud_nginx/ssl/nextcloud.genesismagic.coop.crt
- nextcloud.genesismagic.coop.crt: 自签名的证书
- nextcloud.genesismagic.coop.csr: 证书的请求
- nextcloud.genesismagic.coop.key: 不带口令的Key
- nextcloud.genesismagic.coop.origin.key: 带口令的Key
3.2.2 onlyoffice证书准备
cd /data/nextcloud/data/onlyoffice/DocumentServer/data/certs # 如果不存在进行创建
cp /data/nextcloud/nextcloud_ssl/nextcloud.genesismagic.coop.key onlyoffice.key
cp /data/nextcloud/nextcloud_ssl/nextcloud.genesismagic.coop.origin.key onlyoffice.key.org
cp /data/nextcloud/nextcloud_ssl/nextcloud.genesismagic.coop.csr onlyoffice.csr
cp /data/nextcloud/nextcloud_ssl/nextcloud.genesismagic.coop.crt onlyoffice.crt
# 直接将nextcloud生成的key crt org csr 直接改名字拿来用,已下只执行了最后两条
openssl genrsa -des3 -out onlyoffice.key 4096
openssl req -new -key onlyoffice.key -out onlyoffice.csr
cp onlyoffice.key onlyoffice.key.org
openssl rsa -in onlyoffice.key.org -out onlyoffice.key
openssl x509 -req -days 3650 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
openssl dhparam -out dhparam.pem 2048
chmod 400 onlyoffice.key
- onlyoffice.crt: 自签名的证书
- onlyoffice.csr: 证书的请求
- onlyoffice.key: 不带口令的Key
- onlyoffice.key.org: 带口令的Key
3.3 NextCloud安装
3.3.1 Docker-Compose 文件准备
services:
db:
image: mariadb:10.5 # 数据库镜像版本
restart: always
extra_hosts:
- "minio.genesismagic.coop:192.168.1.95" # 外部 Minio 域名映射地址
environment:
- MARIADB_ROOT_PASSWORD=nextcloudPassw0D
- MARIADB_DATABASE=nextcloud
- MARIADB_USER=nextcloud
- MARIADB_PASSWORD=nextcloudPassw0D
- TZ=Asia/Shanghai
volumes:
- nextcloud_db