Nextcloud私有云盘-重新定义云存储体验

news2024/11/17 0:17:26

Nextcloud私有云盘-重新定义云存储体验

1. 什么是Nextcloud

​ Nextcloud是一个开源的云存储和协作平台,旨在为个人用户、企业和团队提供安全、隐私保护的数据存储和共享解决方案。它允许您在不同设备之间同步、共享文件,提供了强大的协作工具和应用生态系统。

  • 功能特点
  1. 文件同步与分享:通过Nextcloud,您可以轻松地在不同设备之间同步和共享文件。无论是照片、视频、文档还是其他文件类型,都可以方便地访问和共享。

  2. 安全与隐私:Nextcloud致力于保护您的数据安全和隐私。它提供端到端加密功能,确保您的数据在传输和存储过程中始终受到保护。

  3. 团队协作:Nextcloud不仅适用于个人用户,也是团队协作的理想选择。通过共享文件夹、日历、联系人等功能,团队成员可以轻松地共享和协作,提高工作效率。

  4. 丰富的应用生态系统:Nextcloud拥有丰富的应用生态系统,涵盖了各种实用工具和功能,如日历、联系人管理、文件同步等,满足您不同的需求。

  5. 灵活的部署:Nextcloud可以在各种环境中部署,包括自己的服务器、私有云、公共云,甚至是混合部署。这使得Nextcloud成为适合个人和企业的理想解决方案。

  • 为什么选择Nextcloud
  1. 数据掌控权:Nextcloud让您重新获得对数据的掌控权,不再依赖于第三方云服务提供商。

  2. 安全保障:Nextcloud提供先进的安全功能,包括加密传输和端到端加密,确保您的数据始终受到保护。

  3. 灵活性与可扩展性:Nextcloud具有很高的灵活性和可扩展性,可以根据您的需求进行定制和扩展。

  4. 开源社区支持:Nextcloud是一个开源项目,拥有庞大的开源社区支持,不断推动平台的发展和改进。

2. Nextcloud安装部署

2-1. 安装准备

下载安装包

  • 整合资源分享

分享本人部署的整合工具包:

链接:https://pan.baidu.com/s/10vt_SqnWHvFdHxsIKoCy8Q?pwd=r2gl
提取码:r2gl

# 网盘资源下载至服务器解压:tar -xf nextcloud_install.tar.gz
[root@wangting666 nextcloud_install]# ll
total 1678856
-rw-r--r-- 1 root root        781 May  8 17:13 docker-compose.yml
drwxr-xr-x 2 root root       4096 May  8 17:14 install_docker
-rw------- 1 root root  399751680 May  8 11:02 mariadb.tar
-rw------- 1 root root 1319373312 May  8 11:01 nextcloud.tar
-rwxr-xr-x 1 root root        311 May  8 17:15 useradd_all.sh
-rw-r--r-- 1 root root         82 May  8 17:15 userlist.txt

包含了官方近期最新的镜像,compose编辑好的定义文件、一键部署docker脚本、批量添加用户脚本等等功能的集合包

  • 官方下载

https://nextcloud.com/ 通过download下载

2-2. 安装docker与docker-compose

  • 注意服务器没有docker环境情况下才需要安装docker
[root@wangting666 nextcloud_install]# cd install_docker/
[root@wangting666 install_docker]# ll
total 94456
-rw-r--r-- 1 root root 70191972 Jan 30 16:51 docker-24.0.8.tgz
-rwxr-xr-x 1 root root 26525696 May  8 11:05 docker-compose
-rwxr-xr-x 1 root root     2725 May  8 17:14 install_docker.sh
[root@wangting666 install_docker]# bash install_docker.sh docker-24.0.8.tgz

注意:

  1. 需要在install_docker.sh脚本所在路径执行bash install_docker.sh docker-24.0.8.tgz

  2. 默认已经有docker-24.0.8,如果需要安装其它版本需要自行下载,脚本中有介绍

    官方下载地址:https://download.docker.com/linux/static/stable/x86_64/

  3. 需要用root用户或者有sudo权限的普通用户

  4. 一键脚本包含安装docker-compose

