所有托管服务节省 15%

测试技能,享折扣

使用代码: Skills 开始使用
China
专用服务器 管理 虚拟服务器

如何创建您自己的云存储:完整设置指南

云存储已成为个人和企业都必不可少的基础设施。无论您需要一种简单的方式来跨设备同步文件,还是需要一个完全受控的私有存储环境来存储敏感的业务数据,了解如何创建云存储可以让您灵活地选择适合您确切需求的解决方案。

本综合指南涵盖了从评估存储需求到在您自己的服务器上部署生产就绪的Nextcloud实例的所有内容——包括安全加固、数据库配置和Web服务器设置。

1. 评估您的云存储需求

在选择解决方案或编写任何命令之前,您需要清楚地了解您的实际需求。跳过这一步是云存储项目失败或变得不必要昂贵的最常见原因。

问自己以下问题:

  • 存储容量:您现在需要存储多少GB或TB的数据,在未来12-24个月内增长速度有多快?
  • 用户访问:此存储将由一个人、小团队还是整个组织使用?用户是否需要同时访问?
  • 地理访问:用户是否从多个国家或地区访问文件?对于大文件传输,延迟很重要。
  • 数据敏感性:您是在存储个人文档、受监管的业务数据还是专有知识产权?这直接影响您的安全性和合规性要求。
  • 预算:您是否愿意订阅托管服务的月费,还是一次性服务器设置和可预测的托管成本更合适?
  • 控制要求:您是否需要完全拥有您的数据、自定义集成或审计访问日志的能力?如果是这样,自托管是正确的选择。

诚实地回答这些问题将告诉您第三方服务是否足够,或者您是否需要部署自己的云基础设施。

2. 第三方云存储服务

如果您需要快速获得云存储且不需要对底层基础设施进行精细控制,有几个成熟的平台值得考虑。根据您的生态系统和工作流程,每个平台都有不同的优势。

2.1. Google Drive

最适合:已在使用 Google Workspace(Gmail、Docs、Sheets、Slides)的个人和团队。

主要功能:

  • 15 GB 免费存储空间,在 Gmail、Drive 和 Photos 中共享
  • 文档、电子表格和演示文稿的实时协作
  • 与 Google Workspace 生产力工具的深度集成
  • 可在网页、桌面(Windows/macOS)、iOS 和 Android 上使用

快速开始:在 drive.google.com 登录您的 Google 账户,然后通过浏览器界面直接上传文件,或安装 Google Drive 桌面应用以实现自动文件夹同步。

限制:存储空间与 Gmail 共享。隐私意识强的用户应注意,Google 的条款允许为改进服务而扫描数据。

2.2. Dropbox

最适合:优先考虑无缝文件同步和第三方应用集成的团队。

主要功能:

  • 2 GB 免费存储空间(可通过推荐或付费计划扩展)
  • 业界领先的同步速度和可靠性
  • 广泛的第三方集成(Slack、Zoom、Microsoft Office)
  • Smart Sync 可在不消耗本地存储的情况下访问云文件

快速开始:在 dropbox.com 创建免费账户,然后安装桌面客户端以在所有设备上启用自动文件夹同步。

限制:免费层级非常有限,仅 2 GB。付费计划的价格比竞争对手的同等存储空间更昂贵。

2.3. Microsoft OneDrive

最适合:运行 Microsoft 365 或以 Windows 为中心的环境的组织。

主要功能:

  • 5 GB 免费存储空间(Microsoft 365 订阅者获得 1 TB)
  • 与 Windows 文件资源管理器的原生集成
  • Word、Excel 和 PowerPoint 中的实时协作编辑
  • 高级共享控制和共享链接过期日期

快速开始:在 onedrive.live.com 使用您的 Microsoft 账户登录,或直接从 Windows 文件资源管理器访问 OneDrive。安装桌面客户端后,文件会自动同步。

限制:与 Microsoft 生态系统紧密耦合,这对跨平台团队可能是一个限制。

第三方服务何时不够

