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

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.5restart: alwayscommand: --transaction-isolation=READ-COMMITTED --binlog-format=ROWnetworks:- nextcloud_netbridgevolumes:- /data/nextcloud/db:/var/lib/mysqlenvironment:- MYSQL_ROOT_PASSWORD=wangting_666- MYSQL_PASSWORD=nextcloud- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloudapp:image: nextcloudrestart: alwaysports:- 80:80networks:- nextcloud_netbridgelinks:- dbvolumes:- /data/nextcloud/app:/var/www/htmlenvironment:- MYSQL_PASSWORD=nextcloud- MYSQL_DATABASE=nextcloud- MYSQL_USER=nextcloud- MYSQL_HOST=dbnetworks: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
doecho "用户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: NULLpassword: 3|$argon2id$v=19$m=65536,t=4,p=1$U0RpdjdEQ1Y0di5uTy4zcw$mdvQ1wXrYJVyGq6rndgP6YVDbLzdtpCm/yUBSj7GC7Uuid_lower: lisi
*************************** 2. row ***************************uid: wangt
displayname: NULLpassword: 3|$argon2id$v=19$m=65536,t=4,p=1$SWlGaGRiaWlYRlRNdHA2OQ$yV9hG61R8NLxn7mnR/K6a6TvJRMO+My/lYZO0NRljEEuid_lower: wangt
2 rows in set (0.000 sec)

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

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

相关文章

数据库入门(sql文档+命令行)

一.基础知识 1.SQL&#xff08;Structured Query Language&#xff09;结构化查询语言分类&#xff1a; DDL数据定义语言用来定义数据库对象&#xff1a;数据库、表、字段DML数据操作语言对数据库进行增删改查DQL数据查询语言查询数据库中表的信息DCL数据控制语言用来创建数据…

服务器托管与租赁的有什么区别

服务器作为企业数据存储、应用部署的重要工具&#xff0c;其选择方式多种多样。其中&#xff0c;服务器托管和租赁是两种常见的形式。 在选择服务器时&#xff0c;很多企业会面临一个问题&#xff1a;是选择托管服务还是租赁服务器&#xff1f; 一、什么是服务器租用和服务器托…

为什么公司宁愿花15k去重招一个应届生,也不愿意加薪5k留住老程序员?

大家从人心的角度&#xff0c;应该就可以理解&#xff0c;再进一步&#xff0c;如果从人性的角度&#xff0c;更能看清有些老板说话和处事的动机。 1 如果老板觉得没必要招新的程序员&#xff0c;比如老板自己能干&#xff0c;或者活多了&#xff0c;但能用现有的人能干好&…

鸿蒙——即将是国内全部物联网的搭载系统

国内物联网时代 中国国内物联网时代是指在中国国内&#xff0c;物联网&#xff08;Internet of Things&#xff0c;简称IoT&#xff09;技术得到广泛应用和发展的时代。在这个时代&#xff0c;各种设备和物品都可以通过互联网进行连接和交互&#xff0c;实现信息的采集、传输和…

【SpringBoot整合系列】SpringBoot整合RabbitMQ-消息可靠性

目录 确保消息的可靠性RabbitMQ 消息发送可靠性分析解决方案开启事务机制发送方确认机制单条消息处理消息批量处理 失败重试自带重试机制业务重试 RabbitMQ 消息消费可靠性如何保证消息在队列RabbitMQ 的消息消费&#xff0c;整体上来说有两种不同的思路&#xff1a;确保消费成…

让GPT们成为我们的小助手:使用ChatGPT来生成测试用数据

让GPT们成为我们的小助手 任务&#xff1a;帮忙生成测试数据 今天本来想做一个测试&#xff0c;所以需要一些测试数据。为了让测试显得更真实&#xff0c;所以希望测试数据看上去就是一份真实的数据&#xff0c;所以我就希望ChatGPT&#xff08;这里是代指&#xff0c;我有使…

