利用Nextcloud搭建企业私有云盘系统

news2024/11/15 6:50:49

利用Nextcloud搭建企业私有云盘系统

  • 1. 场景介绍
  • 2. 环境准备
  • 3. 安装NextCloud
  • 4. 系统功能验证

1. 场景介绍

   Nextcloud是一款免费开源的私有云存储系统,采用PHP+MySQL开发,提供了多个同步客户端支持多种设备访问,使用Nextcloud可以快速便捷地搭建一套属于自己或企业的云同步云盘,从而实现跨平台跨设备文件同步编辑、共享、版本控制、团队协作等功能。
   不同于公有云盘,私有云盘需要部署在自己的服务器上(物理机或者云主机),并通过公网进行访问,文件传输速度和存储容量取决于服务器的硬件配置,传输不限速,安全有保障。
   国内外有多种著名的个人云存储,NextCloud是其中之一,本文以NextCloud为例带您从零开始搭建个人云盘

   功能点:
   ● 文件同步和共享: 用户可以上传、下载和共享文件,甚至是大型文件夹,从任何设备访问。
   ● 日历和联系人: 集成了日历和联系人应用,方便管理个人和团队日程和联系人信息。
   ● 文件版本控制: 可以查看和还原文件的不同版本,以防止数据丢失。
   ● 安全性: 提供加密传输和服务器端加密选项,以确保数据的安全性和隐私。
   ● 扩展性: 可以通过插件和应用程序扩展Nextcloud的功能,以满足特定需求。
   ● 协作工具: 包括文档编辑、聊天和视频会议等协作工具。
   ● 用户和权限管理: 支持多用户环境,并允许管理员管理用户和权限。

2. 环境准备

   Nextcloud系统需要提前准备好MySQL和PHP环境,我就不单独安装MySQL和PHP环境了,直接使用宝塔面板安装。安装宝塔面板的使用方式不再赘述了,我的其他博客有很多宝塔面板的使用方式。

nextcloud-26.0.5版本需要PHP8.0以上版本、安装MySQL5.7、Redis7.2、Nginx1.22

   安装完成后,您在“软件商店”-“已安装”可以看到如下内容:
在这里插入图片描述
 
   添加PHP项目站点。选择一个测试域名www.clouddisk.com
   ● 域名:输入你的网站域名,并将该域名的DNS解析指向您的服务器公网IP地址。如果您没有域名,则直接输入服务器公网IP地址。
   ● 选择一个文件夹作为网站根目录,宝塔面板推荐将网站目录放在/www/wwwroot下,因此我选择将/www/wwwroot/www.clouddisk.com作为NextCloud网站根目录,稍后需要将官方的NextCloud安装文件解压到网站根目录中。
   ● 创建MySQL数据库账号,并记下数据库的账号和密码。
在这里插入图片描述
 
在这里插入图片描述
 
   下载nextcloud安装包并解压到项目根目录,当然使用宝塔面板解压功能也可以:

# cd /www/wwwroot/www.clouddisk.com/
# wget https://download.nextcloud.com/server/releases/nextcloud-26.0.5.zip
# unzip nextcloud-26.0.5.zip 	

   网站根目录下的.user.ini文件是具有修改锁的,其无法被删除或覆盖,需要将锁去除,执行以下命令修改.user.ini的权限,否则该文件将无法被nextcloud的安装文件覆盖:

# chattr -i  .user.ini 
# chown -R www:www /www/wwwroot/
chown: changing ownership of/www/wwwroot/www.test.com/.user.ini’: Operation not permitted

   点击网站名,然后配置伪静态。若不进行伪静态配置,继续后面的步骤将出现HTTP 502的错误:

location
 
~ ^/(data|config|.ht|db_structure.xml|README) {
 
deny all;
 
}

在这里插入图片描述
 
   配置域名证书:

mkdir -p /etc/nginx/cert/
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key

