【VMware教程】RHEL 9虚拟机搭建网盘 📅 发布时间:2026/7/15 21:29:25 👁️ 浏览次数: 一、搭建网盘架构解析在搭建网盘前我们需要先认识搭建网盘需要什么以及各个组件的作用、层级关系。按图中结构梳理如上图1.Linux虚拟机服务器整套 Nextcloud 私有网盘运行在一台Linux 虚拟机服务器里。所有服务、程序、安全组件都依托这台 Linux 系统运行。(1)Web服务器( 这里使用 httpd )在Web服务器中包含三类主流服务程序httpd、nginx、tomcathttpdApache经典通用 Web 服务器主打稳定兼容、文档资料齐全、对 PHP 和 Nextcloud 适配性极好适合课程教学、个人私有网盘部署nginx高性能 Web 服务器优势是高并发、低资源占用适合大量用户同时访问、大流量商用网站场景tomcatJava 专用应用服务器主要运行 Java 程序不能原生运行 PHP 代码不适合 Nextcloud 网盘架构。本次部署选用httpd原因是它兼容性好、配置简单、教程完善适配教学环境和个人网盘使用需求足够稳定满足基础网盘访问需求。(2)MariaDB 数据库mariadb-server在 Linux 虚拟机服务器中还包含独立的 MariaDB 数据库服务。它专门用来存储网盘元数据包括用户账号密码、文件夹结构、访问权限、共享链接等信息不直接存储大体积文件由 PHP 程序调用读写负责网盘核心结构化数据的管理。(3)Nextcloud网盘在 Linux 虚拟机服务器中包含 Nextcloud 网盘源码程序它存放在 httpd 的网站目录里是实现网盘功能的主体代码。Nextcloud 本身无法直接独立运行需要依靠 Web 服务器接收访问请求、依靠 PHP 环境解析执行代码从而提供完整私有网盘功能。(4)PHP 运行环境在 Linux 虚拟机服务器中包含 PHP 运行环境它是独立的代码解析环境用来解析和执行 Nextcloud 的 PHP 源码实现网盘登录、浏览文件、上传下载、共享文件等核心功能并且负责和数据库进行数据交互处理动态数据请求是 Nextcloud 程序正常运行必不可少的翻译器。2.Linux 双重要安全防护组件最左侧是我们的终端用户通过浏览器、输入虚拟机 IP 地址来访问网盘是整个访问链路的起点。从外到内有两层关键安全防护组件第一层是firewalld 防火墙位于服务器外侧负责管控整个服务器的网络端口访问相当于小区大门。默认会拦截大部分端口我们需要手动放行 80、443 网页端口让外部浏览器可以正常连通服务器同时阻挡恶意外部访问。第二层是SELinux属于 Linux 内核级安全管控相当于屋内门锁。它负责管控服务器内部进程和文件夹的权限标签即使外部通过防火墙连上服务器也需要配置好 SELinux 上下文允许 httpd 服务读取 Nextcloud 目录、访问数据库否则网盘会出现打不开、无法上传文件的问题。3.完整访问流程用户通过浏览器发起网盘访问请求 → 首先经过 firewalld 防火墙校验确认端口放行 → 进入 Linux 服务器后受 SELinux 权限校验确认 httpd 具备读写权限 → httpd 接收请求调用 PHP 环境运行 Nextcloud 代码 → PHP 连接 MariaDB 数据库读取、修改网盘数据 → 最终把网盘页面返回给浏览器完成访问。二、本次使用代码yum install httpd php php-zip php-gd php-mysqlnd mariadb-server -y#安装相对应的环境(php环境、数据库是mariadbweb服务器是httpd)systemctl enable httpd mariadb --now#开启httpd和mariadb服务并且设置开机自启systemctl disable firewalld --now#关闭防火墙setenforce 0#临时关闭selinux。如果此时关闭了系统之后又打开就又会显示开启状态。getenforce#显示为Permissive表示selinux已经关闭了mysqladmin -uroot password root#设置数据库root用户的密码为rootmysql -uroot -proot#用对应身份密码登录数据库show databases;查看create database nextcloud;#创建一个名为nextcloud的数据库chown -R apache:apache nextcloudsystemctl restart httpd#重启web服务器三、教程展示1.配置yum源搭建 Nextcloud 网盘需要一次性安装一堆依赖:httpd(Apache网页服务)、PHP运行环境、php-mysql插件、mariadb数据库 等整套软件包。配置正确国内 yum 源 则yum可一键自动安装并匹配版本解决软件依赖问题顺利部署先输入ping www.baidu,com 检测是否有网再输入vim /etc/yum.repos.d/rpm.repo并插入以下代码[base] namea baseurlhttps://mirrors.aliyun.com/rockylinux/9/AppStream/x86_64/os/ gpgcheck0 [app] namea baseurlhttps://mirrors.aliyun.com/rockylinux/9/BaseOS/x86_64/os/ gpgcheck0检查代码对应网址是否可跳转2.安装对应环境php环境、数据库是mariadbweb服务器是httpdyum install httpd php php-zip php-gd php-mysqlnd mariadb-server -y3.开启httpd和mariadb服务并且设置开机自启systemctl enable httpd mariadb --nowenable为设置开机自启now为现在启用无now为开机自启systemctl status httpd 查看服务状态Q退出4、关闭防火墙不推荐在生产环境使用systemctl disable firewalld --now5.关闭selinux 不推荐在生产环境使用setenforce 0 #临时关闭selinux。如果此时关闭了系统之后又打开就又会显示开启状态。getenforce #显示为Permissive表示已经关闭了6.创建数据库名称为nextcloudmysqladmin -uroot password root #设置数据库root用户的密码为root(此密码与用户名为数据库并非虚拟机用户密码及用户名)mysql -uroot -proot #用root身份登录数据库后show databases;#查看数据库create database nextcloud;#创建一个名为nextcloud的数据库exit退出7.获取网盘压缩包网址https://nextcloud.com/install/#install-clients8.把网盘的压缩包复制到/var/www/html目录中并解压9.修改/var/www/html目录下的nextcloud目录以及它目录下的文件的所属者和所属组改为apachehttpd外部服所形成的进程的所有者为apache。为了使外部服访问到我们的目录所以修改10.重启web服务器通过浏览器查看11.安装网盘安装好后会显示网页无法访问此为正常操作重新输入后访问搭建完成12、配置web界面vim index.html编入以下代码将ghl改为自己简写html headtitleindex of ghl/title/head body this is ghl a hrefnextcloud/nextclouda /html此时用浏览器访问时可直接使用虚拟机IP访问
从数据库到 Fiori 页面,Field Extensibility 如何让自定义字段贯穿整条应用链路 一张销售订单页面里,业务部门增加了一个很具体的要求,订单项目除了物料、数量、净值,还要记录客户包装等级。这个字段既不是临时备注,也不能只停留在浏览器页面里。它需要写入数据库,参与查询,通过 OData 服务传到前端,在 SAP Fiori 页面上显示,还可能进入报表、打印表… 2026/7/15 21:27:24
参赛实测|以企业项目落地为例!聊聊AI赋能Java开发的真实体验 做技术博主、深耕后端开发这么多年,我一直有个很直观的感受:企业级Java项目开发,难的从来不是写代码,而是整体架构规范、业务闭环落地、工程标准化。很多新手甚至初级工程师,能写CRUD,但很难独立搭建一套合… 2026/7/15 21:25:24
N皇后遗传算法Python实现:从Matlab迁移的工程化实践 1. 项目概述:从Matlab到Python的N皇后遗传算法实战迁移你有没有试过把一个在Matlab里跑得挺稳的优化算法,硬生生“翻译”成Python,结果发现收敛慢了三倍、种群早熟得像泡面、连调试信息都报错在第7行?我去年就踩过这个坑——当时手… 2026/7/15 21:23:23
每年197 GiB:以太坊状态爆炸的成因、风险与EIP-8037争议 前言:一个正在膨胀的“数字宇宙” 大家好,我是专注于区块链底层技术与扩容研究的博士研究员。最近,以太坊社区关于“状态爆炸”(State Bloat)的讨论再次升温,核心数据触目惊心:以太坊全节点的状态数据正以每年约197 GiB的速度增长。这并非危言耸听,而是实实在在威胁着… 2026/7/15 23:32:20
企业AI智能体定制服务全流程解析 一、引言:你的AI智能体,为什么“听不懂”业务?在2024至2025年间,“AI智能体”从一个技术概念迅速演变为企业数字化的核心工具。它们被期望理解复杂的业务流程、自主调用工具、回答专业问题。然而,一个普遍的困惑出现了… 2026/7/15 23:32:20
美式橄榄球数据解剖:YAC与EPA如何量化真实进攻价值 1. 项目概述:用数据语言重看那场决定超级碗入场券的 NFC 冠军赛去年冬天那个寒气逼人的周日晚上,我守在屏幕前看完整场 NFC 冠军赛,不是为了单纯看热闹,而是习惯性地把实时记分板、球员跑动热图、每档进攻的推进距离都同步记在自己… 2026/7/15 23:28:19
iSulad-img:华为iSulad容器引擎的镜像管理神器完全指南 iSulad-img:华为iSulad容器引擎的镜像管理神器完全指南 【免费下载链接】iSulad-img This is a command line utility used by iSulad to performs various operations on container images. iSulad-img is used to pull image from image repositories and prepare… 2026/7/15 23:22:18
【网络协议实战】——FTP协议核心机制与典型应用场景解析 1. FTP协议基础与核心机制第一次接触FTP还是在大学实验室里,当时需要把本地代码上传到远程服务器调试。教授只说"用FTP传文件",我却对着命令行界面手足无措——这大概就是很多初学者第一次接触FTP的真实写照。FTP(File Transfer Pr… 2026/7/15 23:22:18
从“泡池子”到WXG Offer:一位25届学生的腾讯暑期实习闯关实录 1. 从"泡池子"到被WXG捞起的奇妙旅程去年3月,我把精心打磨的简历投进腾讯校招系统时,完全没想到会经历长达11天的"泡池子"煎熬。作为25届的非应届生,我的简历被TEG拒掉后,就像一滴水落入了巨大的公共简历池。… 2026/7/15 23:20:17
行星减速机的工作原理是什么?从齿轮运动关系到减速比计算 一、行星齿轮机构的组成 标准行星齿轮机构主要包括: 太阳轮; 行星轮; 内齿圈; 行星架。 太阳轮位于机构中心。 多个行星轮围绕太阳轮均匀布置,行星轮内侧与太阳轮外啮合,外侧与内齿圈内啮合。 行星轮通过轴… 2026/7/15 0:03:00
阅读Java开源框架源码的心得分享! 前几日闲来无事有幸看到了一位博主分享自己阅读开源框架源码的心得,看了之后也引发了我的一些深度思考。我们为什么要看源码?我们该怎么样去看源码? 其中前者那位博主描述的我觉得很全了(如下图所示),就不做… 2026/7/15 0:03:00
【LINUX】驱动 【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】 2026/7/15 0:07:01
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/14 18:25:04
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/14 5:09:41