利用Nextcloud搭建私有同步云盘
1. 简介
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。

Nextcloud也提供了许多应用安装,包括但不限于Markdown在线编辑、OnlyOffice(需另外部署服务端)、思维导图、日历等,你可以自行选择以丰富个人网盘的功能。

Nextcloud的服务端部署方式有很多种,本文会介绍两种方法(基于LNMP和基于Docker),读者可以根据自己情况进行选择一种部署方式。服务器需要是Linux操作系统,你可以在本地安装一个虚拟机进行测试,然后再到云服务器上部署。注意Windows系统不支持,建议装个虚拟机。Mac系统理论上支持,可以参考Linux教程来操作。Ubuntu系统支持snap一键安装,甚至安装系统时都提供安装nextcloud的选项。
2. 基于LNMP部署Nextcloud服务端
对于一个空白的Linux系统而言,部署的基本流程如下:安装LNMP运行环境 --> 通过Web Installer安装。这个部署方式跟搭建一个网站是一样的,比较简单。
2.1 安装LNMP运行环境
我是通过宝塔面板安装的LNMP运行环境,当然你也可以选择其他的方式。安装面板比较简单,只需复制粘贴一行命令即可搞定,进入教程查看不同操作系统的对应命令。
# 这里以CentOS7为例,安装需要一段时间,安装完成后会显示面板地址、用户名和密码
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装需要一段时间,安装完成后会显示面板地址、用户名和密码。访问面板地址(如果不能访问,请查看端口是否打开),选择安装它推荐的LNMP套件(我修改php的版本为7.2,这样可以提升性能),等待安装完毕。

