Nextcloud 是一个开源的,自托管的文件共享和协作平台,类似于Dropbox。它与媒体播放器,日历和联系人管理捆绑在一起。

Nextcloud可通过应用程序扩展,并具有适用于所有主要平台的桌面和移动客户端。

本教程将引导您完成在CentOS 7系统上使用Apache安装和配置Nextcloud的过程。

先决条件

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

第1步:创建MySQL数据库

NextCloud可以使用SQLite, PostgreSQL 或MySQL数据库存储其所有数据。

在本教程中,我们将使用MySQL作为首选数据库。

如果您尚未在CentOS服务器上安装MySQL或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应用程序。 CentOS 7附带了PHP 5.4,Nextcloud不支持。

我们将从Remi存储库安装PHP 7.2。以下命令将启用EPEL和Remi存储库:

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72

启用存储库后,使用以下命令安装Apache PHP 7.2 和所有必需的PHP扩展:

sudo yum install httpd php php-gd php-json php-mysql php-curl php-mbstring php-intl php-mcrypt php-imagick php-xml php-zip

第3步:配置防火墙

如果您在CentOS服务器上运行防火墙,则需要打开HTTP(80)和HTTPS(443)端口。

您可以通过运行以下命令来做到这一点:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

第4步:下载Nextcloud

使用 wget Nextcloud下载页面下载最新版本的Nextcloud:

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

在撰写本文时,Nextcloud的最新版本为15.0.0。

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

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

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

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

第5步:配置Apache

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

sudo nano /etc/httpd/conf.d/nextcloud.conf

/etc/httpd/conf.d/nextcloud.conf

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 systemctl restart httpd

第6步:安装Nextcloud

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

http://domain_name_or_ip_address/nextcloud

系统会为您显示Nextcloud设置页面。

输入所需的管理员用户名和密码,以及先前创建的MySQL用户和数据库详细信息。

单击Finish setup按钮,安装过程完成后,您将被重定向到以admin用户身份登录的Nextcloud仪表板。

结论

您已经了解了如何在CentOS 7计算机上安装和配置Nextcloud。如果您的域名与Nextcloud服务器相关联,则可以按照此指南进行操作,并通过Let's Encrypt 保护 Apache。

要查找有关如何管理Nextcloud实例的更多信息,请访问 Nextcloud文档页面。

如有任何疑问,请在下面发表评论。