在Ubuntu上自建NextCloud
NextCloud 是一个知名的自建网盘应用,有开源的 server 端,也有 iOS、Android、Windows 等客户端支持。而且可以安装各类扩展,是值得一试的自建网盘方案。
# 1. 安装 NextCloud
在比较新的 Ubuntu 版本上,可以借助 snap 来轻松的安装和管理 NextCloud。
sudo snap install nextcloud
安装完成后,可以查看一些跟 NextCloud 相关的信息i。
snap info nextcloud
# 2. 配置管理账户
sudo nextcloud.manual-install YOUR_USER_NAME YOUR_PASSWORD
会提示 Nextcloud was successfully installed
# 3. 直接访问 NextCloud
如果直接让 NextCloud 对外提供服务,请参阅这一章。如果准备套一层 nginx 之类的反向代理,请跳转到 4.
安装 NextCloud 之后默认运行在 80 和 443 端口。
# 3.1 设置可信域名
默认只信任 localhost,可以添加你的域名到列表中。
// 查看
sudo nextcloud.occ config:system:get trusted_domains
// 把你的域名添加进去
sudo nextcloud.occ config:system:set trusted_domains 1 --value=EXAMPLE.COM
2
3
4
5
# 3.2 申请SSL证书
使用如下命令,直接从 let's encrypt 申请免费的 https 证书。
sudo nextcloud.enable-https lets-encrypt
按照命令中的提示进行操作即可,不具体叙述。
# 4. 使用 nginx 反代
如果 NextCloud 只运行在本地,不对外暴露端口,可以安装 nginx 并进行配置。
# 4.1 修改端口
80 和 443 将给 nginx 使用,所以需要 nextcloud 监听别的端口。
sudo snap set nextcloud ports.http=81 ports.https=444
# 4.2 nginx 证书配置
可以参考这一部分,使用 acme.sh 自动申请和更新服务器上的证书。
# 4.2 nginx 配置
server{
listen 80;
server_name YOUR_DOMAIN;
rewrite ^(.*) https://YOUR_DOMAIN$1 permanent;
}
server {
listen 443;
server_name YOUR_DOMAIN;
ssl on;
ssl_certificate /etc/nginx/cert/YOUR_CERT.pem;
ssl_certificate_key /etc/nginx/cert/YOUR_KEY.pem;
location / {
proxy_pass http://127.0.0.1:YOUR_PORT_LIKE_81;
client_max_body_size 1024m;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 4.3 NextCloud 的一些配置
走完上面的步骤后,如果 nginx 证书之类的一切正常,通过浏览器访问网址,应该能够看到 NextCloud 的界面啦!
但是为了正常使用 NextCloud 客户端,还有一些配置需要修改。配置文件在 /var/snap/nextcloud/current/nextcloud/config/config.php
这里。
数据默认放在 /var/snap/nextcloud/common/nextcloud/data
下面
请修改或者添加这些项目:
'overwrite.cli.url' => 'https://YOUR_DOMAIN',
'overwriteprotocol' => 'https',
'overwritehost' => 'YOUR_DOMAIN'
2
3
修改后,使用此命令重启 NextCloud
snap restart nextcloud
在应用商店安装 NextCloud 的移动客户端,然后试一下能否正常使用吧!