【Nextcloud】使用 LNMP 架构搭建私有云存储:Nextcloud 实战指南

news2025/5/20 20:23:29

目录

一、环境准备与基础配置

1. 系统环境要求

2. 初始化系统配置

二、搭建 LNMP 基础架构

1. 一键安装 LNMP 组件

2. 启动数据库服务

三、部署 Nextcloud 存储服务

1. 上传并解压安装包

2. 设置目录权限(测试环境配置)

3. 配置 MariaDB 数据库

4. 重启数据库服务

四、Nginx 服务配置

1. 编辑 Nginx 主配置文件

2. 启动 Nginx 服务

五、完成 Nextcloud 初始化配置

1. 网页端安装向导

六、访问测试与功能验证

1. 本地访问测试

2. 核心功能验证

3. 生产环境优化建议

七、总结

在数据安全意识日益增强的今天,搭建私有云存储系统成为个人和企业保护数据隐私的重要选择。本文将详细介绍如何通过 LNMP 架构(Linux+Nginx+MariaDB+PHP)结合 Nextcloud 开源软件,快速搭建安全可控的私有云存储服务,并实现内网穿透远程访问。

一、环境准备与基础配置

1. 系统环境要求

  • 操作系统:CentOS 7/8(本文以 openEuler系统 为例,其他系统可能遇到php版本不兼容问题,在访问地址时出现自动下载php文件的情况)
  • 服务器配置:2 核 CPU/2GB 内存 / 20GB 存储(建议根据实际存储需求扩展)
  • 网络环境:具备正常访问互联网

2. 初始化系统配置

首先恢复系统快照确保环境干净,关闭系统安全防护软件:

# 关闭SELinux强制模式

[root@localhost ~]# setenforce 0

# 停止并禁用防火墙(生产环境建议配置安全策略)

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

二、搭建 LNMP 基础架构

1. 一键安装 LNMP 组件

通过 YUM 源快速安装 Nginx、MariaDB 数据库和 PHP 环境:

[root@localhost ~]# yum install nginx mariadb-server php* -y
  • nginx:高性能 HTTP 服务器
  • mariadb-server:关系型数据库服务
  • php*:包含 PHP 运行所需的全部扩展组件

2. 启动数据库服务