2-3. nextcloud服务安装

  • 安装目录创建
[root@hdt-dmcp-nextcloud nextcloud]# mkdir -p /data/nextcloud/{nginx,db,app}

注意:

  1. nginx目录存放nginx相关配置、db目录存放应用自身的系统数据、app存放应用数据和用户数据
  2. /data 路径需要有足够的存储空间
  • docker-compose.yaml任务定义
[root@wangting666 nextcloud_install]# cp docker-compose.yml /data/nextcloud/
[root@wangting666 nextcloud_install]# cd /data/nextcloud/
[root@wangting666 nextcloud]# vim docker-compose.yml 
version: '2'

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    networks:
      - nextcloud_netbridge
    volumes:
      - /data/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=wangting_666
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 80:80
    networks:
      - nextcloud_netbridge
    links:
      - db
    volumes:
      - /data/nextcloud/app:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

networks:
  nextcloud_netbridge:
    driver: bridge

注意:

  1. volumes相关配置需要改成本地真实的路径,volumes中的值前面为本地映射目录,后面为容器中的路径
  2. 在db中的environment配置中,MYSQL_ROOT_PASSWORD可以修改root密码等等相关信息,但一定要保证app中的指定environment信息需匹配上db中的定义,
  3. app中的ports -80:80,含义为把容器中的80端口映射到本地的80端口,如果本地80端口已使用,这里需要更换,例如-1088:80
  • 镜像导入
[root@hdt-dmcp-nextcloud nextcloud]# docker load -i mariadb.tar 
[root@hdt-dmcp-nextcloud nextcloud]# docker load -i nextcloud.tar 
[root@wangting666 nextcloud_install]# docker images
REPOSITORY   TAG              IMAGE ID       CREATED         SIZE
nextcloud    latest           f49cee8b0306   2 weeks ago     1.29GB
mariadb      10.5             c65b1e141932   2 months ago    394MB

注意:如果不想使用分享包中的镜像版本,且服务器是无互联网限制,可以自行去拉取官方镜像

但需要对应修改docker-compose.yaml中的image

docker pull mariadb:版本号
docker pull nextcloud:版本号
  • 启动服务
[root@wangting666 nextcloud_install]# cd /data/nextcloud/
[root@hdt-dmcp-nextcloud nextcloud]# docker-compose -f /data/nextcloud/docker-compose.yml up -d
[+] Running 3/3
 ⠿ Network nextcloud_nextcloud_netbridge  Created                                                                                                                                                                                      0.0s
 ⠿ Container nextcloud-db-1               Started                                                                                                                                                                                      0.3s
 ⠿ Container nextcloud-app-1              Started    

[root@hdt-dmcp-nextcloud nextcloud]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                NAMES
e0af6417141a   nextcloud      "/entrypoint.sh apac…"   14 seconds ago   Up 13 seconds   0.0.0.0:80->80/tcp   nextcloud-app-1
53bc6911afb1   mariadb:10.5   "docker-entrypoint.s…"   14 seconds ago   Up 13 seconds   3306/tcp             nextcloud-db-1

服务此时已经启动成功

  • 打开URL配置

URL地址为主机ip与yml中app的port配置端口

第一次登录需要进行页面的管理员信息配置与服务安装

后续一些辅助工具都可以跳过暂时不安装,安装完毕后即可登录

3. nextcloud使用

3-1. 登录界面

登录后界面

左上角主要为功能区,右上角为信息区(个人、好友、消息提醒、搜索)

文件存放中,初始会有一些示例文档等等,可以自行删除

3-2. windows工具(可选)

下载地址:https://github.com/nextcloud/desktop/releases/

去查找Release版本中Assets有msi安装文件的下载安装即可

例如:https://github.com/nextcloud/desktop/releases/download/v3.6.0/Nextcloud-3.6.0-x64.msi

安装配置nextcloud连接URL即可打开使用

可以添加本地目录与云文件夹同步,例如本地E:\nextcloud与云文件夹upload目录

3-3. 用户管理

通过管理员可以增删改查用户组和用户,分享文件可以进行人员分享以及组分享等等

当我们添加用户需要加到指定组时,需要先创建出这个组

  • 批量添加用户

