最近在树莓派上部署了Nextcloud,过程中遇到一些问题,顺便记录下来。
Nextcloud的手动安装过程比较繁琐,为了减少麻烦,我直接用snap进行了安装。
sudo apt update
sudo apt install snapd
sudo snap install nextcloud
使用snap安装的话,默认访问地址为http://localhost, 但是当我在树莓派的浏览器里输入地址并访问的时候,竟然无法访问(在另一个树莓派上部署的时候访问到了)。
于是我想,是不是Nextcloud服务没有启动? 于是输入命令启动Nextcloud,然而无济于事。
sudo snap start nextcloud
突然想起,可能是Nextcloud依赖的服务没有启动,于是一项一项地启动Nextcloud依赖的服务,最后问题解决。
nextcloud
nextcloud.nextcloud-fixer
nextcloud.apache
nextcloud.php-fpm
nextcloud.mdns-publisher
nextcloud.redis-server
nextcloud.mysql
nextcloud.renew-certs
nextcloud.nextcloud-cron
将上述服务一项一项启动,(例如:sudo snap start nextcloud.apache), 启动了四五项之后,在浏览器中就可以访问Nextcloud了。
安装之后,按照官方文档的说法,是要将访问服务的IP地址或域名添加到受信任域名白名单的,这样,我们才能从其他IP地址访问Nextcloud服务。我们先找一下配置文件config.php的位置:
sudo find / -name config.php
找到之后,对其进行编辑:
sudo vim /var/snap/nextcloud/21522/nextcloud/config/config.php
![61fb9176717cd94e63a93f10f7c12aa3.png](https://i-blog.csdnimg.cn/blog_migrate/1848fd90099ebc640938fd31d6f73ed2.png)
localhost域名是默认受信任的,即用户可以在安装了Nextcloud服务端的机器上直接访问Nextcloud服务。但是当我将自己的手机IP,还有和树莓派在同一网段下的我的电脑的IP添加到白名单里的时候,无论是我的手机还是电脑,都不能访问Nextcloud服务,提示正在通过不受信任的域名访问(我使用了内网穿透,对树莓派的80端口进行了公网映射)。最后一时想不到其他办法,只能将所有域名默认放行,如图中 5 => '*.*.*.*', 所示,但是登录后竟然发现账号里没有任何文件(Nextcloud服务初始化后会产生默认文件),然后,我把Nextcloud服务的公网地址(内网穿透)填上,如图中4所示。最后,问题成功解决。