[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb

三、部署 Nextcloud 存储服务

下载压缩包:https://nextcloud.com/install/#community-projects

1. 上传并解压安装包

使用 Xftp 等工具将latest.zip上传至服务器根目录,执行解压:


[root@localhost /]# cd /

[root@localhost /]# unzip latest.zip

2. 设置目录权限(测试环境配置)

[root@localhost /]# chmod -Rf 777 /nextcloud
# 生产环境建议使用755+ACL权限

3. 配置 MariaDB 数据库

[root@localhost /]# systemctl start  mariadb   # 启动数据库
[root@localhost /]# mysql  # 进入数据库终端
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.27-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database nextcloud;    # 创建数据库
Query OK, 1 row affected (0.005 sec)

MariaDB [(none)]> create user 'nextcloud'@'localhost' identified by '123456';   # 创建专用用户
Query OK, 0 rows affected (0.031 sec)

MariaDB [(none)]> grant all privileges on nextcloud.* to 'nextcloud'@'localhost';  # 授予全权限

Query OK, 0 rows affected (0.004 sec)

MariaDB [(none)]> flush privileges;  # 刷新权限
Query OK, 0 rows affected (0.007 sec)

MariaDB [(none)]> exit   #退出
Bye
[root@localhost /]# 

4. 重启数据库服务

[root@localhost /]# systemctl restart mariadb

四、Nginx 服务配置

1. 编辑 Nginx 主配置文件

[root@localhost /]# vim /etc/nginx/nginx.conf

在http模块内添加 Server 配置(根据实际 IP 修改):

[root@localhost /]# vim /etc/nginx/nginx.conf
  server {
        listen       80;
        server_name  192.168.2.136;
        root         /nextcloud;
    }

2. 启动 Nginx 服务

[root@localhost /]# systemctl start nginx
[root@localhost /]# systemctl enable nginx

五、完成 Nextcloud 初始化配置

1. 网页端安装向导

打开浏览器访问服务器 IP 地址,进入安装界面:

  • 管理员设置:自定义用户名和密码(建议使用强密码)
  • 数据库配置
    • 数据库类型:MySQL/MariaDB
    • 数据库用户:nextcloud
    • 数据库密码:123456(与之前创建的用户密码一致)
    • 数据库名称:nextcloud
    • 主机名:localhost

 

 

六、访问测试与功能验证

1. 本地访问测试

  • 内网访问:http://服务器IP地址

 

2. 核心功能验证

  • 文件上传 / 下载:测试不同格式文件的存储功能
  • 多设备同步:通过 WebDAV 或客户端软件验证同步功能
  • 权限管理:创建不同用户并设置文件共享权限

3. 生产环境优化建议

  1. 权限修正:使用安全权限配置(如chown -R nginx:nginx /nextcloud)
  1. HTTPS 加密:通过 Let's Encrypt 获取免费 SSL 证书
  1. 定期备份:编写脚本定时备份数据库和数据目录
  1. 防火墙配置:使用firewalld或iptables设置安全规则

七、总结

通过 LNMP 架构与 Nextcloud 的结合,我们成功搭建了具备数据存储、文件共享、多设备同步功能的私有云平台。相比公有云服务,私有云在数据主权、访问控制、成本控制方面具有明显优势。建议根据实际需求扩展存储容量,并持续关注系统安全更新。

注意:本文测试环境使用简化权限配置,生产环境请严格遵循最小权限原则,定期进行安全扫描和数据备份。如需高可用性部署,可进一步集成 Redis 缓存、负载均衡和分布式存储系统。

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

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

相关文章

【办公类-100-01】20250515手机导出教学照片,自动上传csdn+最小化Vscode界面

背景说明: 每次把教学照片上传csdn,都需要打开相册,一张张截图,然后ctrlV黏贴到CSDN内,我觉得太烦了。 改进思路: 是否可以先把所有照片都上传到csdn,然后再一张张的截图(去掉幼儿…

uniapp-商城-60-后台 新增商品(属性的选中和页面显示,数组join 的使用)

前面添加了属性,添加属性的子级项目。也分析了如何回显,但是在添加新的商品的时,我们也同样需要进行选择,还要能正常的显示在界面上。下面对页面的显示进行分析。 1、界面情况回顾 属性显示其实是个一嵌套的数据显示。 2、选中的…

[c语言日寄]数据结构:栈

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…

WEB安全--Java安全--LazyMap_CC1利用链

一、前言 该篇是基于WEB安全--Java安全--CC1利用链-CSDN博客的补充,上篇文章利用的是TransformedMap类,而CC链的原作者是利用的LazyMap类作为介质进行的触发。 所以本文将分析国外原作者在ysoserial commonscollections1中给出的CC1利用链。 二、回顾梳…

黑马k8s(六)

1.Deployment(Pod控制器) Selector runnginx 标签选择:会找pod打的标签 执行删除之后,pod也会删除,Terminating正在删除 如果想要访问其中的一个pod借助:IP地址端口号访问 假设在某一个瞬间,…

【OpenGL学习】(一)创建窗口

文章目录 【OpenGL学习】(一)创建窗口 【OpenGL学习】(一)创建窗口 GLFW OpenGL 本身只是一套图形渲染 API,不提供窗口创建、上下文管理或输入处理的功能。 GLFW 是一个支持创建窗口、处理键盘鼠标输入和管理 OpenGL…

AI大语言模型评测体系演进与未来展望

随着人工智能技术的飞速发展,大语言模型(LLMs)已成为自然语言处理领域的核心研究方向。2025年最新行业报告显示,当前主流模型的评测体系已从单一任务评估转向多维度、全链路的能力剖析。例如,《全球首个大语言模型意识水平”识商”白盒DIKWP测评报告》通过数据、信息、知识…

微服务项目->在线oj系统(Java版 - 5)

相信自己,终会成功 微服务代码: lyyy-oj: 微服务 目录 C端代码 用户题目接口 修改后用户提交代码(应用版) 用户提交题目判题结果 代码沙箱 1. 代码沙箱的核心功能 2. 常见的代码沙箱实现方式 3. 代码沙箱的关键问题与解决方案 4. 你的代码如何与沙箱交互? …

get请求使用数组进行传参

get请求使用数组进行传参,无需添加中括号 mvc接口要添加参数名,使用array承接。不能用list, 否则会报错 这里是用apifox模拟前端调用。 前端调用代码 // 根据项目ID和角色ID查询相关审批人 export function findRelativeApproverByProjectIdAndRoleId(roleIds, p…

【MySQL成神之路】MySQL常用语法总结

目录 MySQL 语法总结 数据库操作 表操作 数据操作 查询语句 索引操作 约束 事务控制 视图操作 存储过程和函数 触发器 用户和权限管理 数据库操作 创建数据库: CREATE DATABASE database_name; 选择数据库: USE database_name; 删除数…

Linux动静态库制作与原理

什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统…

ffmpeg 把一个视频复制3次

1. 起因, 目的: 前面我写过,使用 python 把一个视频复制3次但是速度太慢了,我想试试看能否改进。而且我想换一种新的视频处理思路,并试试看速度如何。 2. 先看效果 效果就是能行,而且速度也快。 3. 过程: 代码 1…

GPT/Claude3国内免费镜像站更新 亲测可用

无限次使用:无限制的提问次数,不设上限,随心所欲。 无需魔法、稳定流畅:操作简便,无需复杂设置,即可享受稳定流畅的服务。 手机和电脑均能用:轻松适配手机和电脑,使用体验更佳。 …

Python:操作Excel按行写入

Python按行写入Excel数据,5种实用方法大揭秘! 在日常的数据处理和分析工作中,我们经常需要将数据写入到Excel文件中。Python作为一门强大的编程语言,提供了多种库和方法来实现将数据按行写入Excel文件的功能。本文将详细介绍5种常见的Python按行写入Excel数据的方法,并附上…

Redis进阶知识

Redis 1.事务2. 主从复制2.1 如何启动多个Redis服务器2.2 监控主从节点的状态2.3 断开主从复制关系2.4 额外注意2.5拓扑结构2.6 复制过程2.6.1 数据同步 3.哨兵选举原理注意事项 4.集群4.1 数据分片算法4.2 故障检测 5. 缓存5.1 缓存问题 6. 分布式锁 1.事务 Redis的事务只能保…

12.vue整合springboot首页显示数据库表-实现按钮:【添加修改删除查询】

vue整合springboot首页显示数据库表:【添加修改删除查询】 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系…

bisheng系列(一)- 本地部署(Docker)

目录 一、导读 二、说明 1、镜像说明 2、本节内容 三、docker部署 1、克隆代码 2、运行镜像 3、可能的错误信息 四、页面测试 1、注册用户 2、登陆成功 3、添加模型 一、导读 环境:Ubuntu 24.04、Windows 11、WSL 2、Python 3.10 、bisheng 1.1.1 背景…

如何用Python批量解压ZIP文件?快速解决方案

如何用Python批量解压ZIP文件?快速解决方案 文章目录 **如何用Python批量解压ZIP文件?快速解决方案**代码结果详细解释 话不多说,先上干货!!! 代码 import os import zipfiledef unzip_file(dir_path: str…

DriveGenVLM:基于视觉-语言模型的自动驾驶真实世界视频生成

《DriveGenVLM: Real-world Video Generation for Vision Language Model based Autonomous Driving》2024年8月发表,来自哥伦比亚大学的论文。 自动驾驶技术的进步需要越来越复杂的方法来理解和预测现实世界的场景。视觉语言模型(VLM)正在成…

企业标准信息公共服务平台已开放标准通编辑器访问入口

标准通 数字化标准编辑器 专业、高效、便捷 企业标准信息公共服务平台 近日,企业标准信息公共服务平台已开放标准通编辑器访问入口,可进入官网指定版块使用! 核心功能亮点 解决企业痛点 传统标准编制,需反复核对格式、逐条…