使用Netcloud创建个人网盘
2026/6/26 6:16:42 网站建设 项目流程

Netcloud可支持自建私人网盘,核心能力有文件存储、在线预览、生成公开分享链接、密码保护链接、过期链接、文件夹分享、多用户、同步客户端(Windows/Mac/ 手机)、离线下载、相册、Office 在线编辑。​

本文简要记录Netcloud部署流程。

首先需要一台服务器用于搭建Netcloud,这里我以一台8核16G内存500GB硬盘的Ubuntu 22.04虚拟机作为系统配置,采用docker方式进行部署。后续具体步骤如下:

  • 安装docker并更改镜像源
    具体安装步骤可参考Docker安装与镜像修改
  • 使用docker compose部署
mkdir-p/opt/nextcloud&&cd/opt/nextcloudnanodocker-compose.yml

yaml文件内容如下:

services:db:image:mariadb:10.11restart:alwaysvolumes:-./db:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD:NCroot123456MYSQL_DATABASE:nextcloudMYSQL_USER:nextcloudMYSQL_PASSWORD:NCuser123456command:--transaction-isolation=READ-COMMITTED--binlog-format=ROWredis:image:redis:alpinerestart:alwaysapp:image:nextcloud:apacherestart:alwaysports:-"8080:80"# 访问端口,可改成80/其他volumes:-./html:/var/www/html-./data:/var/www/html/data# 文件存储目录(你的网盘文件)environment:MYSQL_HOST:dbMYSQL_DATABASE:nextcloudMYSQL_USER:nextcloudMYSQL_PASSWORD:NCuser123456REDIS_HOST:redisdepends_on:-db-redis
  • 运行并打开界面
    运行docker compose up -d, 完成后即可打开服务器IP:8080

  • 访问界面并使用
    打开界面后,初次访问可以设置管理员账号密码,设置完成即可进入网盘进行使用

    后续即可在网盘创建文件并进行共享:

  • 配置ssl
    上述的方式只能访问http://服务器IP:8080,如果想设置ssl证书,可以通过以下方式:
    docker-compose.yml文件中添加如下内容

nginx: image: nginx:alpine restart: always ports: - "80:80" - "443:443" volumes: - ./nginx/conf:/etc/nginx/conf.d - ./ssl:/etc/nginx/ssl depends_on: - app

并将原docker-compose.yml中的app 端口映射注释掉:

#ports:#- "8080:80"

然后

mkdir-p/opt/netcloud/nginx/confmkdir-p/opt/netcloud/sslcd/opt/netcloud/nginx/confnanonetcloud.conf

输入以下内容:

server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/client-server.crt; ssl_certificate_key /etc/nginx/ssl/client-server.key; location / { proxy_pass http://app:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

将申请好的证书放入/opt/netcloud/ssl,分别为client-server.crt,client-server.key。重启容器:

dockercompose downdockercompose up-d

重启后,打开 https://服务器IP, 会出现提示“通过不被信任的域名访问“,这是因为Nextcloud 有安全机制,不在 trusted_domains 列表里的域名 / IP 会直接拦截访问,需要将域名或IP将入信任列表。

dockerexec-itnextcloud-app-1bashphp occ config:system:set trusted_domains0--value="你的域名"php occ config:system:set trusted_domains1--value="你的服务器IP"

然后刷新页面即可访问。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询