如何在 CentOS 7 上安装 Nextcloud

在本教程中,我们将向您展示如何在您的 CentOS 7 服务器上安装和配置 Nextcloud。 对于那些不知道的人,Nextcloud 是一个开源的自托管文件同步和共享应用程序(日历、联系人、文档、电子邮件等)。 Nextcloud 的开发人员正在尽最大努力为用户提供更安全的平台、更少的错误和更好的产品。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示如何在 CentOS 7 服务器上逐步安装 Nextcloud。

在 CentOS 7 上安装 Nextcloud

第 1 步。首先,让我们首先确保您的系统是最新的。

yum clean all yum -y update

步骤 2. 安装 LAMP 服务器。

需要 CentOS 7 LAMP 堆栈服务器。 如果您没有安装 LAMP,您可以在此处按照我们的指南进行操作。 此外,安装所需的 PHP 模块:

yum -y install php-gd php-imap php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp curl curl-devel

步骤 3. 安装 Nextcloud。

首先要做的就是去 Nextcloud的下载页面 并下载 Nextcloud 的最新稳定版本,在撰写本文时它是 10.0.0 版本:

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

将 Nextcloud 存档解压缩到服务器上的文档根目录:

unzip nextcloud-10.0.0.zip mv nextcloud /var/www/html

我们将需要更改一些文件夹权限:

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

步骤 4. 为 Nextcloud 配置 MariaDB。

默认情况下,MariaDB 未加固。 您可以使用 mysql_secure_installation 脚本。 您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB。

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y

接下来,我们需要登录 MariaDB 控制台并为 Nextcloud 创建一个数据库。 运行以下命令:

mysql -u root -p

这将提示您输入密码,因此输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Nextcloud 安装创建一个数据库:

MariaDB [(none)]> CREATE DATABASE nextcloud; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> q

步骤 5. 配置 Apache Nextcloud 的网络服务器。

我们将创建一个 Apache Nextcloud 网站的虚拟主机。 首先创建’/etc/httpd/conf.d/vhosts.conf‘ 使用您选择的文本编辑器创建文件:

nano /etc/httpd/conf.d/vhosts.conf IncludeOptional vhosts.d/*.conf

接下来,创建虚拟主机:

mkdir /etc/httpd/vhosts.d/ nano /etc/httpd/vhosts.d/yourdomain.com.conf

添加以下行:

<VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/nextcloud/" ServerName yourdomain.com ServerAlias www.yourdomain.com ErrorLog "/var/log/httpd/yourdomain.com-error_log" CustomLog "/var/log/httpd/yourdomain.com-access_log" combined  <Directory "/var/www/html/nextcloud/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

Save 和 close 文件。 重新启动 apache 服务以使更改生效:

systemctl restart httpd.service systemctl enable httpd.service

步骤 6. 在防火墙中为 Nextcloud 配置端口。

修改防火墙规则以允许访问者访问:

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

最后,配置 SELinux 在许可模式下使用以下命令:

setenforce 0

通过更新文件中的以下参数使其永久化“/etc/sysconfig/selinux”:

SELINUX=permissive

步骤 7. 访问 Nextcloud。

默认情况下,Nextcloud 将在 HTTP 端口 80 上可用。 打开您喜欢的浏览器并导航到 https://yourdomain.com/ 或者 https://your-server-ip/ 并完成所需的步骤以完成安装。 如果您使用防火墙,请打开端口 80 以启用对控制面板的访问。 您使用 Nextcloud 做什么取决于您自己。 您可以添加新模块或仅将其用作基于云的文件同步和共享。 您可以安装 安卓应用 甚至可以使用 ownCloud 桌面客户端(它们可以与 Nextcloud 一起正常工作)。

恭喜! 您已成功安装 Nextcloud。 感谢您使用本教程在您的 CentOS 7 系统上安装 Nextcloud 个人云存储。 如需更多帮助或有用信息,我们建议您查看 Nextcloud 官方网站.