Generating a 2048 bit RSA private key
................+++
.....................................+++
writing new private key to '/etc/nginx/cert/nextcloud.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:TJ
Locality Name (eg, city) [Default City]:TJ
Organization Name (eg, company) [Default Company Ltd]:hlyy
Organizational Unit Name (eg, section) []:hlyy
Common Name (eg, your name or your server's hostname) []:clouddisk.com
Email Address []:12345678@qq.com

chmod 700 /etc/nginx/cert
chmod 600 /etc/nginx/cert/*

在这里插入图片描述

   开启内存缓存:
   开启内存缓存,可以提升响应速度
   修改/www/wwwroot/www.clouddisk.com/nextcloud/config/config.php文件,在配置加入:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array('host' => 'localhost','port' => 6379,),

在这里插入图片描述
 
   让Nginx重新载入配置:
在这里插入图片描述

3. 安装NextCloud

   在浏览器地址栏输入上一步骤新建站点时所输入的域名,进入NextCloud安装向导。创建管理员账号,配置数据目录和数据库。数据库请选择MySQL数据库,并输入创建站点时输入的数据库账号和密码。
   https://www.clouddisk.com/nextcloud
在这里插入图片描述
 
   点击安装,稍等片刻,完成安装
   关闭窗口进入仪表盘,主界面顶部导航栏:仪表盘、文件、照片、动态、搜索、通知、联系人、用户设置等菜单
在这里插入图片描述
 
   切换到文件:会显示网盘文件信息,全部文件、最近、收藏、共享、标签等,可以查看网盘文件的占用情况、已删除文件:
在这里插入图片描述

4. 系统功能验证

   可以上传文件、新建文件夹、新建文本等操作:
在这里插入图片描述
 
   切换到动态:会显示最近的一些操作记录:
在这里插入图片描述
 
   应用扩展:支持启用或禁用应用,已经扩展更多应用:
   如安装应用出现缓慢、网络超时的报错,或者服务器访问github网络不稳定,建议使用v2版加速github下载
   在config.php添加如下两行:

# vim /www/wwwroot/www.clouddisk.com/nextcloud/config/config.php
'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',

   回到应用页面刷新一下,应用商店已经显示正常
   Nextcloud的应用市场可以扩展和集成超多实用的功能,比如日历、笔记、看板、任务等
在这里插入图片描述
 
在这里插入图片描述
 
在这里插入图片描述

   查看一下网盘展示文件信息的实际的存储路径(上传一个文件然后在服务器中使用find命令查找一下):

# find / -name nextcloud.txt
/www/wwwroot/www.clouddisk.com/nextcloud/data/admin/files/nextcloud.txt

   已经完成了NextCloud的测试,上传文件、删除文件、重命名文件等基本功能没有任何问题

当然也可以下载桌面端或移动端App,实现三端同步

   Nextcloud作为网盘可以同步相册,保存和分享文件,可以替代一些收费的网盘存储产品,使用体验还是不错的,并且数据完全属于自己,不会出现网盘的文件会突然消失,一些文档的内容会检索敏感词被封禁等情况,以上所有的功能都是免费的,无广告,不需要验证手机号和其他信息,个人和家庭使用还是很适合的,其他更多功能就需要自行探索了。

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

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

相关文章

二、项目的运行环境

项目的运行环境 一、概述 项目所处的环境可能对项目的开展产生有利或不利的影响: 事业环境因素组织过程资产 二、事业环境因素 资源可用性:例如包括合同和采购制约因素、获得批准的供应商和分包商以及合作协议; 法律限制、政府或行业标准…

远程创建分支本地VScode看不到分支

在代码存放处右击,点击Git Bash Here 输入git fetch–从远程仓库中获取最新的分支代码和提交历史 就OK啦,现在分支可以正常查看了

游戏报错找不到xinput1_3.dll如何解决呢?分享5个解决方法对比

由于找不到xinput1_3.dll,无法继续执行代码的5个解决方法与丢失原因分享。 xinput1_3.dll是一个动态链接库文件,它包含了一些重要的函数和数据结构,用于支持游戏手柄等设备的操作。当这个文件丢失或损坏时,就会导致程序无法正常运行。 那么…

手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

一,意图 通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态. 二,原料…

每天学习一点点之从 SonarQube Code Smell 看 Serializable

相关文章: 每天学习一点点之从 SonarQube Bug 看对线程中断异常的处理 昨天组内同学在进行代码合并的时候发现了一个 SonarQube 异常: 其实我之前也遇到过这个异常,但觉得“这种异常很无聊”,毕竟让 Spring Bean 去序列化&…

d3dcompiler_43.dll丢失了怎么办,详细解答和d3dcompiler_43.dll修复方法

以下将为您提供几种处理d3dcompiler_43.dll文件丢失的解决措施,这些方法实用有效,可以帮助我们恢复计算机运行。 一.d3dcompiler_43.dll是什么 在我们开始探讨如何修复d3dcompiler_43.dll文件丢失的问题之前,首先需要了解这个文件的作用。该…

如何选择正确的SSL证书?

SSL证书已经成为网站安全管理的重要部分,但是市场上SSL证书种类繁多,很多新手在初次购买时都会感到困惑。下面我们就一起来看看如何快速地选择正确的SSL证书。 第一步:明确SSL证书的主要分类 SSL证书主要有三种类型:单域名证书、…

2023selenium自动化(基础篇)

哈喽大家好,我是静姐,今天来给大家介绍在Python中使用selenium进行自动化操作 定义 Selenium是一个用于Web应用程序测试的自动化测试工具。使用Selenium可以驱动浏览器执行特定的动作,如点击、下拉等操作,还可以获取页面信息,断言页面是否如预期。在工作…

Oracle如何快速删除表中重复的数据

方法一: 在Oracle中,你可以使用DELETE语句结合ROWID和子查询来删除重复的记录。以下是一个示例: DELETE FROM your_table WHERE ROWID NOT IN (SELECT MAX(ROWID)FROM your_tableGROUP BY column1, column2, ... -- 列出用于判断重复的列 )…

【动态规划】买卖股票的最佳时期含冷冻期

文章目录 一、买卖股票的最佳时期含冷冻期动态规划五部曲 一、买卖股票的最佳时期含冷冻期 题目: 买卖股票的最佳时期含冷冻期 动态规划五部曲 1.确定dp的含义 由题意可知,这里有三种状态 1.买入状态:dp[i][0]:表示第i天处于买入状态时的最大利润为dp[…

C# Socket通信从入门到精通(9)——如何设置本机Ip地址

前言: 我们开发好Socket通信程序以后,上机调试的时候,首先要做的就是先设置好电脑的IP,这样才能实现不同的电脑之间的通信,并且电脑1的ip地址和电脑2的Ip地址要同处于一个网段,比如电脑1的Ip地址为192.168…

“程序员们的奔溃瞬间”——分享你最令你哭笑不得的程序员经历

文章目录 每日一句正能量前言编程趣事后记 每日一句正能量 每件事最后都会是好事。如果不是好事,说明还没到最后。 前言 作为程序员,我们时常会遇到各种奇怪的错误和挑战,有时候我们会崩溃,但更多的时候,我们会从中学…

蚂蚁集团首次披露数字科技业务海外发展数据 营收规模同比增长300%

蚂蚁集团资深副总裁、数字科技事业群总裁蒋国飞15日在新加坡金融科技节期间表示,过去一年,蚂蚁数科通过科技产品带来的海外营收规模增长了 300%,其中尤以菲律宾、马来西亚、印度尼西亚等新兴市场国家为主。这是蚂蚁集团首次披露数字科技业务板…

WorkPlus私有化部署的即时通讯软件,企业内部沟通协作的利器

随着企业的成长和信息科技的进步,团队协作变得越来越关键。为了更好地促进团队之间的信息共享和沟通,企业内部对聊天软件的需求也在不断增加。 WorkPlus是一个支持海量用户和高并发的私有化部署即时通讯能力,支持纯内网,内外网混…

2023.11.15使用bootstrap做一个简洁的注册页面

2023.11.15使用bootstrap做一个简洁的注册页面 设置密码必须大于等于6位,并且包含大写字母、小写字母、特殊字符或者数字中的三种。 关注:type"button"和type"submit"之间的区别: type"button"用于普通按钮&…

工作中积累的对K8s的就绪和存活探针的一些认识

首先,我的项目是基于 Spring Boot 2.3.5 的,并依赖 spring-boot-starter-actuator 提供的 endpoints 来实现就绪和存活探针,POM 文件如下图: 下面,再让我们来看下与该项目对应的Deployment的YAML文件,如下…

Multisim数电仿真实验——SOS循环序列信号发生器

目录 一、前言二、设计思路2.1序列信号的实现2.2SOS信号的循环再现 三、最终电路图 一、前言 SOS电路是一种简单而重要的电子电路,用于产生和传输紧急信号。我们将介绍SOS电路的连接思路,包括所需的组件选择以及信号的连接方式。 二、设计思路 2.1序列…

Android 12 客制化修改初探-Launcher/Settings/Bootanimation

Android 12 使用 Material You 打造的全新系统界面,富有表现力、活力和个性。使用重新设计的微件、AppSearch、游戏模式和新的编解码器扩展您的应用。支持隐私信息中心和大致位置等新的保护功能。使用富媒体内容插入功能、更简便的模糊处理功能、经过改进的原生调试…

SDL2 播放音频数据(PCM)

1.简介 这里以常用的视频原始数据PCM数据为例,展示音频的播放。 SDL播放音频的流程如下: 初始化音频子系统:SDL_Init()。设置音频参数:SDL_AudioSpec。设置回调函数:SDL_AudioCallback。打开音频设备:SD…