第三方服务很方便,但也有权衡:您无法控制基础设施、数据隐私政策各不相同、存储成本随使用量线性增长,且自定义选项有限。如果这些约束中的任何一个对您的使用情况都是问题,自托管云存储是更好的长期投资。

3. 设置您自己的云存储服务器

自托管云存储让您完全控制数据、基础设施和访问策略。Nextcloud 是用于此目的的领先开源平台 — 它得到积极维护、功能丰富,并受到全球企业的信任。

第 1 步:选择您的托管环境

您的服务器基础设施是云存储部署的基础。您有多个选项:

选项最适合注意事项
VPS(虚拟专用服务器)大多数用例成本效益高、可扩展、托管网络
专用服务器高流量或大规模部署最大性能、完全硬件控制
树莓派家庭实验室或个人使用成本极低、性能有限
共享主机不推荐用于 Nextcloud控制和性能不足

对于大多数部署生产 Nextcloud 实例的用户,VPS 主机计划是最佳起点。它提供 root 访问、专用资源以及随着需求增长而扩展存储的能力 — 无需完整专用机器的开销成本。

如果您运营拥有数百个用户或存储数 TB 数据的大型组织,专用服务器为您提供原始性能和存储容量,可处理苛刻的工作负载而不会出现资源争用。

Nextcloud 推荐的服务器规格:

  • OS:Ubuntu 22.04 LTS 或 Debian 12
  • RAM:最少 2 GB(多用户部署推荐 4 GB+)
  • CPU:最少 2 vCPUs
  • 存储:取决于您的数据量 — 至少从 50 GB SSD 开始
  • 网络:无限制或高带宽连接,用于大文件传输

第 2 步:准备您的服务器环境

在安装 Nextcloud 之前,请确保您的服务器安装并配置了完整的 LAMP 堆栈(Linux、Apache、MySQL、PHP)。

更新您的系统包:

sudo apt update && sudo apt upgrade -y

安装 Apache Web 服务器:

sudo apt install apache2 -y

安装 MySQL(或 MariaDB):

sudo apt install mysql-server -y
sudo mysql_secure_installation

安装 PHP 和所需的扩展:

Nextcloud 需要 PHP 8.1 或更高版本以及多个扩展。一次性安装它们全部:

sudo apt install php php-cli php-fpm php-mysql php-zip php-gd 
php-mbstring php-curl php-xml php-bcmath php-intl php-imagick 
php-gmp libapache2-mod-php -y

验证 PHP 版本:

php -v

第 3 步:下载并安装 Nextcloud

服务器环境准备就绪后,下载最新的 Nextcloud 版本。在运行以下命令之前,始终检查 nextcloud.com/install 以获取当前版本号。

下载 Nextcloud 存档:

wget https://download.nextcloud.com/server/releases/nextcloud-28.0.0.zip

> 将 28.0.0 替换为安装时可用的最新稳定版本号。

如果尚未安装,请安装 unzip 实用程序:

sudo apt install unzip -y

提取存档:

unzip nextcloud-28.0.0.zip

将 Nextcloud 目录移动到您的 Web 根目录:

sudo mv nextcloud /var/www/

设置正确的文件所有权,以便 Apache 可以读取和写入文件:

sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud

4. 为 Nextcloud 配置 Apache

Apache 需要一个专用的虚拟主机配置来正确地为您的 Nextcloud 实例提供服务。此配置处理 URL 重写、目录权限和日志文件位置。

创建虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/nextcloud.conf

粘贴以下配置:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/nextcloud

    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

> 将 yourdomain.com 替换为您的实际域名。如果您还没有注册域名,可以通过 AlexHost 的域名注册轻松获得一个域名以及您的主机。

启用 Nextcloud 站点和所需的 Apache 模块:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime

禁用默认 Apache 站点以避免冲突:

sudo a2dissite 000-default.conf

重新加载 Apache 以应用更改:

sudo systemctl reload apache2
sudo systemctl restart apache2

验证 Apache 运行无错误:

sudo systemctl status apache2

5. 设置 MySQL 数据库

Nextcloud 需要一个专用数据库来存储文件元数据、用户账户、共享权限和应用程序设置。切勿对应用程序数据库使用 root MySQL 账户 — 始终创建具有有限权限的专用用户。

