基于php应用的文件管理器eXtplorer部署网站并内网穿透远程访问

2024-01-09

1. 前言

通过互联网传输文件,是互联网最重要的应用之一,无论是网上观看的视频、图片、小说,甚至协同办公和商业文件传递,都是这项应用的延伸。而之前火热一时的云存储概念,就数据存储服务器加互联网传输形成的。不过,云存储接连爆出事故,让公有云存储服务备受质疑。实际上,我们可以使用一些已有的软件组合,轻松达成建立个人私有的云存储服务器,让我们能随时随地访问到位于内网的数据服务器上的数据。今天,笔者就为大家介绍,如何使用Cpolar内网穿透+eXtplorer,构建专属的私人云存储空间。

2. eXtplorer网站搭建

eXtplorer是一款基于php应用的文件管理器,通过web页面进行操作,操作方式与本地电脑上的资源管理器很像,其主要作用是在本地电脑与服务器之间传送文件,并且能和本地电脑的资源管理器一样,对文件和目录进行编辑、复制、移动和删除等操作,甚至还能修改文件的权限属性。与此同时,eXtplorer的安装而已非常简单,有效降低了我们自己搭建文件服务器的难度。现在,就让我们开始吧。

2.1 eXtplorer下载和安装

首先,我们需要在本地电脑上部署一个eXtplorer。我们可以在eXtplorer的官网页面,轻松找到eXtplorer网页程序的下载位置。

20230410133501

下载完成后,我们将eXtplorer的压缩包解压备用。由于eXtplorer是网页程序,因此我们需要将其部署到本地电脑的web环境中。在这里,笔者使用的是phpstudy(小皮面板)来构建网页环境。因此将eXtplorer的网页安装文件,粘贴到phpstudy的www文件夹下。

20230410133502

20230410133503

接着我们打开phpstudy(小皮面板),在“网站”页面,点击左上的“创建网站”按钮,对打算建立的eXtplorer网页进行设置。设置的内容并不复杂,主要包括

1. 域名 – 这里的域名是指本地电脑访问eXtplorer网页时的域名;
2. 端口 – 即eXtplorer网页的输出端口;
3. 根目录 – 也就是eXtplorer网页程序存放在本地电脑的位置
4. 创建环境 – 即使用哪些支持程序,如FTP传输、SQL数据库等
5. PHP版本 – 也就是使用哪个版本的PHP运行eXtplorer网页(这里需要注意,eXtplorer必须使用低版本的php程序,笔者使用了php5.4版本,否则网页会报错)

20230410133504

完成以上内容的设置后,就可以点击页面下方的 确认 按钮,创建一个eXtplorer网页的运行环境。接着我们点击该网页条目右侧的 管理 按钮,点选 打开网页 ,测试是否能正常访问eXtplorer网页。

20230410133505

需要注意的是,eXtplorer必须使用低版本的php程序,笔者使用了php5.4版本,同时要在“php扩展”选项中,勾选“tcp”功能。否则两者都会导致eXtplorer运行报错。

2.2 eXtplorer网页测试

创建好eXtplorer网页后,我们就可以从phpstudy中打开网页(也可以在浏览器地址栏中,输入之前设置好的域名:端口号访问)。只要网页设置正确,我们就能打开eXtplorer的登录页面。

20230410133506

只要输入默认的登录名和密码(登录名“admin”,密码“admin”),就能进入eXtplorer的主界面。不过默认登录名和密码并不安全,因此登录eXtplorer后,网页会提示我们立即修改登录名和密码。

20230410133507

2.3 cpolar的安装和注册

完成eXtplorer测试并能正确登录后,我们就可以转入cpolar的安装。与eXtplorer一样,cpolar的安装注册同样简单易行,甚至还要更简单。我们可以直接在cpolar的官网页面(www.cpolar.com)找到“下载”按钮。

20230410133508

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

20230410133509

Cpolar下载完成后,解压下载好的压缩文件,双击.msi文件,即可自动执行安装程序。接着只要一路“Next”就能完成安装。

20230410133510

20230410133511

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程非常简单,只要在cpolar主页右上角点击“用户注册”,在注册页面填入必要信息,就能完成注册。

20230410133512

20230410133513

3.本地网页发布

到这里,我们完成了本地eXtplorer网页的搭建,并安装了cpolar内网穿透程序,接下来我们就可以使用cpolar,创建一个能够连接本地测试页面的公共互联网地址,让我们能在公共互联网下访问到本电脑的eXtplorer网页。

3.1.Cpolar云端设置

由于私人云盘服务器有可能随时随地需要访问,但cpolar免费版的数据隧道会每24小时重置一次。为避免每天重连设置的麻烦,我们可以选择升级cpolar至vip版,获得能长期稳定存在的内网穿透数据隧道。

接下来,我们继续进行穿透内网工作,要达到内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到“预留”按钮,并点击进入cpolar的数据隧道预留页面。

