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

利用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.keyGenerating 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.comchmod 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.hqwc.cn/news/178746.html

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

相关文章

Docker 和 Kubernetes:技术相同和不同之处

Docker和Kubernetes是当今最流行的容器化技术解决方案。本文将探讨Docker和Kubernetes的技术相似之处和不同之处,以帮助读者更好地理解这两种技术。 Docker和Kubernetes:当今最流行的容器化技术解决方案 在当今的IT领域,Docker和Kubernetes无…

年薪百万的人怎么做好工作复盘和总结

我们在为谁工作? 在大山宏泰《我们为什么工作》一书中有提到过: 70%左右的人认为工作只是维持生计的存在; 20%左右的人认为工作是个人价值的体现; 不到10%的人才会认为工作是幸福的。 人类的终极幸福有四重:被爱&…

PDF自动打印

​ 最近接到用户提过来的需求,需要一个能够自动打印图纸的功能,经过几天的研究整出来个初版了的,分享出来给大家,希望能有帮助。 需求描述: ​ 生产车间现场每天都有大量的图纸需要打印,一个一个打印太慢了&#xff0…

腾讯云新用户优惠券如何领取?详细教程来了!

腾讯云一直致力于为广大用户提供优质、高效的云计算服务。为了吸引新用户,腾讯云推出了新用户专属优惠券,本文将详细介绍如何领取腾讯云新用户优惠券,助力大家轻松上云! 一、腾讯云新用户优惠券领取 领券入口:https:/…

7 款最好的 Android 手机数据恢复软件榜单(持续更新列表)

数据丢失会干扰您的个人生活和业务,如果手动完成,可能很难恢复丢失的数据。 Android数据恢复软件是克服此问题的完美解决方案。 这些工具可以帮助您快速轻松地从Android设备恢复丢失的数据。 它可以帮助您恢复照片、视频、笔记、联系人等。 7 款最好的An…

Spring Framework 简介与起源

Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用Spring Framework创建高性能、易于测试和可重用的代码。 Spring Framework是一个开源的Java平台。它最初由Rod Johnson编写,并于2003年6月在Apache 2.0许可下首次发布。 Spri…

Windows本地配置带GPU的Pytorch环境

首先需要安装并配置好Anaconda环境,安装教程教程随便找一个就好。 第一步:安装好之后创建conda虚拟环境: conda create -n your_env_name pythonx.x 第二步:安装需要版本的pytorch:pytorch下载链接 cu100/torch-1.2…

RSS订阅快速连接Notion

数环通让您可以通过不到几分钟的时间即可实现RSS订阅与Notion的对接与集成,从而高效实现工作流程自动化,降本增效! 1.产品介绍 RSS订阅是数环通的内置应用,很多用户通过RSS订阅来收集自己在各大平台上看的内容,当RSS…

xss 通过秘籍

终极测试代码 <sCr<ScRiPt>IPT>OonN"\/(hrHRefEF)</sCr</ScRiPt>IPT> 第一关&#xff08;没有任何过滤&#xff09; 使用终极测试代码&#xff0c;查看源码 发现没有任何过滤&#xff0c;直接使用javascrupt中的alert弹框 <script>aler…

day27_JS

今日内容 一、JS 一、引言 1.1 JavaScript简介 JavaScript一种解释性脚本语言&#xff0c;是一种动态类型、弱类型、基于原型继承的语言&#xff0c;内置支持类型。它的解释器被称为JavaScript引擎&#xff0c;作为浏览器的一部分&#xff0c;广泛用于客户端的脚本语言&#xf…

【luckfox】3、计算重量差

前言 本章结合之前的hx711驱动&#xff0c;实现读取质量&#xff0c;记录时间及剩余质量并存入csv文件&#xff0c;计算质量差并总计。 代码 luckfox-pico\project\app\test_app\hx711\hx711_app_addtime.c #include <stdio.h> #include <stdlib.h> #include &…