登录 MySQL shell:

mysql -u root -p

为 Nextcloud 创建专用数据库:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

创建专用数据库用户:

CREATE USER 'ncuser'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';

> 使用强大的唯一密码。避免使用字典词汇,并包含大写字母、数字和符号。

仅在 Nextcloud 数据库上授予用户完全权限:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncuser'@'localhost';

应用权限更改并退出:

FLUSH PRIVILEGES;
EXIT;

验证数据库是否成功创建:

mysql -u ncuser -p -e "SHOW DATABASES;"

您应该在输出中看到 nextcloud

6. 完成 Nextcloud 安装

配置好 Apache 并准备好数据库后,您可以通过基于网络的安装程序完成 Nextcloud 设置。

打开浏览器并导航到:

http://yourdomain.com

您将看到 Nextcloud 设置向导。填写以下字段:

字段
管理员用户名选择一个安全的管理员用户名(避免使用”admin”)
管理员密码使用强大、唯一的密码
数据文件夹/var/www/nextcloud/data(默认)
数据库类型MySQL/MariaDB
数据库用户ncuser
数据库密码您在第 5 步中设置的密码
数据库名称nextcloud
数据库主机localhost

点击“完成设置”并等待 Nextcloud 初始化。首次运行时可能需要 1-2 分钟,因为它会创建数据库架构并安装默认应用程序。

完成后,您将被重定向到 Nextcloud 仪表板——您的云存储现已上线。

7. 远程访问您的云存储

自托管云存储的核心优势之一是可以从世界任何地方的任何设备进行通用访问。

桌面客户端

从 nextcloud.com/install 下载适用于 Windows、macOS 或 Linux 的 Nextcloud 桌面客户端。安装并连接到您的服务器后,它会创建一个本地同步文件夹,自动镜像您的云存储 — 类似于 Dropbox 或 OneDrive 的工作方式。

移动应用

Nextcloud 移动应用可用于 iOS(App Store)和 Android(Google Play / F-Droid)。它支持自动照片上传、离线文件访问和共享文件的推送通知。

WebDAV 访问

Nextcloud 公开了 WebDAV 端点,允许您在 Windows 文件资源管理器、macOS Finder 或 Linux 上任何兼容 WebDAV 的文件管理器中将您的云存储挂载为网络驱动器:

https://yourdomain.com/remote.php/dav/files/yourusername/

浏览器访问

您的 Nextcloud 实例始终可以通过任何现代网络浏览器在 https://yourdomain.com 访问 — 无需安装客户端。

8. 保护您的云存储

暴露在互联网上的自托管云存储服务器需要适当的安全加固。跳过此步骤会使您的数据——以及可能的用户数据——面临严重风险。

8.1. 使用 SSL/TLS 启用 HTTPS

在任何生产部署中,通过纯 HTTP 运行 Nextcloud 是不可接受的。所有流量必须使用 HTTPS 加密。

选项 A:使用 Let’s Encrypt (Certbot) 的免费 SSL

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot 将自动修改您的 Apache 配置以启用 HTTPS 并设置自动证书续期。

选项 B:商业 SSL 证书

对于需要扩展验证 (EV) 或组织验证 (OV) 证书的业务部署,请考虑从 AlexHost 购买 SSL 证书。商业证书提供更高的信任指标,通常是符合 PCI-DSS 等标准所必需的。

启用 HTTPS 后,通过将以下内容添加到您的 Apache 虚拟主机来强制所有 HTTP 流量重定向到 HTTPS:

<VirtualHost *:80>
    ServerName yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

8.2. 配置 Nextcloud 安全标头

将以下标头添加到您的 Apache 虚拟主机配置以防止常见的网络漏洞:

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Referrer-Policy "no-referrer"
</IfModule>

8.3. 配置防火墙

使用 UFW(简单防火墙)限制仅对必要端口的访问:

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

8.4. 实施定期备份

