如何在 Ubuntu 22.04 LTS 上安装 Nextcloud

ops/2024/11/17 15:51:37/

简介

什么是 Nextcloud?

Nextcloud 是一个自托管的协作平台,旨在通过文件、通话、群件和 Office 等集成服务提高工作效率。当与 Collabora Online 或 OnlyOffice 等办公套件一起使用时,它可以提供类似于 Dropbox、Office 365 或 Google Drive 的功能。

Nextcloud 有四种主要产品:Files 提供自托管文件存储和同步;Talk 提供私人音频/视频会议和聊天;Groupware 包括日历和邮件等生产力工具;Office 提供用于协作文档编辑的在线办公套件。

Nextcloud 可以托管在云端或企业内部,提供灵活的部署选项。它允许将文档存储在私有服务器或可信数据中心,从而确保更强的控制和安全性。

image.png

下面,我将逐步介绍如何在 Ubuntu 22.04 LTS 上安装 Nextcloud。

环境准备

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。本文将以雨云为例进行演示。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便尝试本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

点击 云产品云服务器立即购买

image.png

选择距离你较近的区域,以保证低延迟。

image.png

带宽建议选择上传和下载大于 30M 即可,网盘的上传和下载速度取决于你所选的带宽大小。处理器和内存建议选择 2 核 4G。

image.png

选择 Ubuntu 22.04 版本。

image.png

最后点击 立即购买,并按照提示进行购买。购买后等待机器部署完毕,点击购买的服务器,进入管理面板,找到远程连接相关信息。

image.png

image.png

使用 PowerShell 进行远程连接。

image.png

输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

image.png

到此为止,我们的云服务器就创建好了。

开始部署

更新和升级系统

在 Nextcloud 安装之前,我们最好更新所有系统包并将系统升级到最新版本。要一次性更新和升级,请执行以下命令:

apt update -y && apt upgrade -y && apt install unzip -y

安装 Apache 和 MySQL 服务器

Nextcloud 是一个具有数据库后端的 Web 应用程序,因此我们需要一个 Web 服务器和一个数据库服务器来进行安装。我们正在安装 Apache 作为 Web 服务器,MariaDB 作为数据库服务器。

Apache 服务器安装:

启动并启用 Apache 服务:

systemctl start apache2
systemctl enable apache2

使用以下命令查看 Apache 服务器的当前状态,Apache 服务器必须正在运行。

root@nc:~# systemctl status apache2
● apache2.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/apache2.service; enabled;preset: enabled)Active: active (running) since Sat 2024-05-25 02:42:34 UTC; 1h 36min agoDocs: <https://httpd.apache.org/docs/2.4/>Process: 21813 ExecStart=/usr/sbin/apachectl start (code=exited,status=0/SUCCESS)Main PID: 21817 (apache2)Tasks: 11 (limit: 4556)Memory: 871.4M (peak: 993.6M)CPU: 1min 2.942sCGroup: /system.slice/apache2.service├─21817 /usr/sbin/apache2 -k start├─21821 /usr/sbin/apache2 -k start├─21823 /usr/sbin/apache2 -k start

上述命令输出确认了 Apache 正在运行状态。

MariaDB 服务器安装:

apt install mariadb-server

启动并启用 MariaDB 服务:

systemctl start mariadb
systemctl enable mariadb

使用以下命令检查 MariaDB 服务器的当前状态,MariaDB 服务必须正在运行。

root@nc:~# systemctl status mariadb
● mariadb.service - MariaDB 10.11.7 database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled;preset: enabled)Active: active (running) since Sat 2024-05-25 02:31:18 UTC; 2h 33min agoDocs: man:mariadbd(8)<https://mariadb.com/kb/en/library/systemd/>Main PID: 8820 (mariadbd)Status: "Taking your SQL requests now..."Tasks: 17 (limit: 30074)Memory: 124.6M (peak: 125.6M)CPU: 10.370sCGroup: /system.slice/mariadb.service└─8820 /usr/sbin/mariadbd

上述命令输出确认了 MariaDB 正在运行状态。

安装 PHP 和支持模块

Nextcloud 是用 PHP 和 JavaScript 编写的,因此我们需要安装 PHP 及其所有必需的模块,以便其功能能够正常工作。

安装 PHP 和所需模块:

apt install php php-common libapache2-mod-php php-bz2 php-gd php-mysql \\
php-curl php-mbstring php-imagick php-zip php-common php-curl php-xml \\
php-json php-bcmath php-xml php-intl php-gmp zip unzip wget

在 Apache 上启用 PHP 模块:

a2enmod env rewrite dir mime headers setenvif ssl

现在,重启 Apache 以加载所有安装的 PHP 模块:

systemctl restart apache2

检查模块是否已加载到 Apache 上:

root@nc:~# apache2ctl -M
Loaded Modules:core_module (static)so_module (static)watchdog_module (static)http_module (static)log_config_module (static)logio_module (static)version_module (static)
......

