相比于笔者此前介绍的CloudDrive和Cloudreve,本文要介绍的Nextcloud更加强大,支持部署在Windows、Linux、macOS,最最重要的是,它的客户端支持各种主流的平台,包括Web、Windows、Mac、Android、iOS、Linux 等,这一点是CloudDrive和Cloudreve不能比的。另外,不但可以管理文件,还可以安装各类插件,例如笔记,便签,任务清单,会议,办公office等等,可玩性也比较高。下面就介绍下如何使用Docker来安装部署Nextcloud。
准备工作
- 创建应用目录,例如在/share/Container下创建文件夹
nextcloud
- 在
nextcloud
下再创建html
文件夹 - NAS上安装好docker-compose
部署Nextcloud
Nextcloud发布了好几个Nextcloud的Docker镜像:
nextcloud
镜像,基于Apache,就是镜像内容包含了Apache服务器,可能需要修改config.php
配置文件,建议使用nextcloud:fpm
镜像,这个镜像只包括nextcloud应用本身,需要配合代理服务器才能使用,但是我试了完全打不开,不建议使用nextcloud/all-in-one
镜像,这个镜像除了包含nextcloud本身外,还会自动启动数据库和代理服务器的容器,如果你已经单独启动了这些容器,可能会发生冲突,不建议使用
基于以上情况,本文我们就使用nextcloud
镜像来部署Nextcloud,并使用NPM来做代理。
第一步、 在/share/Container/nextcloud
文件夹下创建docker-compose.yml文件,并将下面内容粘贴进去,保存:
version: "3.8"
services:
nextcloud:
container_name: nextcloud
image: nextcloud
restart: unless-stopped
network_mode: bridge
environment:
TZ: Asia/Shanghai
PUID: 1000
PGID: 100
UMASK: 022
ports:
- "9000:80"
volumes:
- /share/Container/nextcloud/html:/var/www/html
需要说明的是,nextcloud支持多种数据库,包括Mysql/MariaDB、PostgreSQL和SQLite,我们使用SQLite完全足够。
第二步、 在NAS的SSH中执行以下命令:
docker-compose up -d
等待容器启动完成,然后在浏览器中使用IP+端口号<9000>就可以打开Nextcloud了。
第三步、 配置反向代理,笔者使用的是NPM,直接在Proxy Hosts
增加一条即可
配置和运行Nextcloud
经过上面的操作,实际上Nextcloud已经跑起来了,但是,当你在浏览器中打开它时,你极有可能看到下面这个界面:
无法向配置文件目录写入数据,也就是它没有写入权限。解决这个问题很简单,从终端中进入nextcloud容器,然后修改/var/www/html/config
目录的读写权限即可,简单粗暴点,直接设置为777
docker exec -it nextcloud /bin/bash
chmod 777 /var/www/html/config
exit
上面操作完以后,重新刷新浏览器,就能正常打开了。下面就可使对Nextcloud进行设置:
1、创建管理员帐号和数据库配置
- 输入用户名和密码
- 数据库选择SQLite即可,如果想用Mysql/MariaDB或PostgreSQL,点击后按照要求填写即可
- 点击
安装
,等待安装完成,大概2分钟左右 - 安装完成后,会自动跳到安装插件页面(注意,跳转的时候会把域名的端口自动去掉,导致打不开页面,自己手工加上即可)
2、安装插件
可以选择跳过,或点击安装推荐应用。选择安装推荐应用,系统就会自动开始安装一些插件,你也可以后续继续安装其他的插件。
3、简单使用
以上完成以后,就进入到个人的用户界面了,可以对文件进行上传、下载、分享等。你也可以在管理设置
中对系统进行各种设置,在应用
中安装和管理各类插件来增强Nextcloud功能。
使用Nextcloud客户端
前面提到过,Nextcloud的客户端支持各种主流的平台,甚至还有基于Nextcloud的社交、笔记类App,只需下载相应平台的App后,使用你的域名+帐号密码即可完成登录,这样你就可以将文件在各类终端中同步了。下面以iOS平台为例,简单介绍下如何使用,其他平台的客户端也都是类似操作。
第一步, 当然是下载Nextcloud啦,直接在App Store中搜索即可
第二步, 打开App,点击登录
,输入你的Nextcloud地址,比如域名或IP,点后点击后面的箭头,跳转到登录界面
第三步、 点击Log in
按钮,输入你的Nextcloud帐号和密码,点登录
即可。
注意,如果你的域名使用了https,则需要修改一个配置才行,否则当你点击登录
后,可能看到的是下面的报错:
打开/var/www/html/config/config.php
文件,在最后增加一个配置:
'overwriteprotocol' => 'https'

文章评论