🚀 在 macOS 与 Linux 上快速部署 Magento + Warden + Hyvä 的最快方法(全新 mage-mirror)

发布: (2025年12月12日 GMT+8 11:11)
6 min read
原文: Dev.to

Source: Dev.to

如果你曾经尝试搭建全新的 Magento 2 环境——或是克隆生产店铺以在本地调试问题——你一定深有体会:

  • 安装时间过长
  • Composer 安装过程中包出错
  • OpenSearch 错误
  • Warden 版本不匹配
  • 缺少 PHP 扩展
  • 管理后台登录问题
  • 升级演练缓慢

在重复了多年相同的环境搭建步骤后,我创建了 mage‑mirror —— 一个一键完成 Magento + Warden + Hyvä 安装的工具。

GitHub:

在不到 2 分钟 的时间内,mage‑mirror 能搭建完整的 Magento 环境,包含:

  • Magento 2.4.x
  • Warden(Docker)堆栈
  • Hyvä 主题(可选)
  • 示例数据(可选)
  • 多店铺路由
  • Composer 配置
  • OpenSearch 自动修复
  • 管理员自动创建
  • 远程同步与克隆
  • 升级模式

运行它只需:

./_mage-mirror.sh

…然后 bam —— Magento 已经准备就绪。

展示 _mage-mirror.sh 运行过程以及本地 Hyva 主题安装结果的快速 GIF

为什么 Magento 本地开发仍然太难

Magento 功能强大……但也很沉重。本地搭建通常需要:

  • 手动安装 PHP + Composer + MySQL
  • 处理权限问题
  • 修复 OpenSearch
  • 等待 20–40 分钟让 Composer 完成
  • 重建索引
  • 排查加密密钥
  • 打补丁配置
  • 创建店铺和作用域

如果你是专业从事 Magento 开发,这些浪费的时间会迅速累积。Hyvä 能显著加快前端开发,但 后端环境的搭建仍是团队的瓶颈。我想要一个能够干净解决此问题的工具。

mage‑mirror 自动化了什么

mage‑mirror 旨在实现 速度可重复性零挫败感

1. 一条命令 = 完整的 Magento 环境

./_mage-mirror.sh

脚本会:

  • 安装 Warden(如果缺失)
  • 通过 Composer 创建项目
  • 搭建 Magento 2.4.x
  • 配置 URL 与作用域
  • 创建管理员用户
  • 部署静态资源
  • 编译依赖注入(DI)
  • 修复文件权限
  • 加载示例数据(可选)

所有必需步骤全自动,无需手动干预。

2. Hyvä 主题自动安装(可选)

设置环境变量:

INSTALL_HYVA=yes

mage‑mirror 会通过 OSS Composer 镜像导入 Hyvä 主题,安装并激活为前台主题。

3. 克隆已有 Magento 项目(本地或远程)

你可以使用 rsynctar、远程 mysqldump 或本地 SQL 转储来克隆生产店铺、预发布环境、客户站点或 QA 快照。

USE_RSYNC_MAGENTO=yes
USE_REMOTE_DB_DUMP=yes

店铺在几分钟内即可本地运行——而不是数小时。

4. Magento 升级模式

测试从 2.4.x 升级到 2.4.y:

UPGRADE_MAGENTO=yes
UPGRADE_MAGENTO_VERSION=2.4.*

mage‑mirror 将会:

  • 导入已有店铺
  • 调整 Composer 版本约束
  • 完整执行 Composer 更新
  • 运行 setup:upgrade
  • 根据需要重新索引、编译、部署并打补丁

这对维护工作来说是个颠覆性利器。

5. 多店铺路由(预配置)

如果启用,mage‑mirror 会自动映射:

mage.test      → 网站 A
app.mage.test  → 网站 B

它会更新 /etc/hosts,在 pub/index.php 中打补丁以设置 MAGE_RUN_CODE,配置基础 URL 与作用域——无需手动操作。

6. OpenSearch 自动修复(不再出现 “No alive nodes found”)

常见错误:

Could not validate a connection to OpenSearch. No alive nodes found.

mage‑mirror 会自动配置 OpenSearch:

catalog/search/engine = opensearch
hostname = opensearch
port = 9200
prefix = magento2

随后触发完整的重新索引,错误即消失。

快速开始

git clone https://github.com/j-scriptz/mage-mirror
cd mage-mirror
chmod +x _mage-mirror.sh
./_mage-mirror.sh

你将可以在以下地址访问 Magento:

  • (如果启用了多店铺)

示例配置

所有设置均保存在 _mage-mirror.config 中。

快速 Hyvä 安装

INSTALL_HYVA=yes
WITH_SAMPLE_DATA=no
USE_EXISTING_DB=no

克隆生产店铺

USE_RSYNC_MAGENTO=yes
USE_REMOTE_DB_DUMP=yes
REMOTE_HOST=myserver
REMOTE_PATH=/var/www/magento

升级模式

UPGRADE_MAGENTO=yes
UPGRADE_MAGENTO_VERSION=2.4.*

谁应该使用 mage‑mirror?

  • Magento 代理机构
  • 自由职业者
  • Hyvä 开发者
  • Magento 升级专家
  • 贡献者
  • 需要一键搭建环境的初级开发者
  • 寻求标准化本地环境的团队

如果你经常接触 Magento,mage‑mirror 能帮你每周节省 数小时

额外福利:免费 Hyvä 兼容的子分类卡片

在安装过程中,你可以自动安装 Jscriptz Subcats 模块:

非常适合店面 UX 与 Hyvä 项目。

想要支持该项目?

如果 mage‑mirror 为你节省了时间,支持它的最佳方式包括:

  • 给 GitHub 仓库加星
  • 提交 Issue 或 Pull Request
  • 在 Magento 社区中宣传

GitHub:

最后感想

Magento 开发本身就很复杂——但本地环境不一定如此。mage‑mirror 消除了反复出现的痛点,让启动或克隆 Magento 店铺只需运行:

./_mage-mirror.sh
Back to Blog

相关文章

阅读更多 »