本文介绍使用LAMP服务器在Debian 9 Stretch操作系统上安装NextCloud 15.0.0的具体步骤。NextCloud是一个免费的开源自托管云存储解决方案,可替代Dropbox等第三方云存储服务。可以先参考Ubuntu 18.04下手动安装NextCloud的过程一文。
条件 需要具备以下三点条件: 1、Debian 9 VPS(虚拟专用服务器)或本地Debian计算机。 2、在Debian 9上安装LAMP服务器,参考Debian搭建LAMP环境(Apache MariaDB PHP7)。 3、可用的域名。
第1步:下载NextCloud 15.0.0 使用以下命令将NextCloud服务器zip存档下载到Debian 9系统上。在选写本文时,最新的稳定版本是NextCloud 15.0.0: wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip 你可以转到 https://nextcloud.com/install 页面并单击下载按钮(Download for server)以查看最新版本,到了如下页面就可以下载到最新的NextCloud版本了:
使用解压缩将其解压缩到/var/www/目录: sudo apt install unzip sudo unzip nextcloud-15.0.0.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,你可以使用你喜欢的任何名字(请自定义nextcloud),但不要在结尾处留下分号: create database nextcloud; 然后创建一个单独的用户,同样,你可以为此用户使用你的首选名称,用你的首选密码替换你的密码(your-password): grant all privileges on nextcloud.* to nextclouduser@localhost 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虚拟主机文件 我们将在/etc/apache2/sites-available目录中创建nextcloud.conf文件: sudo nano /etc/apache2/sites-available/nextcloud.conf 复制并粘贴文件中的以下行,将nextcloud.your-domain.com替换为你的实际域名,还需要将域名指向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连接,请参考网站从HTTP升级成HTTPS完全配置教程。 从Debian 9存储库安装certbot(Let's Encrypt)客户端: sudo apt install certbot python-certbot-apache 现在运行以下命令以获取免费的TLS/SSL证书,将your-email-address及nextcloud.your-domain.com替换为你的信息: sudo certbot --apache --agree-tos --redirect --hsts --email your-email-address -d nextcloud.your-domain.com 说明: -apache:使用apache插件。 -agree-tos:同意服务条款。 -redirect:自动将所有HTTP流量重定向到HTTPS。 -hsts:添加Strict-Transport-Security标头。 在几秒钟内将看到如下所示的画面,这意味着已成功获取并安装了TLS证书,同时TLS配置在SSL测试中得分A:
在Web浏览器中完成安装 现在,在你的Web浏览器地址栏中,输入你的NextCloud域名,将看到它会自动重定向到https: nextcloud.your-domain.com
你需要创建一个管理员帐户,数据文件夹是存储用户文件的位置,出于安全原因,最好将数据目录放在Nextcloud Web根目录之外,例如/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界面,同时也意味着现在可以开始将其用作私有云存储了:
相关主题 |