当我们需要加大量用户时,界面操作效率低下,可以通过接口调用实现,所以可以通过脚本进行批量操作

[root@wangting666 nextcloud_install]# cat useradd_all.sh 
#!/bin/sh
txt_file="userlist.txt"
while IFS=, read -r userid password
do
  echo "用户ID: $userid, 密码: $password"
  curl -X POST http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users -d userid="$userid" -d password="$password" -H "OCS-APIRequest: true" -d groups[]="bigdata"
done < "$txt_file"


[root@wangting666 nextcloud_install]# cat userlist.txt 
zhangsan,Bigdata123A456
lisi,Bigdata123A456
wangwu,Bigdata123A456
zhaoliu,Bigdata123A456

注意需要更改脚本中的部分内容

http://wangting:Bigdata123456@122.9.33.66

http://管理员账号:管理员密码@服务器地址

  • 必须以管理员账号登录才有权限添加用户
  • -d group[ ]=“bigdata” 表示将用户加入到这个组里,需要提前创建组,创建用户也可以不加组,删除这段内容即可
  • <statuscode>200</statuscode>返回200则表示创建成功

执行添加

[root@wangting666 nextcloud_install]# bash useradd_all.sh 
用户ID: zhangsan, 密码: Bigdata123A456
<?xml version="1.0"?>
<ocs>
 <meta>
  <status>ok</status>
  <statuscode>200</statuscode>
  <message>OK</message>
 </meta>
 <data>
  <id>zhangsan</id>
 </data>
</ocs>
用户ID: lisi, 密码: Bigdata123A456
<?xml version="1.0"?>
<ocs>
 <meta>
  <status>ok</status>
  <statuscode>200</statuscode>
  <message>OK</message>
 </meta>
 <data>
  <id>lisi</id>
 </data>
</ocs>
...
...

执行成功后即完成了批量添加效果

  • 删除用户
curl -X DELETE http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/username -H "OCS-APIRequest: true"
例如
[root@wangting666 ~]# curl -X DELETE http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/zhangsan -H "OCS-APIRequest: true"
<?xml version="1.0"?>
<ocs>
 <meta>
  <status>ok</status>
  <statuscode>200</statuscode>
  <message>OK</message>
 </meta>
 <data/>
</ocs>
  • 禁用用户
curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/username/disable -H "OCS-APIRequest: true"
例如
[root@wangting666 ~]# curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/lisi/disable -H "OCS-APIRequest: true"
<?xml version="1.0"?>
<ocs>
 <meta>
  <status>ok</status>
  <statuscode>200</statuscode>
  <message>OK</message>
 </meta>
 <data/>
</ocs>

# 再次启用
curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/lisi/enable -H "OCS-APIRequest: true"
  • 添加用户至组
curl -X POST http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/wangwu/groups -d groupid="test" -H "OCS-APIRequest: true"

3-4. nextcloud维护

  • 数据库维护
# 查看数据库容器的ID
[root@wangting666 nextcloud]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED       STATUS       PORTS                               NAMES
32eb670ba257   nextcloud      "/entrypoint.sh apac…"   8 hours ago   Up 8 hours   0.0.0.0:80->80/tcp, :::80->80/tcp   nextcloud-app-1
e8fed9feffcf   mariadb:10.5   "docker-entrypoint.s…"   8 hours ago   Up 8 hours   3306/tcp                            nextcloud-db-1

# 进入数据库(数据库密码为yml文件中定义)
[root@wangting666 nextcloud]# docker exec -it e8fed9feffcf /bin/bash
root@e8fed9feffcf:/# mysql -uroot -p
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nextcloud          |
| performance_schema |
+--------------------+
MariaDB [(none)]> use nextcloud;

# 巡检或者查看一些基本信息,可以找相关表进行查询
# 例如group
MariaDB [nextcloud]> select * from oc_group_user;
+--------------+----------+
| gid          | uid      |
+--------------+----------+
| admin        | wangting |
| bigdata      | lisi     |
| bigdata      | wangwu   |
| bigdata      | zhaoliu  |
+--------------+----------+
4 rows in set (0.000 sec)