2.2 通过Web Installer安装
在宝塔面板网站管理页面,点击添加站点,域名一栏填写你将要访问Nextcloud的域名(此处以http://nextcloud.example.com为例),并选择创建MySQL数据库,点击提交(保存数据库用户名和密码等)。

从Nextcloud官网下载setup-nextcloud.php,并上传至网站根目录(/www/wwwroot/nextcloud.example.com)下。
访问http://nextcloud.example.com/setup-nextcloud.php,即可见如下安装界面。

现在你可以按照提示一步步完成部署(可能下载速度比较缓慢),填写刚才创建网站时生成的用户名和密码等。

3. 基于Docker部署Nextcloud服务端
选择以Docker的方式来部署nextcloud是因为Docker可以跨平台上运行,可以确保执行环境的一致性,有利于应用的迁移和管理。
服务端部署的基本流程是:安装Docker并启动 --> 运行Nextcloud容器 --> 访问Web端初始化。
3.1 安装Docker并启动
这里我以一个空白的CentOS7(安装虚拟机可参见文章)为例,其他操作系统Docker的安装参见官方文档。
#step1 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#step2 添加yum源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#step3 安装Docker社区版并启动
yum -y install docker-ce docker-ce-cli containerd
systemctl start docker
#step4 配置Docker国内镜像加速
#由于国内网络问题,不修改后面拉取镜像的速度会太慢
vi /etc/docker/daemon.json
#写入如下内容并保存(更新:由于下面这个源仍然速度比较慢,强烈推荐使用阿里云等的国内加速源)
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
#step5 重新启动服务
systemctl daemon-reload
systemctl restart docker
3.2 运行Nextcloud容器
当你的操作系统安装好Dokcer,我们可以启动Nextcloud容器(会自动拉取镜像,注意可能下载会比较慢,你可以尝试更换源),参数含义如下:
-d #容器后台运行
--name nextcloud #容器名
-v /data/nextcloud:/var/www/html #将宿主机的目录/data/nextcloud挂载到容器的/var/www/html
-p 8000:80 #将宿主机的端口(此处以8000为例)映射到容器的80端口
docker run -d \
--name nextcloud \
-p 8000:80 \
-v /data/nextcloud:/var/www/html \
nextcloud
3.3 访问Web端初始化
第一次使用nextcloud要通过Web端进行配置,如果你是本地虚拟机上测试的话,则需要打开对应端口,如果你使用的是腾讯云、阿里云等的云服务器,则需要配置安全组规则。
访问http://{你的服务器ip地址}:{端口},第一次访问要设置管理员用户名和密码,如果是单人使用,可以直接使用SQLite作为数据库,否则建议其他的数据库后端,点击安装完成完成部署。

4. 其他
Ubuntu支持snap安装,仅需一行代码
sudo snap install nextcloud
也提供预先安装好nextcloud的虚拟机,参见Nextcloud VM。
利用Nextcloud搭建私有同步云盘的更多相关文章
- 使用NextCloud搭建私有网络云盘并支持Office文档在线预览编辑以及文件同步
转载自:https://www.bilibili.com/read/cv16835328?spm_id_from=333.999.0.0 0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私 ...
- 使用OwnCloud搭建自己的云盘
使用OwnCloud搭建自己的云盘 1.用途 ownCloud是一款开源的私有云框架,可以通过它实现个人网盘的功能,ownCloud提供了各个平台的文件同步客户端,因此搭建好ownCloud之后即可使 ...
- 百度云网速慢?普通VIP也限速?用户激励措施太套路?Pandownload被举报?这些统统没关系,我们自己搭建一个私人云盘服务器
前言 前几天醒来后,照例耍手机看新闻.在疫情如此严重的档口,一则小小的新闻引起了我内心小小的波动:Pandownload作者被举报了....心里第一件事就是可惜了我盘上的那N多个T的小电影了,&quo ...
- 利用Sinopia搭建私有npm包
1.安装sinopia包 npm install -g sinopia 如果是Windows系统用上面的方式安装sinopia很有可能报错,推荐使用下面方式安装: npm install sinopi ...
- CentOS7下一键小白搭建seafile pro云盘
搭建前准备工作 vps或者云服务器,个人搭建使用建议腾讯云,公司搭建使用建议阿里云. 没有服务器的小伙伴可以下面链接进入看下,腾讯云的配置带宽会比阿里云的好点. 阿里云新人优惠服务器 腾讯云云上特惠 ...
- Nextcloud私有云盘在Centos7下的部署笔记
搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.初一看觉得“口气”不小,刚推出来就重新“定义”了Clo ...
- 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...
- 使用树莓派制作一套“NAS+私有云盘+下载机”
原创作者:HackLiu 0×00 前言 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...
- linux下使用URLOS搭建nextcloud私有云盘系统
Nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑.服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本 ...
- 小小白搭建nextcloud云盘
我是一名linux的小小白,今天就利用自己的所学搭建属于自己的云盘——nextcloud. 本人学生狗,普通的云盘也要几十块钱,既然我们只是拿来搭建巩固自己知识并不做为生产力,我们就用VMware W ...
随机推荐
- Python爬虫之Scrapy框架爬虫实战
Python爬虫中Scrapy框架应用非常广泛,经常被人用于属于挖掘.检测以及自动化测试类项目,为啥说Scrapy框架作为半成品我们又该如何利用好呢 ?下面的实战案例值得大家看看. 目录: 1.Scr ...
- 消息队列 RocketMQ4.x介绍和新概念讲解
消息队列 RocketMQ4.x介绍和新概念讲解 Apache RocketMQ作为阿里开源的一款高性能.高吞吐量的分布式消息中间件 RocketMQ4.x特点 支持Broker和Consumer端消 ...
- 2003031120—廖威—Python数据分析第四周作业—matplotlib的学习
项目 内容 课程班级博客链接 20级数据班(本) 这个作业要求链接 python数据分析第四周作业要求 博客名称 2003031120-廖威-Python数据分析第四周作业-matplotlib的学习 ...
- jsp第三个作业
main.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf ...
- .Net Core 前后端分离 DevOps 系列
前言: 目录: Linux 安装脚本之乌班图版本 Linux Nginx部署 DevOps安装步骤
- 前端复习之css
1.css概述 1 1.CSS3概述 2 1.问题 3 1.设置页面中所有的文本颜色为红色 4 2.设置页面中所有div的文本的颜色为蓝色 5 3.将所有的div的文本的颜色改为黄色 6 7 HTML ...
- java锁之初相见
废话不多说,先上锁的分类图 1.乐观锁&悲观锁 悲观锁 悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,把别的线程阻塞住,最终确保数据不会被别的线程修改. ...
- el-admin登录详解
1.进入登陆界面后,就会自动获取验证码. 2.前端访问auth/code接口获取后端生成的验证码(包括uuid,img,结果值),然后放入redis,设置2分钟过期,并返回识别码.图片url给前端. ...
- docker基本操作 备忘
docker 基本操作 通过镜像运行容器 - docker run -d -it -p 5555:5555 镜像名 启动容器,并将进入容器中的bash命令行 进入容器 - docker attach ...
- 【Beat】Scrum Meeting 4
时间:2021年6月29日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 继续进行bug的修改 4 荣娟 继续进行bug的修改 4 亚楠 继续进行bug的修改 4 桂婷 ...