如何使用LAMP在Debian 9 Stretch上安装NextCloud

本教程将向您展示如何在带有LAMP堆栈的Debian 9上安装NextCloud。 NextCloud是一种免费的开源自托管云存储解决方案,它提供了替代第三方云存储服务(如Dropbox)的替代方案。

先决条件

要遵循本教程,您需要以下内容:

  • Debian 9 VPS(虚拟专用服务器)或本地Debian计算机
  • 在Debian 9上安装了LAMP堆栈。
  • 域名

步骤1:下载NextCloud

使用以下命令将NextCloud服务器zip归档文件下载到Debian 9系统上。 在撰写本文时,最新的稳定版本是12.0.2。

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

当您遵循本教程时,可能会有较新的版本。 去 https://nextcloud.com/install 然后单击下载按钮以签出最新版本。 要获取NextCloud的下载链接,只需右键单击 Download NextCloud 按钮并选择 Copy Link Location 如下面的屏幕截图所示。

提取到 /var/www/ 目录与 unzip

sudo apt install unzip

sudo unzip nextcloud-12.0.2.zip -d /var/www/

现在我们做 www-data (Apache用户)作为的所有者 /var/www/nextcloud/

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

步骤2:在MariaDB中创建数据库和用户

使用以下命令登录MariaDB数据库服务器:

sudo mariadb -u root

然后使用下面的MariaDB命令为NextCloud创建数据库。 本教程为数据库命名 nextcloud。 您可以使用任何喜欢的名称。 最后不要遗漏分号。

create database nextcloud;

然后创建一个单独的用户。 同样,您可以为该用户使用您的首选名称。 更换 your-password 使用您的首选密码。

grant all privileges on nextcloud.* to [email protected] identified by 'your-password';

上面的命令将创建用户并授予所有特权。 现在刷新MariaDB特权并退出。

flush privileges;

exit;

步骤3:在MariaDB中启用二进制日志记录

编辑MariaDB配置文件。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

在下面添加以下三行 [mysqld] 部分。

log-bin        = /var/log/mysql/mariadb-bin
log-bin-index  = /var/log/mysql/mariadb-bin.index
binlog_format  = mixed

二进制日志的格式必须为 mixed。 保存并关闭文件。 然后重新启动MariaDB服务。

sudo systemctl restart mariadb

现在,在MariaDB中启用了二进制日志。

步骤4:为Nextcloud创建Apache虚拟主机文件

我们将创建一个 nextcloud.conf 归档在 /etc/apache2/sites-available 目录。

sudo nano /etc/apache2/sites-available/nextcloud.conf

将以下行复制并粘贴到文件中。 将红色文本替换为您的实际域名。 您还需要将域名指向DNS中Debian 9服务器的IP地址。

<VirtualHost *:80>
 DocumentRoot "/var/www/nextcloud"
 ServerName nextcloud.your-domain.com

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

<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
 Satisfy Any

</Directory>

</VirtualHost>

保存并关闭文件。 然后使用以下命令启用此虚拟主机。

sudo a2ensite nextcloud

我们还需要启用一些Apache模块。

sudo a2enmod rewrite headers env dir mime setenvif ssl

安装所需的PHP模块。

sudo apt install php7.0-common php7.0-mysql php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring

重新启动Apache,以便可以加载上述Apache和PHP模块。

sudo systemctl restart apache2

步骤5:启用HTTPS

现在,您可以通过输入Nextcloud安装的域名来访问浏览器中的Nextcloud Web安装向导。

nextcloud.your-domain.com

nextcloud-debian-9

在输入任何敏感信息之前,我们应该在Nextcloud上启用安全的HTTPS连接。 我们可以从Let’s Encrypt获得免费的TLS证书。

从Debian 9仓库安装certbot(让我们加密)客户端。

sudo apt install certbot python-certbot-apache

现在发出以下命令以获得免费的TLS / SSL证书。 将红色文本替换为您的实际数据。

sudo certbot --apache --agree-tos --redirect --hsts --email your-email-address -d nextcloud.your-domain.com

说明:

  • –apache:使用apache插件。
  • –同意:同意服务条款。
  • –重定向:自动将所有HTTP通信重定向到HTTPS。
  • –hsts:添加Strict-Transport-Security标头。

在几秒钟之内,您将看到如下消息,这表示已成功获取并安装了TLS证书。 TLS配置在SSL测试中得分为A。

nextcloud https设置

在Web浏览器中完成安装

现在,在您的Web浏览器地址栏中,键入您的NextCloud域名。 您会看到它已自动重定向到https。

nextcloud.your-domain.com

nextcloud debian 9安装带灯

您将需要创建一个管理员帐户。 数据文件夹是存储用户文件的位置。 出于安全考虑,最好将数据目录放置在Nextcloud网络根目录之外,例如 / var / www / nextcloud-data。 可以使用以下命令创建:

sudo mkdir /var/www/nextcloud-data/

然后确保Apache用户(www-data)具有对数据目录的写入权限。

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

然后输入您先前创建的数据库用户名,数据库名称和密码,以将Nextcloud连接到MariaDB数据库。

完成后,您将看到Nextcloud的Web界面。 恭喜! 现在,您可以开始将其用作私有云存储。

nextcloud debian 9 Apache

我希望本教程可以帮助您在带有LAMP堆栈的Debian 9上安装NextCloud。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取新教程。

Sidebar