硬件故障、勒索软件或意外删除导致的数据丢失是真实的风险。实施涵盖以下内容的自动备份:

  • Nextcloud 数据目录: /var/www/nextcloud/data/
  • 数据库: 使用 mysqldump 进行定期数据库快照
  • 配置文件: /var/www/nextcloud/config/config.php

数据库备份脚本示例:

#!/bin/bash
BACKUP_DIR="/backups/nextcloud"
DATE=$(date +%Y-%m-%d)
mkdir -p $BACKUP_DIR
mysqldump -u ncuser -p'YourPassword' nextcloud > $BACKUP_DIR/nextcloud_db_$DATE.sql
tar -czf $BACKUP_DIR/nextcloud_data_$DATE.tar.gz /var/www/nextcloud/data/
echo "Backup completed: $DATE"

使用 cron 计划此脚本每晚运行:

sudo crontab -e
# Add this line:
0 2 * * * /path/to/backup_script.sh

8.5. 管理用户账户和权限

  • 为每个人创建单独的用户账户——切勿共享凭据
  • 使用 Nextcloud 的内置组功能来管理对共享文件夹的访问
  • 为所有管理员账户启用双因素身份验证 (2FA)
  • 定期审计用户账户并撤销不活跃用户的访问权限
  • 为每个用户设置存储配额,以防止任何单个账户消耗所有可用空间

8.6. 保持 Nextcloud 更新

Nextcloud 定期发布包含安全补丁的更新。在 Nextcloud 管理面板中启用更新通知并及时应用更新。您也可以使用内置更新程序:

sudo -u www-data php /var/www/nextcloud/updater/updater.phar

为您的云存储选择合适的托管

自托管云存储的性能和可靠性在很大程度上取决于底层托管基础设施的质量。以下是将您的使用案例与合适解决方案相匹配的快速参考:

使用案例推荐解决方案
个人云存储(1–3 个用户)VPS 托管 — 经济实惠、可扩展、完全 root 访问权限
小型企业(5–50 个用户)带 cPanel 的 VPS — 使用控制面板更轻松地管理
企业或高流量部署专用服务器 — 最大性能和存储
AI/ML 数据管道存储GPU 托管 — GPU 加速处理以及存储

常见问题

Q: Nextcloud 是免费使用的吗?

是的。Nextcloud 是完全开源的,可以免费自托管。您只需为运行它的服务器基础设施付费。

Q: 使用自托管设置可以拥有多少存储空间?

取决于您服务器的磁盘容量。您可以根据需要为 VPS 或专用服务器附加额外的存储卷 — 除了您的托管计划外,没有按 GB 计费。

Q: 我可以从 Google Drive 或 Dropbox 迁移到 Nextcloud 吗?

可以。Nextcloud 通过其外部存储应用支持从 Google Drive、Dropbox 和其他服务导入文件。您也可以简单地下载文件并重新上传。

Q: ownCloud 和 Nextcloud 有什么区别?

Nextcloud 在 2016 年从 ownCloud 分叉出来,此后已成为开发更活跃、功能更丰富的选择。对于新部署,建议选择 Nextcloud。

Q: 我的 Nextcloud 实例需要域名吗?

技术上不需要 — 您可以通过 IP 地址访问它。但是,SSL 证书需要域名,对于任何严肃的部署,强烈建议使用域名。您可以通过 AlexHost 的域名注册注册一个。

结论

创建自己的云存储是你可以进行的最有价值的基础设施项目之一——无论是为了个人数据主权、业务合规性,还是仅仅为了减少对第三方平台的依赖。

路径很清晰:评估你的需求,在托管服务和自托管解决方案之间进行选择,在可靠的服务器上部署Nextcloud,正确配置Apache和MySQL,并使用HTTPS、防火墙和定期备份来锁定一切。

结果是一个私有的、可扩展的、完全受控的云存储平台,随着你的成长而增长——没有按GB计费、没有第三方数据访问权限,也没有超出硬件提供的存储限制。

如果你已准备好开始,请探索AlexHost的VPS Hosting计划作为具有成本效益的基础,或升级到Dedicated Server以获得企业级性能。将你的服务器与SSL Certificate配对,从第一天起就保护你的部署。