创建 Nextcloud 数据库和用户

在这一步中,我们将为 Nextcloud 创建数据库数据库用户。

登录到 MySQL 提示符,只需输入以下命令,它将打开一个交互式的 MariaDB 提示符以创建用户和数据库

root@nc:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \\g.
Your MariaDB connection id is 1131
Server version: 10.11.7-MariaDB-2ubuntu2 Ubuntu 24.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
MariaDB [(none)]>

现在,为 Nextcloud 创建 MySQL 数据库和用户,并为用户提供数据库权限。复制所有 SQL 命令并在提示符上逐个执行。

MariaDB [(none)]> CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'passw@rd';
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

解压 Nextcloud 归档文件并配置

现在,下载最新的 Nextcloud 归档文件,前往 Nextcloud 下载页面。或者你可以从这个 直接链接 下载。

下载并解压到 Web 根目录(/var/www/html)文件夹:

从 Web 根目录中移除默认的 index.html 文件:

下载并解压 Nextcloud 归档:

wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip

将所有 Nextcloud 内容移动到 Web 根目录(/var/www/html)文件夹:

cd /var/www/html/nextcloud
mv * /var/www/html/

移除空的 nextcloud 文件夹:

rmdir /var/www/html/nextcloud

更改 Nextcloud 内容目录的所有者为 HTTP 用户:

chown -R www-data:www-data /var/www/html

完成 Nextcloud 安装

现在,打开浏览器并输入服务器的 http://your_server_ip,以下 Nextcloud 安装页面将出现。

在该页面上,我们需要提供以下信息:

  1. Nextcloud 管理员用户名和密码
  2. 数据库凭证(数据库名称、数据库用户和数据库密码)

提供所有信息后,点击 安装 (Install) 按钮。

image.png

Nextcloud 安装完成后,将显示推荐应用程序页面。点击 安装推荐应用程序 (Install recommended apps) 按钮。

image.png

安装所有推荐应用程序需要 1-2 分钟,然后会显示管理仪表板。

image.png

相关链接

雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog

面试鸭:https://mianshiya.com/?shareCode=sq29yv

我的博客:https://blog.ivwv.site


http://www.ppmy.cn/ops/134464.html

相关文章

微信小程序瀑布流组件

实现思路 布局采用左右风格的方式,图片采用宽度固定自适应高度接收到显示的数组循环获取左右的高度对比下一个插入左或右提供左右插槽可自定义布局,传出当前循环的值与下标提供触底事件与返回顶部事件在滚动过程中隐藏不需要显示的数据以减少微信小程序dom的消耗 示例 backT…

蓝队知识浅谈(上)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;蓝队基础之网络七层杀伤链_哔哩哔哩_bilibili 本文主要分享一些蓝队相关的知识。 首先我们先来了解一下什么是蓝队&#xff1f; 蓝队是信息安全领…

动态规划子数组系列(二) 环形子数组的最大和

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; public int maxSubarraySumCircular(int[] nums) {int sum 0;int n nums.length;int[] f new int[n1];int[] g new int[n1];int ret 0, fmax -0x3f3f3f3f, gmin Integer.MAX_VALUE;for(int i 1; i < n; i)…

基于STM32的智能温室控制系统设计

引言 随着农业智能化的发展&#xff0c;传统温室管理模式因效率低下逐渐被淘汰&#xff0c;智能温室控制系统应运而生。智能温室系统通过实时监测温室内的温度、湿度和光照强度&#xff0c;并自动控制通风、灌溉及补光设备&#xff0c;为作物生长提供最优的环境条件。本项目基…

通过声纹或者声波来切分一段音频

通过声纹识别或基于声波特征的模型&#xff0c;确实可以帮助切分一段音频并区分出不同讲话者的语音片段。这种技术被称为 基于声纹的语音分割 或 基于说话人识别的音频分割。其核心原理是利用每个说话者的 声纹特征&#xff08;即每个人独特的语音特征&#xff09;来识别和切分…

在连锁零售行业中远程控制软件的应用

在连锁零售行业&#xff0c;远程控制软件正逐渐成为提高效率和降低成本的重要工具。作为零售经理&#xff0c;您可能已经注意到这种技术带来的变化。试想一下&#xff0c;无论您身在何处&#xff0c;都可以实时监控商店的运营情况&#xff0c;甚至在远离的地方解决顾客的问题。…

FreeRTOS 低功耗 Tickless 模式深度解析

目录 一、引言 二、Tickless 模式的工作原理 1.传统的定时器中断&#xff08;Tick&#xff09;模式 2.Tickless 模式的引入 3.具体实现机制 三、Tickless 模式的优势 1.降低功耗 2.提高响应速度 3.灵活性 四、配置和使用 Tickless 模式 1.软件配置 2.任务编程注意事…

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并

MySQL技巧之跨服务器数据查询&#xff1a;基础篇-A数据库与B数据库查询合并 上一篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL 以…