Cpolar会根据我们在cpolar云端设置的信息,生成一个公共互联网地址(可看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是空白的数据隧道。

20230410133514

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择“保留二级子域名”栏位(eXtplorer是以web网页形式运行)。

20230410133515

在“保留二级子域名”栏位,要进行几项信息的简单设置,即:

“地区”(服务器所在区域,就近选择即可)
“二级域名”(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)
“描述”(可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。

完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

20230410133516

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

20230410133517

3.2.Cpolar本地设置

完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来,让我们能在公共互联网上访问到本地的测试页面。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

20230410133518

点击客户端主界面左侧“隧道管理”项下的“创建隧道”按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

隧道名称 – 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可;
协议 – 由于的测试页面是网页,因此选择http协议;
本地地址 – 本地地址即为本地网站的输出端口号,而默认输出端口为,因此这里也填入82;
域名类型 – 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,该例为“eXtplorerweb”。如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址;
地区 – 与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

20230410133519

完成这些设置后,就可以点击页面下方的“创建”按钮,将cpolar云端的空白数据隧道与本地的支付测试页面连接起来,生成可以在公共互联网访问本地eXtplorer页面的数据隧道。内网穿透数据隧道生成后,cpola会自动跳转到“隧道列表”页面。

20230410133520

我们可以在“隧道管理”项下的“隧道列表”页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

4.公网访问测试

最后,我们点击左侧“状态”项下的“在线隧道列表”按钮,就能找到这个页面的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地页面,即达成了本地页面发布到公共互联网上的目的。

20230410133521

20230410133522

5.结语

当然,cpolar的内网穿透功能并不是只能发布eXtplorer网页,我们还可以在本地电脑上部署其他类型的网页如博客、音乐网站、视频网站、OA系统或者是其他类型的网站或网页,让我们能通过公共互联网,访问到本地电脑(局域网内电脑)上的信息资料,然我们的个人电脑变身成为私有服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于php应用的文件管理器eXtplorer部署网站并内网穿透远程访问 的相关文章

  • 在 wampserver 2.2 上安装 php_imagick.dll PHP 扩展

    我使用的是 32 位操作系统的 Windows 7 我安装了 ImageMagick 6 8 7 Q16Link https www imagemagick org script download php windows我能够从命令行 转换
  • 具有挑战性的问题 - 使用 PHP 对 XML 数据进行排序

    我有 xml 文件 其中包含大量产品数据 我需要根据我的字段 ProductRange 的数据对我的产品进行排序 ProductRange urldecode GET Range XML 文件数据
  • 如何使用 php 从字符串中提取日期

    我需要从字符串中提取日期 下面是我的代码和字符串 str Updated status to Masters Software Engineering Enrolled Documents to Send on 03 06 2014 14
  • 从远程托管上的 PHP 获取 PHP 错误日志

    是否有 PHP 函数或其他方式以字符串形式获取 PHP 错误日志 我需要这个 因为我无法访问在其他人的服务器上运行的站点的错误日志 他提出通过电子邮件将错误日志发送给我 但这不太方便 有什么方法可以将错误日志输出到 PHP 页面吗 我意识到
  • 将字符串分解为标记,保持引用的子字符串完整

    我不知道我在哪里看到它 但是谁能告诉我如何使用 php 和 regex 来完成这个任务 this is a string that has quoted text inside 我希望能够像这样爆炸它 0 this 1 is 2 a 3 s
  • 为什么我的浮点数大于 1 时在 MYSQL 中存储为 .9999?

    我将进程时间作为 float 4 4 存储在 MySQL 数据库中 start time microtime TRUE things happen in my script end time microtime TRUE process t
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • 无法在 Laravel 8 中运行迁移:SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: 名称或服务未知 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我不明白为什么我的迁移在全新安装 Laravel 8 时失败 这就是我得到的结果 Illuminate Database
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 动态创建和下载Doc文件

    因此 我尝试动态创建 doc 文件并让用户在单击按钮时下载该文件 这些是我找到的用于下载文件的标头 header Content Description File Transfer header Content Type applicati
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • 优化数据可视化 Web 应用程序的性能

    我正在重写 3 年前编写的数据可视化网络工具 从那时起 浏览器的 JavaScript 引擎变得更快 所以我正在考虑将部分工作从服务器转移到客户端 在页面上 数据在表格和地图 或图表 中可视化 它使用相同的数据 但以不同的方式 因此准备显示
  • 检查一个类是否是另一个类的子类

    我想在不创建实例的情况下检查一个类是否是另一个类的子类 我有一个类 它接收类名作为参数 作为验证过程的一部分 我想检查它是否属于特定的类系列 以防止安全问题等 有什么好的方法可以做到这一点吗 is subclass of http php
  • 退出 PHP 脚本后终止或停止 MySQL 查询

    我在工作中运行一个统计服务器 由于运行的查询量很大 该服务器有时会变得非常慢 我们的营销团队使用它作为主要统计工具 团队中的某些人有时会在脚本结束之前退出脚本 通过关闭浏览器或选项卡 同时 SQL 查询继续执行 当有人关闭或离开 PHP 脚
  • 警告:mysqli_query() 期望参数 1 为 mysqli,在 中给出 null

    我正在尝试构建一个简单的自定义 CMS 但出现错误 警告 mysqli query 期望参数 1 为 MySQLi 在中给出的为 null 为什么我会收到此错误 我的所有代码都已经是 MySQLi 并且我使用两个参数 而不是一个 con m
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • preg_match 所有以@开头的单词?

    我对正则表达式不太确定 所以我不得不问你 如何用 PHP 判断字符串中是否包含以 开头的单词 例如我有一个像 This is for codeworxx 这样的字符串 我很抱歉 但我没有任何起点 希望你能帮忙 谢谢 萨沙 好的 谢谢你的结果
  • 一些基本的 PHP 问题 [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是有一些基本的 php 问题来加深我对学习的理解 但我找不到简单的答案 我有一个 php ajax 应用程序 它生成 mysql

随机推荐