如何使用LAMP在Debian 9 Stretch上安装NextCloud
- 技术文档
- 2022.03.23
- 浏览:185
文章目录[隐藏]
本教程将向您展示如何使用LAMP stack在Debian 9上安装NextCloud。NextCloud是一个免费、开源的自托管云存储解决方案,提供Dropbox等第三方云存储服务的替代方案。
先决条件
要学习本教程,您需要以下内容:
- Debian 9 VPS(虚拟专用服务器)或本地Debian计算机
- Debian 9上安装的灯组。
- 域名。
第一步:下载NextCloud
使用以下命令将NextCloud server zip存档下载到Debian 9系统中。撰写本文时,最新的稳定版本是12.0.2。
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip
当你学习本教程时,可能会有一个更新的版本。去https://nextcloud.com/install点击下载按钮查看最新版本。要获得NextCloud的下载链接,只需右键单击下载NextCloud按钮,然后选择复制链接位置,如下面的屏幕截图所示。
解压后将其解压缩到/var/www/目录。
sudo apt install unzip sudo unzip nextcloud-12.0.2.zip -d /var/www/
现在我们将www-data(Apache-user)作为/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;
然后创建一个单独的用户。同样,您可以使用此用户的首选名称。用首选密码替换密码。
grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'your-password';
上述命令将创建用户并授予所有权限。现在刷新权限并退出。
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
二进制日志的格式必须是混合的。保存并关闭文件。然后重新启动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上启用安全的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插件。
- –同意tos:同意服务条款。
- –重定向:自动将所有HTTP流量重定向到HTTPS。
- –hsts:添加严格的传输安全标题。
几秒钟内,您将看到如下消息,这意味着TLS证书已成功获得并安装。TLS配置在SSL测试中得分为A。
在Web浏览器中完成安装
现在在你的网络浏览器地址栏中,输入你的NextCloud域名。您将看到它会自动重定向到https。
nextcloud.your-domain.com
你需要创建一个管理员帐户。数据文件夹是存储用户文件的地方。出于安全原因,最好将数据目录放在Nextcloud web根目录之外,例如/var/www/Nextcloud data。可以使用以下命令创建:
sudo mkdir /var/www/nextcloud-data/
然后确保Apache用户(www数据)对数据目录具有写入权限。
sudo chown www-data:www-data /var/www/nextcloud-data -R
然后输入之前创建的数据库用户名、数据库名称和密码,以便将Nextcloud连接到MariaDB数据库。
完成后,您将看到Nextcloud的Web界面。恭喜!您现在可以开始将其用作您的私有云存储。
我希望本教程能帮助您在Debian 9上安装NextCloud和LAMP stack。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯来获取新的教程。