开源CMS Drupal本地快速部署并实现无公网ip环境远程访问

本文主要是介绍开源CMS Drupal本地快速部署并实现无公网ip环境远程访问,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
    • 1. Docker安装Drupal
    • 2. 本地局域网访问
    • 3 . Linux 安装cpolar
    • 4. 配置Drupal公网访问地址
    • 5. 公网远程访问Drupal
    • 6. 固定Drupal 公网地址

前言

Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公网远程访问

首先,您需要在您的机器上安装Docker,并且启动,可以按照Docker官方文档中的说明进行安装。

1. Docker安装Drupal

docker部署Drupal之前,需要先安装一个数据库,数据库选择mysql 即可,如果本地已经安装mysql,可以跳过,下面命令使用docker启动一个mysql数据库,

docker run --network host -e MYSQL_ROOT_PASSWORD=自己设置密码 \
-v /etc/mysql/data:/var/lib/mysql \
-v /etc/mysql/conf.d:/etc/mysql/conf.d \
--name mysql \
-d mysql:latest

部署启动好数据库后,下面部署Drupal,执行下面命令,直接运行容器,为了方便数据库连接,指定使用宿主机网络:

docker run --network host  --name my-drupal  -d drupal:latest

执行等待docker 启动完后,输入docker ps 即可看到运行的Drupal容器,同时也看到了mysql容器运行

image-20231010103211359

2. 本地局域网访问

安装运行后,在浏览器访问80端口,即可看到Drupal的安装界面,Drupal就部署安装启动成功了,下面我们继续安装cpolar 工具,完成远程访问,然后再配置Drupal

image-20231010095146640

3 . Linux 安装cpolar

上面我们在docker中成功安装了Drupal,并局域网访问ok,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20230831171159175

4. 配置Drupal公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Drupal的cpolar 公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:80 (局域网访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20231010103555887

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231010103648807

5. 公网远程访问Drupal

使用上面的cpolar https公网地址在任意设备的浏览器访问,即可成功看到我们Drupal 界面,这样一个公网地址且可以远程访问就创建好了,下面进行Drupal设置,语言选择简体中文,选择后点击Save and continue

image-20231010103755055

然后选择标准安装

image-20231009160519704

接下来数据库设置,数据库类型选择mysql数据库,接着输入数据库名称(可以自定义),然后填写数据库用户名,默认:root ,接着填写数据库密码,然后打开高级选项,主机参数填写Linux设备局域网ip地址(表示连接本地数据库),填写好后,点击底部按钮保存并继续

image-20231010104413275

然后等待安装完成

image-20231009162221138

安装完成后,我们成功可以看到了Drupal 界面,并且使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网访问,后续Drupal玩法,可以去参考官方文档进行学习!

image-20231010104804477

6. 固定Drupal 公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231010105350522

保留成功后复制保留成功的二级子域名的名称

image-20231010105414475

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231010105511687

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20231010105622801

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20231010105652875

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了

image-20231010105722014

这篇关于开源CMS Drupal本地快速部署并实现无公网ip环境远程访问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/732553

相关文章

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删