# 用户信息
MariaDB [nextcloud]> select * from oc_users limit 2 \G;
*************************** 1. row ***************************
        uid: lisi
displayname: NULL
   password: 3|$argon2id$v=19$m=65536,t=4,p=1$U0RpdjdEQ1Y0di5uTy4zcw$mdvQ1wXrYJVyGq6rndgP6YVDbLzdtpCm/yUBSj7GC7U
  uid_lower: lisi
*************************** 2. row ***************************
        uid: wangt
displayname: NULL
   password: 3|$argon2id$v=19$m=65536,t=4,p=1$SWlGaGRiaWlYRlRNdHA2OQ$yV9hG61R8NLxn7mnR/K6a6TvJRMO+My/lYZO0NRljEE
  uid_lower: wangt
2 rows in set (0.000 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1664767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode:设置顶部文件标签页滚动条的宽度

使用VSCode打开多个文件后&#xff0c;顶部的文件标签可以通过滚动条进行滚动&#xff0c;但是缺点是该滚动条太窄了&#xff0c;不好选择。 可以通过如下方法修改改滚动条的宽度&#xff1a; 1.点击设置 2.选择工作台->编辑管理->Title Scrollbar Sizing->Large 3.可…

MSP430环境搭建

1.下载ccs编译器 注意&#xff1a;安装路径和工作路径不能出现中文&#xff01; 没有说明的步骤就点next即可&#xff01; 1.1下载适合自己电脑的压缩包。 下载好压缩包后解压&#xff0c;点击有图标进行安装。 1.2创建一个文件夹用于安装编译器位置 选择安装地址&#xff0…

FFmpeg常用API与示例(四)——过滤器实战

1.filter 在多媒体处理中&#xff0c;filter 的意思是被编码到输出文件之前用来修改输入文件内容的一个软件工具。如&#xff1a;视频翻转&#xff0c;旋转&#xff0c;缩放等。 语法&#xff1a;[input_link_label1]… filter_nameparameters [output_link_label1]… 1、视…

Mybatis操作数据库的两种方式:原生API

mybatis操作数据的两种方式&#xff1a;原生api和mapper代理对象 1.mybatis的api提供的方法 insert() 增加 delete() 删除 update() 更新 selectOne() 返回一个数据 selectList() 返回多个数据&#xff0c;结果类型为List selectMap() 返回多个数据&…

YOLOv5-7.0改进(四)添加EMA注意力机制

前言 关于网络中注意力机制的改进有很多种&#xff0c;本篇内容从EMA注意力机制开始&#xff01; 往期回顾 YOLOv5-7.0改进&#xff08;一&#xff09;MobileNetv3替换主干网络 YOLOv5-7.0改进&#xff08;二&#xff09;BiFPN替换Neck网络 YOLOv5-7.0改进&#xff08;三&…

net 7部署到Linux并开启https

1.修改代码设置后台服务运行 安装nuget包 Install-Package Microsoft.Extensions.Hosting.WindowsServices Install-Package Microsoft.Extensions.Hosting.Systemd在Program代码中设置服务后台运行 var builder WebApplication.CreateBuilder(args);if (System.OperatingS…

x6.js bug记录-流程图json数据导入进来之后拖拽节点,节点直接飞走了

添加josn数据进来之后虽然能正常渲染&#xff0c;但是只要一拖拽&#xff0c;则节点就直接飞走了&#xff0c;看不到了。 找了一下午的问题&#xff0c;最后发现。保存的json坐标位置是字符串类型&#xff0c;而这边的位置必须是数字类型。如下&#xff1a; {position: { x: &…

词令蚂蚁新村今日答案:微信小程序怎么查看蚂蚁新村今天问题的正确答案?

微信小程序怎么查看蚂蚁新村今天问题的正确答案&#xff1f; 1、打开微信&#xff0c;点击搜索框&#xff1b; 2、打开搜索页面&#xff0c;选择小程序搜索&#xff1b; 3、在搜索框&#xff0c;输入词令搜索点击进入词令微信小程序&#xff1b; 4、打开词令微信小程序关键词口…

基于Matplotlib的模型性能可视化工作

一、项目简介 本项目是科技考古墓葬识别工作的中间过程&#xff0c;因为需要大量复用所以另起一章好了。 主要涉及到数据读取、数据可视化和少量的数据处理过程。 二、相关知识 PandasMatplotlib 三、实验过程 1. 数据探索性分析 1.1 准备工作–导入模块 import pandas…

考研入门55问---基础知识篇

考研入门55问---基础知识篇 01 &#xff1e;什么是研究生入学考试&#xff1f; 研究生是指大专和本科之后的深造课程。以研究生为最高学历, 研究生毕业后&#xff0c;也可称研究生&#xff0c;含义为研究生学历的人。在中国大陆地区&#xff0c;普通民众一般也将硕士毕业生称…

JavaSE基础小知识Ⅱ(很容易错!!!)

1. 变量被final修饰后不能再指向其他对象&#xff0c;但可以重写 如果是引用变量被final修饰&#xff0c;那么的确如此&#xff1b; 基本变量不能重写 2. 下列代码的输出结果是&#xff1f; public class Test {static {int x 5; }static int x,y; public static void ma…

conan2 基础入门(01)-介绍

conan2 基础入门(01)-介绍 文章目录 conan2 基础入门(01)-介绍⭐什么是conan官网Why use Conan? ⭐使用现状版本情况个人知名开源企业 ⭐ConanCenter包中心github ⭐说明文档END ⭐什么是conan 官网 官网&#xff1a;Conan 2.0: C and C Open Source Package Manager 一句话来…

【Linux:lesson1】的基本指令

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f697;打开Xshell&#xff0c;登陆root…

个人网站快速搭建手册:低成本,高效率,轻松发布

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;React篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来-快速构建个人站|博客|系统,低成本发布上线 目录 前言 博主主页搭建案例 虚拟主机|服务器|域名 使用免费二级…

python实现九宫格图片切割

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 朋友圈九宫格是一种在社交媒体上展示图片或内容的常见布局方式,特别是在微信朋友圈中非常流行。这种布局由九个相同大小的格子组成,通常用于展示一组相关的图片或内容。&…

线程知识点

一、线程 1.定义 线程&#xff1a;是一个进程并发执行多种任务的机制。 串行&#xff1a;多个任务有序执行&#xff0c;一个任务执行完毕后&#xff0c;再去执行下一个任务 并发&#xff1a;多个任务在单个CPU上运行&#xff0c;同一个时间片上只能运行一个任务&#xff0c;c…

数据的均匀化分割算法(网格划分法、四叉树法(含C++代码))

数据的均匀化分割主要是指在分割过程中尽可能均匀地将数据点分布在各个子区域中&#xff0c;以保持数据分布的平衡和优化数据结构的性能。以下是几种可以实现数据均匀化分割的方法&#xff1a; 一. 网格划分法 1. 基本概念 虽然传统的网格划分法不是动态调整的&#xff0c;但通…

软件验收计划书-验收规程(Word原件)

编写软件验收计划是软件开发过程中的一个关键步骤&#xff0c;其重要性体现在以下几个方面&#xff1a; 明确验收标准&#xff1a;软件验收计划详细列出了验收的标准、测试方法、测试环境等&#xff0c;确保所有相关人员对验收的期望和要求有清晰的认识。这有助于避免在验收阶段…

Ansible---自动化运维工具

一、Ansible概述 1.1 Ansible简介 Ansible是一款自动化运维工具&#xff0c;通过ssh对目标主机进行配置、应用部署、任务执行、编排调度等操作。它简化了复杂的环境管理和自动化任务&#xff0c;提高了工作效率和一致性&#xff0c;同时&#xff0c;Ansible的剧本(playbooks)…

centos7.9升级4.19内核

centos默认的内核版本是3.10 通过命令 uname -a 输出系统的详细信息 在部署k8s集群时使用默认的3.10版本的内核&#xff0c;容易出各种奇奇怪怪的问题、可以理解为docker和k8s与该内核版本不兼容&#xff0c;所以在部署k8s集群时&#xff0c;务必要升级内核&#xff0c;这里…