如何在CentOS 7上使用Apache安装和配置Nextcloud

时间:2020-03-05 15:24:29  来源:igfitidea点击:

Nextcloud是一个开放源代码,自托管的文件共享和协作平台,类似于Dropbox。

它与媒体播放器,日历和联系人管理捆绑在一起。

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

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

准备工作

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

步骤1:建立MySQL资料库

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

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

如果我们尚未在CentOS服务器上安装MySQL或者MariaDB,则可以按照以下说明之一进行安装:

  • 在CentOS 7上安装MySQL
  • 在CentOS 7上安装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附带了Nextcloud不支持的PHP 5.4.

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

sudo yum install epel-release yum-utilssudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo 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=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo 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用户和数据库详细信息。

单击“完成设置”按钮,安装过程完成后,我们将被重定向到以admin用户身份登录的Nextcloud仪表板。