Nextcloud 是一个开源的、自托管的文件共享和协作平台,类似于 Dropbox。它内置了媒体播放器、日历和联系人管理功能。

Nextcloud 可通过应用进行扩展,并为所有主要平台提供桌面和移动客户端。

在本教程中,我们将向您展示如何在 Ubuntu 18.04 机器上使用 Apache 安装和配置 Nextcloud。

前提条件

在开始本教程之前,请确保您已以具有 sudo 权限的用户身份登录。

第 1 步:创建 MySQL 数据库

NextCloud 可以使用 SQLite、PostgreSQL 或 MySQL 数据库来存储其所有数据。在本教程中,我们将使用 MySQL 作为首选数据库。

如果您尚未在 Ubuntu 服务器上安装 MySQL 或 MariaDB,可以通过遵循以下任一说明进行安装:

  • 在 Ubuntu 18.04 上安装 MySQL
  • 在 Ubuntu 18.04 上安装 MariaDB

要创建数据库和用户,首先通过键入以下命令登录到 MySQL shell:

sudo mysql

运行以下 SQL 语句以创建名为 nextcloud 的数据库,名为 nextclouduser 的用户,并向该用户授予所有必要的权限:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;

第 2 步:安装 PHP 和 Apache

Nextcloud 是一个 PHP 应用程序。Ubuntu 18.04 中默认安装的 PHP 7.2 完全支持并推荐用于 Nextcloud。

运行以下命令以安装 Apache、PHP 以及所有必需的 PHP 扩展和:

sudo apt install apache2 php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php7.2-imagick php7.2-xml php7.2-zip libapache2-mod-php7.2

第 3 步:配置防火墙

假设您正在使用 UFW 管理防火墙,您需要打开 HTTP (80) 和 HTTPS (443) 端口。您可以通过启用包含两个端口规则的 ‘Apache Full’ 配置文件来实现这一点:

sudo ufw allow 'Apache Full'

第 4 步:下载 Nextcloud

在撰写本文时,Nextcloud 的最新稳定版本是 15.0.0 版。在继续下一步之前,请访问 Nextcloud 下载页面并检查是否有新版本可用。

首先使用以下 wget 命令下载最新版本的 Nextcloud:

wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip -P /tmp

下载完成后,将归档文件解压到 /var/www 目录:

sudo unzip /tmp/nextcloud-15.0.0.zip  -d /var/www

设置正确的所有权,以便 Apache Web 服务器可以完全访问 Nextcloud 的文件和目录。

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

第 5 步:配置 Apache

打开您的文本编辑器并创建以下 Apache 配置文件。

sudo nano /etc/apache2/conf-available/nextcloud.conf
/etc/apache2/conf-available/nextcloud.confapache
Alias /nextcloud "/var/www/nextcloud/"

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

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

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

使用以下命令启用新添加的配置以及所有必需的 Apache 模块:

sudo a2enconf nextcloud
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

通过重启 Apache 服务来激活更改:

sudo systemctl reload apache2

第 6 步:安装 Nextcloud

现在 Nextcloud 已下载,并且所有必要服务都已配置完成,请打开浏览器并通过访问服务器的域名或 IP 地址后跟 /nextcloud 来启动 Nextcloud 安装:

url
http://domain_name_or_ip_address/nextcloud

您将看到 Nextcloud 设置页面。

在 Ubuntu 上安装 Nextcloud

输入您想要的管理员用户名和密码,以及您之前创建的 MySQL 用户和数据库详细信息。

点击 Finish setup 按钮,一旦安装过程完成,您将以管理员用户身份被重定向到 Nextcloud 仪表板。

Nextcloud 仪表板