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://xiahunao.cn/news/3031214.html

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

相关文章

上网卡免费领取,无成本,免费领,超暴力蓝海项目

随着短视频和直播的流行&#xff0c;对大流量电话卡的需求日益增加。我们提供100G-300G大流量电话卡&#xff0c;包含100多分钟语音通话&#xff0c;月费仅19-29元。这些都是三大运营商的靠谱已有号卡&#xff0c;全国免费领取并包邮到家。客户收到卡片后&#xff0c;可在线充值…

工作中使用IDEA查看Stream变化

工作中使用IDEA查看stream变化 代码debug调试 代码 package com.demo;import java.util.stream.LongStream;public class LamdaDemo {public static void main(String[] args) {long[] dataResult LongStream.of(1,5,7,9).filter(data -> data > 10).map(data -> da…

C++学习第二十九课:C++ 输入输出流详解:从基础到高级应用

在 C 中&#xff0c;流&#xff08;stream&#xff09;是一种用于实现输入输出操作的抽象概念。流可以看作是字节的流动&#xff0c;这些字节可以从一个地方流向另一个地方&#xff0c;例如从键盘输入到程序中&#xff0c;或者从程序输出到屏幕。C 提供了一套完整的流库来处理各…

C语言什么是散列法?

一、问题 什么是散列法&#xff1f; 二、解答 散列法是⼀种将字符组成字符串&#xff0c;转换为固定长度&#xff08;⼀般是更短长度&#xff09;的数值或索引值的⽅法&#xff0c;也叫哈希法&#xff0c;⼜可以称为杂凑法或关键码⼀地址转换法。 那么&#xff0c;通过散列函数…

嵌入式开发十一:GPIO端口的八种工作模式

功夫不负有心人&#xff0c;相信学习至此你已经掌握了入门STM32基础知识。希望通过前面的学习&#xff0c;你已经掌握了 STM32 开发的工具和方法。本篇博客我们将和大家一起来学习 STM32 的一个最基础设&#xff0c;这些外设实际项目中经常会用到&#xff0c;希望大家认真学习和…

Html生成自定义函数的图形(2024/5/10)

大概效果如下&#xff1a; 可以自定义函数和x的定义域。 我们可以使用数学表达式解析库来解析用户输入的函数方程&#xff0c;并根据给定的 x 区间计算函数的值&#xff0c;然后使用图表库绘制图形。 在这里&#xff0c;我将使用 math.js 库来解析数学表达式&#xff0c;并使…

杰发科技AC7801——ADC之Bandgap和内部温度计算

0. 参考 电流模架构Bandgap设计与仿真 bandgap的理解&#xff08;内部带隙电压基准&#xff09; ​ ​ 虽然看不懂这些公式&#xff0c;但是比较重要的一句应该是这个&#xff1a;因为传统带隙基准的输出值为1.2V ​ 1. 使用 参考示例代码。 40002000是falsh控制器寄…

2024数维杯数学建模竞赛A题完整代码和思路论文解析

2024数维杯数学建模完整代码和成品论文已更新&#xff0c;获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模A题34页论文已完成&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&…

Python-VBA函数之旅-slice函数

目录 一、slice函数的常见应用场景 二、slice函数使用注意事项 三、如何用好slice函数&#xff1f; 1、slice函数&#xff1a; 1-1、Python&#xff1a; 1-2、VBA&#xff1a; 2、推荐阅读&#xff1a; 个人主页&#xff1a; https://blog.csdn.net/ygb_1024?spm1010.…

【Python特征工程系列】排列重要性法分析特征重要性-随机森林模型为例(案例+源码)

这是我的第277篇原创文章。 一、引言 排列重要性&#xff08;Permutation Importance&#xff09;是一种基于模型的方法&#xff0c;用于评估每个特征对模型性能的影响程度。该方法通过随机打乱单个特征的值并观察模型性能的变化&#xff0c;从而确定特征的重要性。如果某个特征…

postgresql主从复制

用vmware 搭建的两台虚拟机 操作系统&#xff1a;Ubuntu 24.04 Server版 数据库&#xff1a;postgresql 16.2 主库&#xff1a;192.168.2.11 从库&#xff1a;192.168.2.12 如果遇到网络无法上网&#xff0c;可参考一下 Vmware 搭建的Ubuntu 24.04 网络配置-CSDN博客 1.两…

实时路况信息:盲人出行的守护者

在这个快速发展的数字时代&#xff0c;科技的力量正以前所未有的方式改变着人们的生活&#xff0c;尤其是对于视障群体而言&#xff0c;技术的每一次进步都可能意味着独立与自由的新篇章。在这样的背景下&#xff0c;实时路况信息对盲人的帮助成为了社会关注的热点话题&#xf…

train_gpt2_fp32.cu

源程序 llm.c/test_gpt2_fp32.cu at master karpathy/llm.c (github.com) #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include <assert.h> #include <float.h> #include <string.h> #include…

【机器学习300问】85、Adam梯度下降优化算法的原理是什么?

Adam优化算法取了两个算法名称的首字母——Adaptive Moment Estimation的缩写&#xff0c;结合了Momentum算法和RMSprop算法的优点。在Momentum中&#xff0c;会计算前一时刻的梯度&#xff0c;并将其用于当前时刻的梯度更新&#xff1b;而RMSprop会对梯度的大小进行自适应调整…

闭散列哈希表

一、什么是 哈希 &#xff1f; 1.1 哈希概念 与 哈希冲突 在正式介绍闭散列哈希之前&#xff0c;我们需要明确 哈希 的概念。 哈希 &#xff1a;构造一种数据存储结构&#xff0c;通过函数 HashFunc() &#xff0c;使 元素的存储位置 与 其对应的键值 建立一一映射关系&…

数电——集成计数器(部分)

数电77-集成二进制同步计数器_哔哩哔哩_bilibili 74LS191 同步二进制可逆计数器 单时钟 功能&#xff1a; 要想有置零功能&#xff0c;可以将输入改为0000&#xff0c;然后运用功能里的置数功能 双时钟74LS193 四位同步二进制可逆计数器 功能&#xff1a; 74LS197 二-八-…

nestjs 全栈进阶--中间件

视频教程 22_nest中中间件_哔哩哔哩_bilibili 1. 介绍 在Nest.js框架中&#xff0c;中间件&#xff08;Middleware&#xff09;是一个非常重要的概念&#xff0c;它是HTTP请求和响应生命周期中的一个重要组成部分&#xff0c;允许开发者在请求到达最终的目的控制器方法之前或…

Java苍穹外卖05-订单状态定时处理-数据统计-导出excel

一、订单状态定时处理 1.Spring Task ①介绍 应用场景&#xff1a; ②cron表达式 https://cron.qqe2.com/ ③入门案例 2.需求分析 3.代码开发 每一分钟检查是否存在超时15分钟的订单 每天凌晨一点处理上一条处于派送中的订单 mapper&#xff1a; 二、来单提醒、客户催单 1…

前端崽的java study笔记

文章目录 basic1、sprint boot概述2、sprint boot入门3、yml 配置信息书写和获取 basic 1、sprint boot概述 sprint boot特性&#xff1a; 起步依赖&#xff08;maven坐标&#xff09;&#xff1a;解决配置繁琐的问题&#xff0c;只需要引入sprint boot起步依赖的坐标就行 自动…

IF:23.2|从实验室到田间,微生物干预提高植物抗逆

期刊&#xff1a;Nature Food 影响因子&#xff1a;23.2 发表时间&#xff1a;2023年10月 本研究介绍了一种名为SynCom的微生物组合&#xff0c;该组合Rhodococcus erythropolis和Pseudomonas aeruginosa两种微生物组成。这两种微生物能够帮助水稻抵抗铝毒害和磷缺乏&…