许多人正在放弃 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 撰写示例文件,使该过程既具有教育意义又有益。
先决条件
在开始安装过程之前,明智的做法是让您的环境保持良好状态。本节涵盖基础知识,从系统要求和服务器设置到顺利安装 Nextcloud docker 所需的软件依赖项:
| 成分 | 要求/选项 | 笔记 |
| 操作系统 | 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 & 操作系统架构 | 64位 | 确保 CPU、操作系统和 PHP 是 64 位 |
| PHP | PHP 8.3(或其他版本) | 使用64位版本以避免兼容性问题 |
| 记忆 | 最低:每个进程 128MB RAM;建议:每个进程 512MB;更新程序:256MB | 根据使用情况调整 |
| 使用权 | root 或 sudo 访问 | 系统级调整所需 |
| 容器工具 | Docker、Docker 组合 | 简化安装和管理 |
| 网络服务器 | Apache 2.4(推荐使用 mod_php 或 php-fpm)或使用 php-fpm 的 nginx | 根据个人或组织需求进行选择 |
| 数据库 | MySQL (8.0/8.4)、MariaDB(推荐 10.6/10.11 或 11.4)或 PostgreSQL | 必须支持 InnoDB 和 READ COMMITTED 隔离级别 |
第 1 步:更新并准备您的系统
在设置 Nextcloud Docker 实例之前,请花一些时间更新您的系统并安装所有必要的工具。将此视为在投入有趣的项目之前整理工作空间。在 Nextcloud Ubuntu 服务器上执行以下命令:
刷新您的包列表并升级包:
使用以下命令更新您的软件包存储库并升级已安装的软件包:
| 须藤apt更新 sudo apt 升级 -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:
| 须藤 usermod -aG docker $USER |
运行此命令后,注销并重新登录以应用更改。
验证安装:
检查 Docker 和 Docker Compose 是否正确安装:
| docker-版本 docker-compose –版本 |
还强烈建议您密切关注 Docker 日志以进行故障排除,您可以通过以下方式检查和管理这些日志 这些步骤.
现在您的系统已更新且所有依赖项均已就位,因此必须选择可靠的托管解决方案。 Cloudzy 优惠 闪电般快速的 VPS 具有高达 240 GB NVMe SSD 存储的服务(我们的高达 2 TB) 显卡虚拟专用服务器)和 99.95% 的正常运行时间,使其成为托管 Nextcloud 实例的绝佳选择。
接下来,我们将设置您的 Web 服务器并调整 PHP 设置,以确保您的 Nextcloud Docker 实例一切顺利。
步骤 2:配置 Apache/Nginx 和 PHP
现在您的系统已全部设置完毕,是时候通过配置 Web 服务器和 PHP 来安排舞台了。本部分将引导您完成 Apache 和 Nginx 的设置以及 PHP 调整,以使 Nextcloud 在 Docker 中顺利运行。
配置阿帕奇
如果您使用 Apache,请按照下列步骤操作:
创建配置文件:
- 为 Nextcloud 打开一个新文件:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- 在此文件中,添加如下内容:
| 别名 /Nextcloud “/var/www/Nextcloud/”
<目录/var/www/Nextcloud/> <IfModule mod_dav.c> |
激活网站:
- 启用您的新配置:
| sudo a2ensite Nextcloud.conf |
启用所需的 Apache 模块:
- 运行以下命令来激活必要的模块:
| sudo a2enmod 重写 sudo a2enmod 标头 sudo a2enmod 环境 sudo a2enmod 目录 须藤 a2enmod 哑剧 |
如果您计划将 PHP-FPM 与 Apache 结合使用(使用 mod_fcgi),还需激活:
| 须藤 a2enmod setenvif |
启用 SSL(可选):
- 对于安全连接,请使用以下命令激活 SSL:
| 须藤 a2enmod ssl sudo a2ensite 默认 ssl sudo 服务 apache2 重新加载 |
配置 Nginx
- 对于 Nginx 用户,设置涉及创建服务器块:
创建服务器块文件:
- 打开一个新文件:
| sudo nano /etc/nginx/sites-available/Nextcloud |
- 粘贴示例配置,例如:
| 服务器 { 听80; server_name your-server-ip 或 cloud.example.com;root /var/www/Nextcloud/; 索引index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }位置 ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index索引.php; 包括 fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
激活配置:
- 创建符号链接以启用该站点:
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
测试并重新加载 Nginx:
- 检查您的配置并重新加载:
| 须藤 nginx -t sudo systemctl 重新加载 nginx |
调整 PHP 设置
Nextcloud 依赖于具有某些设置的 PHP。通过编辑适当的 PHP 配置文件来调整这些:
对于使用 PHP 的 Apache:
| 须藤纳米 /etc/php/8.3/apache2/php.ini |
对于使用 PHP-FPM 的 Nginx:
| 须藤纳米 /etc/php/8.3/fpm/php.ini |
在文件中,调整设置,例如:
- 内存限制(例如512M)
- upload_max_filesize(例如100M)
- post_max_size(例如100M)
- max_execution_time(例如,360)
更改后,重新启动相应的服务:
- 阿帕奇:
| sudo 服务 apache2 重新启动 |
- PHP-FPM:
| sudo systemctl 重新启动 php8.3-fpm |
配置完 Web 服务器并微调 PHP 后,您就可以进入下一阶段:设置数据库来保存所有 Nextcloud 数据。
第 3 步:设置数据库
配置好系统和 Web 服务器后,下一步是为 Nextcloud 安装设置数据库。这涉及创建数据库和具有适当权限的专用用户。具体做法如下:
1.安装MariaDB服务器
首先,安装 MariaDB 服务器包:
| sudo apt install mariadb-server -y |
2. 保护 MariaDB 安装的安全
运行安全脚本以删除不安全的默认设置:
| 须藤 mysql_secure_installation |
系统将提示您设置 root 密码并做出其他与安全相关的选择。建议对所有提示回答“Y”(是)。
3.登录MariaDB Shell
以 root 用户身份访问 MariaDB shell:
| sudo mysql -u root -p |
输入您在安全安装过程中设置的 root 密码。
4. 为 Nextcloud 创建新数据库
在 MariaDB shell 中,执行以下命令来创建名为 Nextcloud 的数据库:
| 创建数据库 Nextcloud 字符集 utf8mb4 整理 utf8mb4_general_ci; |
5. 创建专用数据库用户
使用强密码创建新用户 Nextclouduser。将 your_password_here 替换为您选择的安全密码:
| 创建由“your_password_here”标识的用户“Nextclouduser”@“localhost”; |
6. 授予用户必要的权限
将 Nextcloud 数据库的所有权限授予 Nextclouduser:
| 将 Nextcloud.* 上的所有权限授予“Nextclouduser”@“localhost”; |
7. 应用更改
刷新权限以确保所有更改生效:
| 同花顺特权; |
8.退出MariaDB Shell
输入以下命令退出 MariaDB shell:
| 出口; |
设置和配置数据库后,您现在可以继续下一步:安装 Nextcloud。这将涉及下载 Nextcloud 文件并将其配置为连接到您刚刚创建的数据库。
第 4 步:下载并安装 Nextcloud
此步骤涉及在您的系统上安装最新的 Nextcloud 版本并进行设置。这里有两种选择:一种使用 Docker(非常适合容器化设置),另一种则采用更传统的手动安装。
方法一:使用官方Docker镜像
如果您更喜欢容器化方法,请按照以下命令操作:
拉取 Nextcloud Docker 镜像:
从 Docker Hub 下载最新的 Nextcloud Docker 镜像:
| docker 拉 Nextcloud |
创建 Docker 撰写文件:
为了获得更轻松的管理体验,请创建一个名为 docker-compose.yml 的文件,其中包含以下内容:
| 版本:‘3’
服务: 卷: |
启动容器:
运行此命令以在后台启动 Nextcloud 和数据库容器:
| docker-compose up -d |
方法 2:从 Nextcloud Archive 手动安装
如果您想直接处理文件,请按以下步骤操作:
下载最新版本:
获取最新的 Nextcloud tar 存档:
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
提取存档:
解压下载的文件:
| tar -xjf 最新.tar.bz2 |
移动 Nextcloud 文件夹:
将提取的文件夹传输到您的 Web 目录:
| sudo mv Nextcloud /var/www/Nextcloud |
设置正确的权限:
调整所有权,以便您的 Web 服务器可以访问这些文件:
| sudo chown -R www-data:www-data /var/www/Nextcloud |
选择最适合您风格的方法。 Docker 方法使用 Nextcloud docker compose 提供了简单的设置,而手动方法则让您可以直接控制文件。更好的是,使用 Cloudzy 的 码头虚拟专用服务器 计划创建了一个通过 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):
| <虚拟主机 *:80> 文档根目录 /var/www/Nextcloud/ 服务器名称 cloud.example.com<目录 /var/www/Nextcloud/> 要求全部授予 允许覆盖全部 选项 FollowSymLinks MultiViews<IfModule mod_dav.c> 达夫·关闭 </如果模块> </目录> </虚拟主机> |
启用新配置
告诉 Apache 您的新配置:
| sudo a2ensite Nextcloud.conf |
重新加载阿帕奇:
通过重新加载 Apache 应用更改:
| sudo systemctl 重新加载 apache2 |
使用 SSL 保护您的网站
为了安全访问,您可以设置 SSL。有两种常见的方法:使用自签名证书或通过 Let’s Encrypt 获取证书。
选项 1:自签名证书
启用 SSL 模块:
| 须藤 a2enmod ssl |
启用默认 SSL 站点:
| sudo a2ensite 默认 ssl |
重新加载阿帕奇:
| sudo systemctl 重新加载 apache2 |
选项 2:加密证书(推荐用于公共服务器)
安装 Certbot 和 Apache 插件:
| sudo apt install certbot python3-certbot-apache -y |
- 获取并安装证书:
将 cloud.example.com 替换为您的域名:
| sudo certbot –apache -d cloud.example.com |
按照提示完成该过程。
配置 Apache 虚拟主机并设置 SSL 后,您的 Nextcloud 实例将设置为提供来自您所选域的安全连接。接下来,我们将继续设置数据库来存储您的 Nextcloud 数据,它将所有内容连接在一起,以提供流畅的自托管云体验。
第 6 步:完成设置
现在您的 Web 服务器和 PHP 已配置完毕,是时候结束您的安装了。这一步就像在向世界展示您的项目之前对其进行最后的修饰。
调整文件权限:
在启动安装向导之前,运行以下命令以确保 Web 服务器可以访问所有 Nextcloud 文件:
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
通过浏览器访问 Nextcloud:
打开浏览器并输入 Nextcloud 实例的 URL,例如:
| http://your-server-ip/Nextcloud |
这将加载 Nextcloud 安装向导,这是一个友好的界面,可指导您完成最终设置。
完成安装向导:
在向导中,系统将提示您输入:
- 您的数据库详细信息(主机、名称、用户和密码)。在 Docker 设置中,数据库主机通常设置为容器名称或 localhost。
- Nextcloud 实例的管理员用户名和密码。
按照屏幕上的说明进行操作,完成后单击“完成设置”按钮。
完成向导后,您的 Nextcloud 服务器将完成其设置,您将看到全新的 Nextcloud 仪表板。接下来,我们将继续配置安装后设置,例如 cron 作业、缓存和安全调整,以保持实例顺利运行。
第7步:安装后配置
完成 Nextcloud Web 安装向导后,一些最后的调整可以帮助微调计划任务、性能和安全性。这部分涉及设置后台作业、将缓存与 Redis 集成以及强化 Nextcloud 实例。
为计划任务启用 Cron 作业
为了保持 Nextcloud 平稳运行,最好安排后台任务。设置一个 cron 作业,每五分钟运行一次 Nextcloud cron 脚本。打开 Web 服务器用户(通常是 www-data)的 crontab:
| sudo crontab -u www-data -e |
然后在文件末尾添加这一行:
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
保存并关闭编辑器。该作业将处理清理临时文件、发送通知和其他维护例程等任务。
安装和配置 Redis 进行缓存
使用 Redis 可以通过缓存数据和提高文件锁定性能来加快 Nextcloud 实例的速度。第一的, 安装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’ => 数组( ‘主机’=>‘本地主机’, ‘端口’ => 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 维护:模式 –on #(在此处执行任何所需的维护任务) sudo -u www-data php /var/www/Nextcloud/occ 维护:模式 –off |
- 检查您的 Web 服务器配置:
确认您的 Apache 或 Nginx 设置强制执行 HTTPS 并根据需要限制未经授权的访问。
通过这些最后步骤,您的 Nextcloud 实例将有效地处理后台任务,通过缓存享受改进的性能,并更好地防止潜在的安全威胁。
最后的想法
您现在已经将 Nextcloud docker 设置从空白画布转变为功能齐全的自托管云存储解决方案。更新系统、安装依赖项、对 Web 服务器以及 PHP 进行微调后,您的 Nextcloud Ubuntu 环境就可以作为您的个人文件共享中心了。
当您继续微调您的设置、尝试高级配置或探索新的 Nextcloud 应用程序时,考虑您的托管提供商会很有帮助。一个可靠且 经济实惠的 VPS 像 Cloudzy 一样,Cloudzy 可保证您的 Nextcloud 实例保持安全且响应迅速,使其成为满足您的云存储需求的坚实基础。
为了更加安心,明智的做法是查看官方安全指南: Nextcloud 安全强化 和备份建议 Nextcloud 备份指南。这些资源可帮助您确保数据安全并确保服务器平稳运行。