在 Ubuntu 20.04 上使用 LAMP Stack 设置 Nextcloud

介绍

Nextcloud 是一个开源协作平台,拥有数百个应用程序,用于共享文档、接收电子邮件、管理日历、进行视频通话等。 作为自托管解决方案,Nextcloud 为全球数百万用户提供服务,因为它是一个以社区为中心的项目,专注于开放标准以实现更好的互操作性。

该软件是用 PHP 编写的,在 MySQL 或 MariaDB 数据库上运行良好。 因此,您只需添加一些额外的 PHP 扩展即可将其安装在现有 LAMP 堆栈基础架构之上。

本指南将引导您完成在 Ubuntu 20.04 服务器上使用 LAMP 堆栈设置 Nextcloud 门户的过程。

先决条件

要完成本指南,请确保您具备以下条件:

一个 Ubuntu 20.04 服务器。 一个域名(例如example.com)。 要测试本指南,您可以使用服务器的公共 IP 地址。 非 root sudo 用户。 灯堆栈。

1. 安装 PHP 扩展

SSH 到您的服务器并更新包存储库索引。

$ sudo apt-get update

然后,运行以下命令以安装 Nextcloud 所需的必要 PHP 扩展。

$ sudo apt-get install -y libapache2-mod-php
$ sudo apt-get install -y php-{cli,json,curl,imap,gd,mysql,xml,zip,intl,imagick,mbstring}

接下来,启用Apache mod_rewrite 模块。 这允许 Nextcloud 制作人类可读的 URL。

$ sudo a2enmod rewrite      

此外,启用以下推荐模块。

$ sudo a2enmod headers
$ sudo a2enmod env
$ sudo a2enmod dir
$ sudo a2enmod mime  

重新启动 Apache 网络服务器以加载新更改。

$ sudo systemctl restart apache2

安装 unzip 使用以下命令的工具。

$ sudo apt install -y unzip

安装所需的 PHP 扩展、Apache 模块和 unzip 命令后,在下一步中为 Nextcloud 创建数据库。

2. 创建 Nextcloud 数据库和用户

以 root 用户身份连接到您的 MySQL/MariaDB 服务器。

$ sudo mysql -u root -p

出现提示时,输入您的数据库服务器密码并按 ENTER 继续。 接下来,发出以下命令为 Nextcloud 软件创建数据库和用户帐户。 根据您的数据库服务器选择适当的命令。 代替 EXAMPLE_PASSWORD 具有很强的价值。

MySQL。

mysql> CREATE DATABASE next_cloud;
       CREATE USER 'next_cloud_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
       GRANT ALL PRIVILEGES ON next_cloud.* TO 'next_cloud_user'@'localhost';           
       FLUSH PRIVILEGES;
       EXIT;

玛丽亚数据库。

MariaDB> CREATE DATABASE next_cloud;
         GRANT ALL PRIVILEGES on next_cloud.* TO 'next_cloud_user'@'localhost' identified by 'EXAMPLE_PASSWORD';
         EXIT;

创建数据库并设置用户帐户后,您将从其官方存储库下载 Nextcloud。

3.下载NextCloud

创建一个 next_cloud Web 服务器根目录下的目录。

$ sudo mkdir -p /var/www/next_cloud

接下来,导航到 tmp 目录。

$ cd /tmp

然后,下载 Nextcloud 的最新稳定版本。

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

接下来,将您下载的 zip 文件解压缩到当前目录。

$ sudo unzip -q nextcloud-21.0.2.zip

将提取的文件复制到 /var/www/next_cloud. 该过程需要一段时间才能完成。

$ sudo rsync -rtv nextcloud/ /var/www/next_cloud

更改所有权 /var/www/nextcloudwww-data.

$ sudo chown -R www-data:www-data /var/www/next_cloud

您的 Nextcloud 文件现已就绪; 在完成设置过程之前,您将在下一步中为 Nextcloud 创建一个虚拟主机文件。

4. 为 Nextcloud 设置虚拟主机

首先,使用以下命令禁用默认的 Apache 虚拟主机配置文件 a2dissite 命令。

$ sudo a2dissite 000-default.conf

然后,在下为您的 Nextcloud 站点打开一个新的配置文件 /etc/apache2/sites-available.

$ sudo nano /etc/apache2/sites-available/next_cloud.conf

在文件中输入以下信息并替换 example.com 使用您服务器的正确域名或公共 IP 地址。

<VirtualHost *:80>

  DocumentRoot /var/www/next_cloud
  ServerName  example.com

  Alias /nextcloud "/var/www/next_cloud/"

  <Directory /var/www/next_cloud>

    Options +FollowSymlinks
    AllowOverride All

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

    SetEnv HOME /var/www/next_cloud/
    SetEnv HTTP_HOME /var/www/next_cloud/

  </Directory>

</VirtualHost>

按 CTRL + X 保存新文件,然后按 Y 和 ENTER。 然后,使用 a2ensite 命令。

$ sudo a2ensite next_cloud.conf

重新启动 Apache 以加载新配置。

$ sudo systemctl restart apache2

Apache 现在已准备好为您的 Nextcloud 站点提供服务。 您将在下一步中完成安装。

5. 完成 NextCloud 安装

在网络浏览器上访问下面的 URL。 记得更换 example.com 使用您服务器的正确域名或 IP 地址。

http://example.com

创建一个管理员帐户并配置数据库,然后单击 完成设置.

下一个云设置页面 2

完成安装过程后,访问 Nextcloud 门户并输入您的管理员帐户详细信息。

http://example.com

您现在应该看到以下仪表板。

下一个云仪表板

这表明您的 Nextcloud 安装已成功完成。

结论

在本教程中,您已经在 Ubuntu 20.04 服务器上设置了一个带有 LAMP 堆栈的 Nextcloud 协作门户。 使用该应用程序确保:数据的合规性、安全性和灵活性。 Nextcloud 独特的通信技术适合所有类型的组织,包括学院、医院、银行和研究机构。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com