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搭建私有同步云盘的更多相关文章

  1. 使用NextCloud搭建私有网络云盘并支持Office文档在线预览编辑以及文件同步

    转载自:https://www.bilibili.com/read/cv16835328?spm_id_from=333.999.0.0 0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私 ...

  2. 使用OwnCloud搭建自己的云盘

    使用OwnCloud搭建自己的云盘 1.用途 ownCloud是一款开源的私有云框架,可以通过它实现个人网盘的功能,ownCloud提供了各个平台的文件同步客户端,因此搭建好ownCloud之后即可使 ...

  3. 百度云网速慢?普通VIP也限速?用户激励措施太套路?Pandownload被举报?这些统统没关系,我们自己搭建一个私人云盘服务器

    前言 前几天醒来后,照例耍手机看新闻.在疫情如此严重的档口,一则小小的新闻引起了我内心小小的波动:Pandownload作者被举报了....心里第一件事就是可惜了我盘上的那N多个T的小电影了,&quo ...

  4. 利用Sinopia搭建私有npm包

    1.安装sinopia包 npm install -g sinopia 如果是Windows系统用上面的方式安装sinopia很有可能报错,推荐使用下面方式安装: npm install sinopi ...

  5. CentOS7下一键小白搭建seafile pro云盘

    搭建前准备工作 vps或者云服务器,个人搭建使用建议腾讯云,公司搭建使用建议阿里云. 没有服务器的小伙伴可以下面链接进入看下,腾讯云的配置带宽会比阿里云的好点. 阿里云新人优惠服务器 腾讯云云上特惠 ...

  6. Nextcloud私有云盘在Centos7下的部署笔记

    搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.初一看觉得“口气”不小,刚推出来就重新“定义”了Clo ...

  7. 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”

    原创作者:HackLiu 0×00 前言 ‍ ‍ 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...

  8. 使用树莓派制作一套“NAS+私有云盘+下载机”

    ‍ ‍‍原创作者:HackLiu‍‍ ‍ 0×00 前言 ‍‍如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司 ...

  9. linux下使用URLOS搭建nextcloud私有云盘系统

    Nextcloud是一个免费专业的私有云存储网盘开源项目,可以让你简单快速地在个人/公司电脑.服务器甚至是树莓派等设备上架设一套属于自己或团队专属的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本 ...

  10. 小小白搭建nextcloud云盘

    我是一名linux的小小白,今天就利用自己的所学搭建属于自己的云盘——nextcloud. 本人学生狗,普通的云盘也要几十块钱,既然我们只是拿来搭建巩固自己知识并不做为生产力,我们就用VMware W ...

随机推荐

  1. n-Queens(n皇后)问题的简单回溯

    package com.main; import java.util.LinkedList; public class NoQueue { public LinkedList<Node> ...

  2. url not set

    UrI not set 原因与处理方法 今天下午跑代码时发现,上午能跑的代码下午跑不了了.一直报 Url not set错误. 出现这个问题的主要原因,是因为代码中的@ConfigurationPro ...

  3. manjaro安装指导

    本文"指导"二字口气有点大,是说给自己听的,指导我下次的安装. 正文: 1.安装系统:在清华大学开源站上下载KDE版(本机适用19版54内核无驱动问题),用rufus烧制启动盘,以 ...

  4. mysql取消/开启外键约束

    删除外键约束: SET foreign_key_checks=0; 启动外键约束: SET foreign_key_checks=1;

  5. Oracle数据库安装时,安装报错ins_emagent.mk

    安装oracle数据库过程中,通过图形界面安装,出现ins_emagent.mk报错提示 解决方法 修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将$(MK_EMA ...

  6. 大数据组件对应Ranger插件的选择

    在都是开源组件的前提下,一般需要我们多关注到组件和插件的版本和类型选择. 参考 https://zhuanlan.zhihu.com/p/370263573 https://www.bookstack ...

  7. Leecode 141.环形链表(Java 快慢指针)

        想法: 1:遍历链表,每次判断节点是否被访问过.(哈希表) 2:快慢指针(看题解之后)     两个指针pq都在head头指针开始(初始化):     快指针每次走两步,慢指针每次走一步,如果 ...

  8. MySQL存储过程札记

    DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT * FROM products; END //DELIMITER ; 第一个命令 ...

  9. 前端程序员需要了解的MySQL

    数据库的基本概念 数据库(database)是用来组织.存储和管理数据的仓库.对数据库中的数据可以进行增删改查操作.市面上常见的数据库有: MySQL(使用最广泛.流行度最高的开源免费数据库 Comm ...

  10. web初始:html记忆

    12.13html框架 <! DOCTYPE html> <html lang="zh-CN"> <head> <meta charset ...