50% off 所有套餐限时优惠,起价 $2.48/mo
13 min left
网页与商业应用

如何安装 Nextcloud:Ubuntu 和 Debian 分步指南

Nick Silver By Nick Silver 13 min read Updated Jul 22, 2025
如何安装Nextcloud:Ubuntu和Debian分步指南

很多开发者正在放弃 Google Drive 或 Dropbox 这样的主流服务,转向自托管方案。自托管让你完全掌控自己的数据,Nextcloud 就是一个不错的选择。

本文将为您详细讲解如何在 Ubuntu 和 Debian 系统上安装 Nextcloud Docker。我们会逐步介绍系统更新、安装依赖、配置 Web 服务器和 PHP、设置数据库,以及通过 Nextcloud Docker Compose 完成最终的安装步骤。

为什么要自建 Nextcloud?

自建 Nextcloud 意味着掌控自己的云存储方案,而不是依赖 Google Drive 或 Dropbox 这样的主流服务。使用 Nextcloud,你可以按自己的方式存储和共享文件,完全拥有数据所有权,并对隐私设置拥有完全控制权。

许多用户看重通过插件和集成来定制和增强平台的能力。使用 Nextcloud docker 和 Nextcloud docker compose,你可以在流行系统上快速部署一个可靠、安全的文件共享系统。Nextcloud Ubuntu 和 Nextcloud Debian 都已支持。

如果你想部署 Nextcloud 而不受第三方服务限制,这套方案很实用。Nextcloud Docker 安装流程设计得很简洁,即使没有系统管理经验,也能上手自建私有云。

采用 Nextcloud Docker 安装方案相比商业云解决方案能节省成本,因为你只需为自己的硬件或服务器实例付费。此外,丰富的定制选项(比如调整 PHP 设置或集成 MySQL 数据库)让你可以根据具体需求灵活配置环境。

如果你想安装 Nextcloud Docker,社区提供了大量的支持和资源,包括 Nextcloud Docker Compose 示例文件,这让整个过程既有教育意义又很有成就感。

Prerequisites

在开始安装前,先确保环境就绪是个明智的选择。这一部分涵盖了基础内容,包括系统要求、服务器配置以及 Nextcloud Docker 安装所需的软件依赖,帮助你顺利推进:

Component Requirements/Options Notes
Operating System Ubuntu (22.04 LTS 强烈推荐、24.04 LTS)、Red Hat Enterprise Linux 9/8、Debian 12 (Bookworm)、SUSE Linux Enterprise Server 15、openSUSE Leap 15.5、CentOS Stream、Alpine Linux Nextcloud Ubuntu 很受欢迎
CPU & OS Architecture 64-bit 确保 CPU、OS 和 PHP 均为 64 位
PHP PHP 8.3(或其他版本) 使用 64 位版本以避免兼容性问题
Memory 最低配置:128MB RAM 每个进程;推荐:512MB 每个进程;更新程序:256MB 根据实际使用情况调整
Access root 或 sudo 访问权限 系统级调整所需
Container Tools Docker、Docker Compose 简化安装和管理
Web Server Apache 2.4(推荐使用 mod_php 或 php-fpm)或 nginx 配合 php-fpm 根据个人或组织需求选择
Database MySQL(8.0/8.4)、MariaDB(推荐 10.6/10.11 或 11.4)或 PostgreSQL 必须支持 InnoDB 和 READ COMMITTED 隔离级别

第 1 步:更新并准备系统

在设置 Nextcloud Docker 实例之前,先更新系统并安装所有必要的工具。把这看作是在开始有趣的项目前整理工作区。在 Nextcloud Ubuntu 服务器上运行以下命令:

刷新软件包列表并升级软件包:

使用以下命令更新软件包存储库并升级已安装的软件包:

sudo apt update
sudo apt upgrade -y

 

安装 Docker、Docker Compose 和有用的工具:

运行以下命令安装 Docker、Docker Compose 以及 curl、wget 和 build-essential 等实用工具:

sudo apt install docker.io docker-compose curl wget build-essential -y

 

(可选)将用户添加到 Docker 组:

此步骤允许你运行 Docker 命令而无需每次都输入 sudo:

sudo usermod -aG docker $USER

运行此命令后,注销再重新登录以应用更改。

 

验证安装:

检查 Docker 和 Docker Compose 是否已正确安装:

docker –version
docker-compose –version

我们还强烈建议监控 Docker 日志以便排查问题,你可以按照以下步骤查看和管理日志 these steps.

系统更新完毕、所有依赖已就位后,选择可靠的托管方案至关重要。Cloudzy 提供 闪电级快速的 VPS 服务,配置最高 240 GB NVMe SSD 存储(使用我们的 GPU VPS时可达 2 TB),以及 99.95% 正常运行时间,是托管 Nextcloud 实例的绝佳选择。