rider自定义代码片段(以C#为例)

1.先看效果 2.在哪设置 File→Settings→Editor→Live Templates→C#3.咋定义 代码片段中的变量用$$包围&#xff0c;而且我们可以自定义变量名称&#xff0c;如CName。选择我们自定义的变量名称我们可以修改变量是否可以被修改以及变量将自动匹配的值。 比如将CName自动填充…

npm 非常见命令

npm 非常见命令 部分与包名相关的命令以 axios 作为示例 npm view&#xff1a;查看包的元数据。 示例&#xff1a;npm view axios 将显示axios包的元数据&#xff0c;包括版本、作者、依赖等信息。 npm search&#xff1a;搜索npm仓库中与关键词相关的包。 示例&#xff1a;n…

单指针优化的不相交集合:Gompers教授猜想的实现与分析

单指针优化的不相交集合&#xff1a;Gompers教授猜想的实现与分析 引言1. Gompers教授的猜想2. 单指针表示的数据结构C语言实现3. MAKE-SET 操作伪代码C语言实现 4. FIND-SET 操作伪代码C语言实现 5. UNION 操作伪代码C语言实现 6. 加权合并启发式策略7. 效果与分析8. 结论 引言…

Linux三剑客命令之grep

1. 命令介绍 当我们需要在文件中搜索特定文本时&#xff0c;grep 命令就派上了用场。它是全局正则表达式打印 (global regular expression print)的缩写&#xff0c;用于在文件中查找匹配指定模式的行&#xff0c;并将匹配到的行输出到标准输出。 2. 基本用法 grep [options]…

2000+车企KOX账号一站式管理,打造矩阵数字化管理解决方案

车企竞争虽愈发激烈&#xff0c;但我们也看到&#xff0c;前有很会做新媒体营销的SU7上市24小时就大定88898台&#xff0c;后有一句“长城炮”就让长城皮卡系列火遍抖音&#xff0c;新媒体对当前车企抢占用户市场的重要性不言而喻。 而这之中&#xff0c;积极布局新媒体矩阵&am…

代码随想录算法训练营Day 39| 动态规划part02 | 62.不同路径、63. 不同路径 II

代码随想录算法训练营Day 39| 动态规划part02 | 62.不同路径、63. 不同路径 II 文章目录 代码随想录算法训练营Day 39| 动态规划part02 | 62.不同路径、63. 不同路径 II62.不同路径一、动态规划二、递归 63. 不同路径 II一、动态规划 62.不同路径 题目链接 确定dp数组以及下标…

【C++】 static成员/友元/内部类

一.static成员 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff1b;用static修饰的成员函数&#xff0c;称之为静态成员函数。静态成员变量一定要在类外进行初始化&#xff08;不能缺省值&#xff09;因为缺省…

树洞,找自己

找自己 ​ 我怀念的时光&#xff0c;一觉睡到大中午。外面下着阴棉的小雨&#xff0c;经历过几个燥热的大晴天&#xff0c;一场雨将近期无尽的聒噪变得静谧了起来。打开电脑玩一把红警&#xff0c;现在&#xff0c;我最不缺的就是时间。 成年之后的一切都变得急躁起来&#xf…

java使用正则表达式

这段Java代码首先定义了一个正则表达式&#xff0c;用于检查输入字符串formName是否符合特定格式。接下来&#xff0c;代码执行以下操作&#xff1a; Pattern pattern Pattern.compile("^1111(12|21)22[TF][0-9]{4}$");: 创建一个Pattern对象&#xff0c;该对象根据…

反转链表(C语言)———链表经典算法题

题目描述​​​​​​206. 反转链表 - 力扣&#xff08;LeetCode&#xff09;&#xff1a; 答案展示: 迭代&#xff1a; 递归&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* rev…

如何设计测试用例

一、介绍 测试用例就是一个文档&#xff0c;描述输入、动作、或者时间和一个期望的结果&#xff0c;其目的是确定应用程序的某个特性是否正常的工作。 二、基本格式 用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果等。 用例编号&#…

C程序内存分布及static变量

C程序内存分布及static变量 C语言中程序的内存分布 [&#x1f517;1](https://www.cnblogs.com/miaoxiong/p/11021827.html)[&#x1f517;2](https://blog.csdn.net/chen1083376511/article/details/54930191)c/c编译连接后二进制文件的存储动静态存储方式和存储区动态存储方式…

一文读懂ipv4和ipv6的区别

IPv4和IPv6是互联网协议的两个主要版本&#xff0c;它们在多个方面存在显著的差异。以下是关于IPv4和IPv6之间区别的详细探讨&#xff1a; 一、地址空间 IPv4使用32位地址&#xff0c;理论上可以表示约42.9亿个不同的地址。然而&#xff0c;由于地址分配的不均衡以及网络技术的…

【更具吸引力的回答】Java中final、finally、finalize的区别(一)

在Java中&#xff0c;final、finally和finalize是三个容易混淆的关键字&#xff0c;但它们各自具有不同的作用、用途和限制。下面我将从您提到的几个方面来解释它们之间的区别&#xff1a; 1. final 概念与用途&#xff1a;final关键字在Java中用于表示“不可变性”。它可以用…