在 Ubuntu20.04 上安装配置私人网盘 nextcloud
前提条件
- 具有 sudo 权限的用户
- 具有 example.com 域名,并成功解析到当前 ip(可选)
安装 Nextcloud
这里使用 snap
包管理工具安装 Nextcloud,该打包系统可以安装自动处理底层系统的 snap
包,而不是安装和配置 Web 和数据库服务器,然后配置 Nextcloud 应用程序在其上运行,非常方便,适合不爱折腾的小白。
通过 snap install
安装
输入命令:
1 | sudo snap install nextcloud |
将下载 Nextcloud snap 包并将其安装在系统上。
通过 snap changes
查看
Nextcloud 软件包安装到服务器后,可以通过列出与 snap
关联的更改来确认安装过程是否成功:
1 | snap changes nextcloud |
获取 snap
其他信息
snap info
命令可以显示描述,可用的 Nextcloud 管理命令,以及正在跟踪的已安装版本和快照通道:
1 | snap info nextcloud |
使用 SSL 保护 Nextcloud Web 界面
在我们开始使用 Nextcloud 之前,我们需要保护 Web 界面。
如果您的域名与 Nextcloud 服务器关联,则 Nextcloud snap 可以帮助您从 Let 的加密中获取和配置受信任的 SSL 证书。 如果您的 Nextcloud 服务器没有域名,则 Nextcloud 可以配置自签名证书,该证书将加密您的 Web 流量,但无法验证您的服务器的身份。
选项 1:使用 Let 的加密设置 SSL
如果域名与 Nextcloud 服务器相关联,则保护 Web 界面的最佳选择是获取 Let 的加密 SSL 证书。
首先打开防火墙中允许加密用于验证域所有权的端口,将 Nextcloud 登录页面可公开访问,但由于已经配置了管理员帐户,因此没有人能够劫持安装:
1 | sudo ufw allow 80,443/tcp |
接下来,输入以下内容来请求 Let’s Encrypt 证书:
1 | sudo nextcloud.enable-https lets-encrypt |
首先会询问服务器是否满足从 Let’s Encrypt 服务请求证书所需的条件:
1 | OutputIn order for Let's Encrypt to verify that you actually own the |
输入 y 继续。
接下来,系统会要求提供用于恢复操作的电子邮件地址:
1 | OutputPlease enter an email address (for urgent notices or key recovery): your_email@domain.com |
最后,输入与 Nextcloud 服务器关联的域名:
1 | OutputPlease enter your domain name(s) (space-separated): example.com |
您的 Let’s Encrypt 证书将被请求,并且如果一切顺利,将重新启动内部 Apache 实例以立即实施 SSL:
1 | OutputAttempting to obtain certificates... done |
到这里就说明设置成功 。
选项 2:使用自签名证书设置 SSL
如果您的 Nextcloud 服务器没有域名,您仍然可以通过生成自签名 SSL 证书来保护 Web 界面。 此证书将允许通过加密连接访问 Web 界面,但无法验证服务器的身份,因此您的浏览器可能会显示警告。
要生成自签名证书并配置 Nextcloud 以使用它,请键入:
1 | sudo nextcloud.enable-https self-signed |
以上输出表明 Nextcloud 生成并启用了自签名证书。
现在接口是安全的,打开防火墙中的 Web 端口以允许访问 Web 界面:
1 | sudo ufw allow 80,443/tcp |
您现在已准备好第一次登录 Nextcloud。
登录 Nextcloud Web 界面
现在已配置 Nextcloud,请在 Web 浏览器中访问服务器的域名或 IP 地址:
1 | https://example.com |
注意:如果设置自签名 SSL 证书,则浏览器可能会显示连接不安全的警告,因为服务器的证书未由可识别的证书颁发机构签名。 这适用于自签名证书,因此请随意点击警告以继续访问该站点。输入管理员帐户后将进入 Nextcloud 页面。