接下来,我们将配置网页服务器并调整 PHP 设置,确保一切与你的 Nextcloud Docker 实例顺利协作。

 

步骤 2: 配置 Apache/Nginx 和 PHP

系统已准备就绪,现在是时候配置网页服务器和 PHP 了。本节将指导你在 Docker 中设置 Apache 和 Nginx,以及进行 PHP 调整,让你的 Nextcloud 顺利运行。

Configuring Apache

如果你使用 Apache,请按照以下步骤操作:

创建配置文件:

  • 为 Nextcloud 创建一个新文件:
sudo nano /etc/apache2/sites-available/Nextcloud.conf

 

  • 在该文件中添加类似以下内容:
Alias /Nextcloud "/var/www/Nextcloud/"

<Directory /var/www/Nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews

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

 

启用站点:

  • 启用你的新配置:
sudo a2ensite Nextcloud.conf

 

启用必需的 Apache 模块:

  • 运行以下命令激活必要的模块:
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

 

如果你计划将 PHP-FPM 与 Apache 配合使用(使用 mod_fcgi),还需要激活:

sudo a2enmod setenvif

 

启用 SSL(可选):

  • 要建立安全连接,请使用以下命令激活 SSL:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 reload

 

Configuring Nginx

  • Nginx 用户需要创建服务器块:

创建服务器块文件:

  • 打开新文件:
sudo nano /etc/nginx/sites-available/Nextcloud
  • 粘贴示例配置,如:
