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.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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++初阶之stack,queue,priority_queue的使用和模拟以及仿函数的创建和使用

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 目录 一.stack,queue,priority_queue简介以及代码模拟 1.1 stack …

Java | Leetcode Java题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m matrix.length, n matrix[0].length;int low 0, high m * n - 1;while (low < high) {int mid (high - low) / 2 low;int x matrix[mid / n][m…

激光雷达在工厂散料体积测量中的经济效益分析

随着市场竞争的加剧&#xff0c;企业对于成本控制和效率提升的需求越来越迫切。激光雷达作为一种高效、准确的测量工具&#xff0c;在工厂散料体积测量中发挥着重要作用。本文将对激光雷达在工厂散料体积测量中的经济效益进行分析。 一、减少人工成本 传统的散料体积测量方法…

人工智能_大模型049_模型微调009_llama2模型训练_代码分析和实现_代码记录---人工智能工作笔记0184

以上是项目的整体结构,其中上一节我们看了chatglm3目录下,对chatglm3模型的训练部分的代码,然后 这里的llama2目录下是对llama2模型进行训练的代码. 然后web_demo目录是,对web浏览器中,使用chatglm3,以及llama2.py进行的封装下一节我们再看这个部分 E:\2024\人工智能\fine-tun…

Stable Diffusion写真完整教程

前言 最近自己对AI非常痴迷&#xff0c;并且今后也会一直在这个领域深耕&#xff0c;所以就想着先入门&#xff0c;因此花时间研究了一番&#xff0c;还好&#xff0c;出了点小成果&#xff0c;接下来给大家汇报一下。 AI绘画 提到AI绘画&#xff0c;大家可能立马会想到made…

JMeter 如何应用于 WebSocket 接口测试

WebSocket: 实时双向通信的探索及利用 JMeter 进行应用性能测试 WebSocket 是一项使客户端与服务器之间可以进行双向通信的技术&#xff0c;适用于需要实时数据交换的应用。为了衡量和改进其性能&#xff0c;可以通过工具如 JMeter 进行测试&#xff0c;但需要先对其进行适配以…

光栅测长机高精度检定量规量具

在制造业中&#xff0c;量规、量具等精密测量工具的准确性直接影响着产品质量和制造效率。为了确保这些测量工具的精准度&#xff0c;光栅测长机应运而生&#xff0c;成为了检定量规量具的利器。 光栅测长机是一种高精度的长度测量设备&#xff0c;它是利用光栅的精密刻度和光…

微信小程序之简单的发送弹幕操作

大家看视频的时候是不是时不时会有弹幕飘过~ 在我们微信小程序当中&#xff0c;我们可以十分简单的实现&#xff0c;接下来为大家介绍一下吧&#xff01; 我们使用微信官方给我们的一个视频链接 "http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey302802…

关于docker network网络

首先,我们来看看Docker默认的网络模式,即docker0网桥。 每当你安装Docker时,它会创建一个名为docker0的虚拟网桥,并设置一个IP地址范围供它进行端口映射等工作。所有Docker容器在创建时,都会自动连接到这个docker0网桥,并分配一个虚拟IP地址。这样,容器与主机之间,以及容器与容…

微信小程序开发【Coffee Shopping】(1)

1.环境准备 微信开发者工具&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 前端常用网站集合&#xff1a;http://www.wwp666.cn/ 微信小程序开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/quicksta…

docker部署minio和业务服务因变更minio密码导致访问不到图片的问题

问题起因 业务application和minio都是docker部署。按部署规则minio的环境变量中设置了MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。这样就可以用这套用户名密码登录minio了。而我的application中是通过api访问minio获取资源URL&#xff0c;提供给前端的。所以在application的环境变…

Excel实用技巧持续学习

1、Excel高效设置图标格式&#xff1a; 2、饼图可以统一设置数据标签在图外面&#xff01;&#xff01; 环形图不可以&#xff0c;但是可以中间手动加上白色圆形&#xff0c;将饼图变为圆环。 可以设置标签的文本显示&#xff1a; 3、饼图和环形图最好进行排序&#xff01;显得…

【Qt 学习笔记】Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍 文章编号&#x…

stable diffusion WebUi本地安装

一、stable diffusion 介绍 Stable Diffusion是一种先进的文本到图像的生成模型&#xff0c;它可以根据给定的文本输入生成高度逼真的图像。 Stable Diffusion模型因其高效性和灵活性&#xff0c;在AI图像生成领域引起了广泛关注&#xff0c;并在实际应用中展示了其强大的能力…

MySQL性能优化:MySQL中的隐式转换造成的索引失效

目录 前言数据准备SQL测试分析和总结 前言 数据库优化是一个任重而道远的任务&#xff0c;想要做优化必须深入理解数据库的各种特性。在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症&#xff0c;这类问题往往还不容易定位&#xff0c;排查费时费力最…

2024年第九届数维杯大学生数学建模挑战赛B 题思路1.0版本

B题&#xff1a;生物质和煤共热解问题的研究 数维杯分享资料&#xff08;问题一代码论文思路&#xff09;链接&#xff08;18点更新&#xff09;&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1GSv9dkqcY6G-XUnd0sJe_A 提取码&#xff1a;sxjm 题目分析&#xff1…

基于LLM的自行车道CAD

LLM&#xff08;大型语言模型&#xff09;是强大的工具。对于许多人来说&#xff0c;用语言表达愿望通常比浏览复杂的 GUI 更简单。 1、系统简介和环境搭建 urb-x.ch&#xff0c;这是一家专门从事自行车道建设的公司。轨道采用模块化构建块进行独特设计&#xff0c;可以通过多…

有什么实用的还原试卷的app免费?6个软件教你快速进行还原试卷

有什么实用的还原试卷的app免费&#xff1f;6个软件教你快速进行还原试卷 在现代化的教学环境中&#xff0c;使用数字化工具进行试卷还原变得愈发重要。以下是六个实用的、免费的应用程序&#xff0c;它们为还原试卷提供了便捷的解决方案。 FunAI&#xff1a; 这款应用程序可…

QT作业5

1、聊天室 服务器端 //头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QListWidget> #include <QMessageBox> #include <QDebug> #includ…

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

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