server {
listen 80;
server_name your-server-ip or cloud.example.com;root /var/www/Nextcloud/;
index index.php index.html /index.php$request_uri;location / {
try_files $uri $uri/ /index.php?$args;
}location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

 

激活配置:

  • 创建符号链接以启用站点:
sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/

 

测试并重新加载 Nginx:

  • 检查配置并重新加载:
sudo nginx -t
sudo systemctl reload nginx

 

调整 PHP 设置

Nextcloud 依赖于 PHP 并需要特定设置。通过编辑相应的 PHP 配置文件来调整这些设置:

对于 Apache 与 PHP:

sudo nano /etc/php/8.3/apache2/php.ini

 

对于 Nginx 与 PHP-FPM:

sudo nano /etc/php/8.3/fpm/php.ini

在该文件中,调整以下设置:

  • memory_limit (for example, 512M)
  • upload_max_filesize (for example, 100M)
  • post_max_size (for example, 100M)
  • max_execution_time (for example, 360)

修改后,重启相应的服务:

  • Apache:
sudo service apache2 restart

 

  • PHP-FPM:
sudo systemctl restart php8.3-fpm

 

Web 服务器已配置完毕,PHP 也已调优,现在可以进入下一步:设置数据库来存储所有 Nextcloud 数据。

第 3 步:配置数据库

系统和网络服务器配置完成后,下一步是为 Nextcloud 安装设置数据库。这包括创建数据库和具有适当权限的专用用户。操作步骤如下:

1. 安装 MariaDB 服务器

首先,安装 MariaDB 服务器软件包:

sudo apt install mariadb-server -y

 

2. 保护 MariaDB 安装

运行安全脚本来移除不安全的默认设置:

sudo mysql_secure_installation

 

系统会提示你设置 root 密码并做出其他安全相关的选择。建议对所有提示都回答 'Y'(是)。

3. 登录 MariaDB Shell

以 root 用户身份访问 MariaDB shell:

sudo mysql -u root -p

输入你在安全安装过程中设置的 root 密码。

4. 为 Nextcloud 创建新数据库

在 MariaDB shell 中执行以下命令,创建一个名为 Nextcloud 的数据库:

CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

5. 创建专用数据库用户

创建一个新用户 Nextclouduser,设置强密码。将 your_password_here 替换为你选择的安全密码:

CREATE USER 'Nextclouduser'@'localhost' IDENTIFIED BY 'your_password_here';

 

6. 授予用户必要的权限

授予 Nextclouduser 对 Nextcloud 数据库的所有权限:

GRANT ALL PRIVILEGES ON Nextcloud.* TO 'Nextclouduser'@'localhost';

 

7. 应用更改

刷新权限以确保所有更改生效:

FLUSH PRIVILEGES;

 

8. 退出 MariaDB Shell

输入以下命令退出 MariaDB shell:

EXIT;

 

数据库设置完成后,你现在可以进行下一步:安装 Nextcloud。这涉及下载 Nextcloud 文件并将其配置为连接到你刚刚创建的数据库。

第 4 步:下载并安装 Nextcloud

这一步涉及在你的系统上安装最新的 Nextcloud 版本并进行设置。你有两个选择:一个使用 Docker(适合容器化部署),另一个采用更传统的手动安装方式。

方法 1:使用官方 Docker 镜像

如果你倾向于使用容器化方案,请按照以下命令操作:

拉取 Nextcloud Docker 镜像:

从 Docker Hub 下载最新的 Nextcloud Docker 镜像:

docker pull Nextcloud

 

创建 Docker Compose 文件:

为了更容易地管理,创建一个名为 docker-compose.yml 的文件,内容如下:

version: ‘3’

services:
Nextcloud:
image: Nextcloud
restart: always
ports:
– 8080:80
volumes:
– Nextcloud_data:/var/www/html
environment:
– MYSQL_PASSWORD=yourpassword
– MYSQL_DATABASE=Nextcloud
– MYSQL_USER=Nextcloud
– MYSQL_HOST=db
db:
image: mariadb
restart: always
environment:
– MYSQL_ROOT_PASSWORD=yourpassword
– MYSQL_PASSWORD=yourpassword
– MYSQL_DATABASE=Nextcloud
– MYSQL_USER=Nextcloud
volumes:
– db_data:/var/lib/mysql

volumes:
Nextcloud_data:
db_data:

 

启动容器:

运行此命令在后台启动 Nextcloud 和数据库容器:

docker-compose up -d

 

方法 2:从 Nextcloud 归档手动安装

如果你更喜欢直接处理文件,按照以下步骤进行:

下载最新版本:

获取最新的 Nextcloud tar 归档文件:

wget https://download.Nextcloud.com/server/releases/latest.tar.bz2

 

解压归档文件:

解压下载的文件:

tar -xjf latest.tar.bz2

 

移动 Nextcloud 文件夹:

将解压的文件夹转移到你的网络目录:

sudo mv Nextcloud /var/www/Nextcloud

设置正确的权限:

调整所有权,使你的网络服务器可以访问这些文件:

sudo chown -R www-data:www-data /var/www/Nextcloud

 

选择最适合你的方式。Docker 方案提供简便的设置,使用 Nextcloud docker compose,而手动方式让你能直接控制文件。更好的选择是使用 Cloudzy 的 Docker VPS 方案,为通过 Docker 部署 Nextcloud 创建高效的平台,让安装过程更轻松。

接下来,我们将深入配置 Nextcloud 本身——设置虚拟主机、启用 SSL 等——完成你的自托管云体验。

第 5 步:配置 Nextcloud

现在你已经下载并安装了 Nextcloud,是时候设置 Apache 虚拟主机并用 SSL 保护你的网站,这样你就可以通过专属域名访问自托管的云存储。

创建 Apache 虚拟主机文件

为 Nextcloud 创建配置文件:

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

 

粘贴以下配置:

根据你的设置调整 DocumentRoot 和 ServerName(例如,将 cloud.example.com 替换为你的域名或服务器 IP):

<VirtualHost *:80>
DocumentRoot /var/www/Nextcloud/
ServerName cloud.example.com<Directory /var/www/Nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>

 

启用新配置

告知 Apache 你的新配置:

sudo a2ensite Nextcloud.conf

 

Reload Apache:

通过重新加载 Apache 应用更改:

sudo systemctl reload apache2

 

用 SSL 保护你的网站

为了安全访问,你可以配置 SSL。有两种常见方法:使用自签名证书或通过 Let's Encrypt 获取证书。

选项 1:自签名证书

启用 SSL 模块:

sudo a2enmod ssl

 

启用默认 SSL 站点:

sudo a2ensite default-ssl

 

Reload Apache:

sudo systemctl reload apache2

 

安装 Certbot 和 Apache 插件:

sudo apt install certbot python3-certbot-apache -y

 

  1. 获取并安装证书:
    将 cloud.example.com 替换为你的域名:
sudo certbot –apache -d cloud.example.com

按照提示完成流程。

配置好 Apache 虚拟主机和 SSL 之后,你的 Nextcloud 实例就能通过你选定的域名提供安全连接。接下来,我们会设置数据库来存储 Nextcloud 数据,这样才能让你的自托管云服务完整运转。

第 6 步:完成设置

现在您的 web 服务器和 PHP 已配置完成,是时候完成安装了。这一步就像在项目发布前做最后的调整。

调整文件权限:

启动安装向导前,运行以下命令确保网络服务器可以访问所有 Nextcloud 文件:

sudo chown -R www-data:www-data /var/www/Nextcloud/

通过浏览器访问 Nextcloud:

打开浏览器,输入你的 Nextcloud 实例的 URL,比如:

http://your-server-ip/Nextcloud

这会加载 Nextcloud 安装向导——一个友好的界面,引导你完成最后的设置步骤。

完成安装向导:

在向导中,系统会提示你输入:

  • 你的数据库详情(主机、名称、用户名和密码)。在 Docker 设置中,数据库主机通常设置为容器名称或 localhost。
  • Nextcloud 实例的管理员用户名和密码。

Follow the on-screen instructions, and click the “Finish setup” button when you’re done.

完成向导后,你的 Nextcloud 服务器将完成设置,你会看到全新的 Nextcloud 仪表板。接下来,我们将配置安装后的设置,如定时任务、缓存和安全调整,以确保实例平稳运行。

第 7 步:安装后配置

完成 Nextcloud web 安装向导后,一些最后的调整可以帮助你优化定时任务、性能和安全性。这部分涉及设置后台任务、集成 Redis 缓存,以及加固你的 Nextcloud 实例。

启用定时任务

为了让 Nextcloud 平稳运行,最好安排后台任务。设置一个定时任务每五分钟运行一次 Nextcloud cron 脚本。打开 web 服务器用户(通常是 www-data)的 crontab:

sudo crontab -u www-data -e

然后在文件末尾添加这一行:

*/5 * * * * php -f /var/www/Nextcloud/cron.php

保存并关闭编辑器。此任务将处理清理临时文件、发送通知和其他维护操作。

安装并配置 Redis 缓存

使用 Redis 可以通过缓存数据和改进文件锁定性能来加速你的 Nextcloud 实例。首先, install Redis 以及 Redis 的 PHP 扩展:

sudo apt install redis-server php-redis -y

接下来,更新你的 Nextcloud 配置文件(通常位于 /var/www/Nextcloud/config/config.php),添加缓存设置。在 $CONFIG 数组中添加这些行:

'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
‘redis’ => array(
‘host’ => ‘localhost’,
‘port’ => 6379,
),

此配置指示 Nextcloud 对本地缓存使用 APCu,对文件锁定使用 Redis,从而提高性能和可靠性。

加固 Nextcloud 安全设置

一些额外的措施可以加强安装的安全性:

  • 设置正确的文件权限:
    调整 Nextcloud 目录的所有权和权限以限制访问:
sudo chown -R www-data:www-data /var/www/Nextcloud
sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \;
sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \;
  • 运行维护模式命令:
    临时启用维护模式以执行任何额外的安全检查或配置更新:
sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --on
# (在这里执行所有必要的维护任务)
sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode --off
  • 检查你的网络服务器配置:
    确认您的 Apache 或 Nginx 设置强制执行 HTTPS,并根据需要限制未授权访问。

完成这些步骤后,你的 Nextcloud 实例将能高效处理后台任务,通过缓存获得更好的性能,并获得更强的安全保护。

Final Thoughts

你已经成功将 Nextcloud Docker 配置从空白状态发展到一个完整可用的自托管云存储解决方案。系统已更新,依赖项已安装,Web 服务器和 PHP 已调试完毕,你的 Nextcloud Ubuntu 环境现在可以作为你的个人文件共享中心投入使用。

随着你继续优化配置、试验高级选项或探索新的 Nextcloud 应用,选择一个可靠的托管服务商就变得尤为重要。一个值得信赖的 affordable VPS 如 Cloudzy 这样的服务器保障你的 Nextcloud 实例安全高效运行,为你的云存储需求奠定坚实基础。

为了更加放心,建议查看官方安全指南 Nextcloud 安全加固 和备份建议在 Nextcloud 备份指南。这些资源可以帮助你保护数据安全,让服务器稳定运行。

Share

博客更新

Keep reading.

Odoo 评测功能图像,左侧为大标题文字,右侧为 Odoo 徽标,周围环绕着漂浮的应用界面面板,背景为柔和紫色云主题。
网页与商业应用

Odoo 综合评测:这款 ERP 是否适合你的业务

Odoo 是增长型企业最常考虑的 ERP 平台之一,原因很简单:它在一个地方承诺了很多功能。销售、会计、库存。

Jim SchwarzJim Schwarz 11 min read
开源 WordPress 替代方案特色图像,采用彩色渐变背景、桌面显示器、代码编辑器、模糊仪表板预览以及左侧大标题文本。
网页与商业应用

最佳开源 WordPress 替代方案,为开发者量身打造

WordPress 仍然重要,仍为大量网站提供良好支持。其插件库托管超过 62,000 个插件,主题库提供超过 14,000 个免费主题。

Jim SchwarzJim Schwarz 14 min read
Automad 与 WordPress 特色图像,展示两个平台的标志和标题,询问开发者应该选择哪个 CMS。
网页与商业应用

Automad 与 WordPress:两个顶级 CMS 平台的深度对比

Automad 和 WordPress 用两种截然不同的方式解决同一个问题。Automad 是扁平文件 CMS 和模板引擎,内容存储在文件中而不是数据库,而 WordPress

Jim SchwarzJim Schwarz 9 min read

Ready to deploy? From $2.48/mo.

独立云服务,始于2008年。AMD EPYC、NVMe,40 Gbps。14天退款保障。