机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
弃用通知:Drupal VM 已不再维护,不会发布新版本。详情请参见问题 #2164。感谢过去十年来所有用户和维护者的支持!
[](https://microbadger.com/images/geerlingguy/drupal-vm "Get your own image badge on microbadger.com")
Drupal VM 是为 Drupal 构建的虚拟机,由 Ansible 构建。
Drupal VM 使构建 Drupal 开发环境快速且简单,并向开发者介绍在虚拟机或 Docker 容器上进行 Drupal 开发的美妙世界(而不是基于老旧 MAMP/WAMP 的开发)。
使用 Drupal VM 有两种方式:
- Using Vagrant and VirtualBox.
- 使用 Docker。
本文档其余部分假定你使用 Vagrant 和 VirtualBox(这是目前最灵活且使用最广泛的 Drupal VM 使用方式)。如果你想使用 Docker 版的 Drupal VM,请阅读 Drupal VM Docker 文档。
Drupal VM 在 Ubuntu 18.04(默认)Linux 虚拟机上安装以下内容:
- Apache(或 Nginx)
- PHP(可配置版本)
- MySQL(或 MariaDB,或 PostgreSQL)
- Drupal 7、8 或 9
- 可选:
- Drupal 控制台
- Drush
- 清漆
- Apache Solr
- Elasticsearch
- Node.js
- Selenium,用于通过 Behat 测试你的网站
- 红宝石
- Memcached
- Redis
- SQLite
- Blackfire、XHProf 或 Tideways 用于分析你的代码
- XDebug,用于调试你的代码
- Adminer,用于直接访问数据库
- MailHog,用于捕获和调试电子邮件
在良好的宽带连接下,从零构建或重建虚拟机大约需要 5-10 分钟。
请阅读本文档其余部分以及 Drupal VM 文档,以获取如何配置 Drupal VM 并将其与工作流程集成的帮助。
文档
完整的 Drupal VM 文档可在 http://docs.drupalvm.com/ 获取
自定义虚拟机
有几个地方你可以根据需要自定义虚拟机(VM):
config.yml:覆盖default.config.yml的任何默认虚拟机配置;几乎可以自定义虚拟机中安装的任何软件的任何方面(更多关于配置 Drupal VM的信息)。drupal.composer.json或drupal.make.yml:包含在 Drupal 初始安装时将下载的 Drupal 核心版本、模块和补丁的配置(你可以使用 Composer、Drush make 或你自己的代码库进行构建)。
如果你想在初始安装时使用 Drupal 8,请执行以下操作:
- 在
config.yml中设置drupal_major_version: 8。 - 在
config.yml中设置drupal_composer_project_package: "drupal/recommended-project:^8@dev"。
如果你想在初始安装时使用 Drupal 7,请执行以下操作:
- 改用 Drush Make 文件。
- 更新你的
drupal.make.yml文件中的 Drupalversion和core。 - 在
config.yml中设置drupal_major_version: 7。
快速入门指南
本快速入门指南将帮助您在 Drupal VM 上快速构建 Drupal 9 网站,通过创建一个新的 Composer 项目。您还可以将 Drupal VM 与 Composer、Drush Make 文件、本地 Drupal 代码库 或甚至 Drupal 多站点安装 一起使用。
如果你想在本地安装一个 Drupal 网站并尽量减少麻烦,只需:
- 安装 Vagrant 和 VirtualBox。
- 将此项目下载或克隆到您的工作站。
- 将
cd放入此项目目录并运行vagrant up。
但是 Drupal VM 允许你完全按照自己的喜好构建网站,使用你需要的任何工具,具有几乎无限的灵活性和可定制性!
1 - 安装 Vagrant 和 VirtualBox
下载并安装 Vagrant 和 VirtualBox。
您也可以使用像 Parallels 或 VMware 这样的替代提供商。(Parallels Desktop 11 需要“专业”或“商业”版本以及 Parallels Provider,而 VMware 需要付费的 Vagrant VMware 集成插件)。
笔记:
- 为了更快速的配置(仅限 macOS/Linux):在您的主机上安装 Ansible,这样 Drupal VM 就可以在本地运行配置步骤,而不是在虚拟机内运行。
- 为了稳定性:由于每个版本的 VirtualBox 都会对网络进行更改,为了获得最佳的稳定性,您应该安装 Vagrant 的
vbguest插件:vagrant plugin install vagrant-vbguest。 - Linux上的NFS:如果你的主机上尚未安装NFS,你需要安装它才能使用默认的NFS同步文件夹配置。请参阅 Linux上的NFS说明
- 版本:确保你正在运行最新版本的 Vagrant、VirtualBox 和 Ansible——截至 2020 年,Drupal VM 推荐使用:Vagrant 2.2.x、VirtualBox 6.1.x 和 Ansible 2.9.x
2 - 构建虚拟机
- 下载这个项目并把它放到你想放的地方。
- (可选) 将
default.config.yml复制到config.yml并根据您的喜好进行修改。 - 创建一个本地目录用于安装 Drupal,并在
config.yml中配置该目录的路径(在vagrant_synced_folders内的local_path)。 - 打开终端,
cd到这个目录(包含Vagrantfile和这个自述文件)。 - 输入
vagrant up,然后让 Vagrant 展现它的魔力。
一旦过程完成,你将在项目的 drupal/ 目录中拥有一个可用的 Drupal 代码库。
注意:如果在运行 vagrant up 的过程中出现任何错误,并且它将你返回到命令提示符,只需运行 vagrant provision 就可以从你中断的地方继续构建虚拟机。如果在这样操作几次后仍然出现错误,请在 GitHub 上向该项目的问题队列提交一个带有错误信息的问题。
3 - 访问虚拟机。
打开你的浏览器并访问 http://drupalvm.test/。管理员账户的默认登录名和密码都是 admin。
注意:默认情况下,Drupal VM 配置为使用 192.168.88.88 作为其 IP,如果你运行多个虚拟机,auto_network 插件(vagrant plugin install vagrant-auto_network)可以在将 vagrant_ip 设置为 config.yml 中的 0.0.0.0 时帮助管理 IP 地址。
附加软件/实用工具
默认情况下,此虚拟机包括 config.yml 选项 installed_extras 中列出的附加组件,例如:
installed_extras:
- adminer
# - blackfire
# - drupalconsole
- drush
# - elasticsearch
# - java
- mailhog
[...]
如果你不想要或不需要其中一个或多个附加功能,只需从列表中删除它们或将其注释掉。如果你想减少 PHP 内存使用或以其他方式节省系统资源,这会很有帮助。
使用Drupal虚拟机
Drupal VM 的构建目的是与每个开发者的工作流程整合。关于使用 Drupal VM 进行常见开发任务的许多指南可在 Drupal VM 文档网站 上找到。
更新Drupal虚拟机
Drupal VM 遵循语义化版本控制,这意味着您的配置在整个主要版本周期中应该可以继续使用(可能只需进行非常小的修改)。在 Drupal VM 的次要版本之间更新时,请按照以下流程进行操作:
- 阅读发行说明并添加/修改其中提到的
config.yml变量。 - 将你的
config.yml与更新后的default.config.yml进行差异比较(例如curl https://raw.githubusercontent.com/geerlingguy/drupal-vm/master/default.config.yml | git diff --no-index config.yml -)。 - 运行
vagrant provision来配置虚拟机,包含所有最新的更改。
对于主要版本升级(例如从4.x.x到5.x.x),可能更简单的方法是先销毁虚拟机(vagrant destroy),然后使用新版本的Drupal VM构建一个全新的虚拟机(vagrant up)。
系统要求
Drupal VM 可以在几乎所有能够运行 VirtualBox 和 Vagrant 的现代计算机上运行,然而为了获得最佳的开箱体验,建议您至少拥有一台具备以下配置的计算机:
- 启用 VT-x 的英特尔酷睿处理器
- 至少 4 GB 内存(越高越好)
- 固态硬盘(用于同步文件夹以提高速度)
其他说明
- 要关闭虚拟机,在终端中进入包含
Vagrantfile的同一文件夹,然后输入vagrant halt。要完全销毁虚拟机(如果你想节省一些磁盘空间,或者想通过再次使用vagrant up从头重建它),输入vagrant destroy。 - 要登录虚拟机,请输入
vagrant ssh。您也可以使用vagrant ssh-config获取机器的 SSH 连接详情。 - 当你重建虚拟机(例如
vagrant destroy然后再vagrant up)时,确保清空主机上的drupal文件夹内容,否则在重建虚拟机时 Drupal 会返回一些错误(它无法干净地重新安装 Drupal)。 - 您可以通过编辑
config.yml中的变量来更改已安装的 Drupal 或 drush 版本,或任何其他配置选项。 - 在本次演示中了解更多关于使用 Vagrant、VirtualBox 和 Ansible 的本地开发:本地开发环境 - Vagrant、VirtualBox 和 Ansible。
- 通过阅读《Ansible for DevOps》(Ansible for DevOps),了解 Ansible 如何加快你创新和管理基础设施的能力。
测试
使用 Docker 和 Molecule 运行基础集成测试:
- 安装 Docker。
- 安装 Molecule:
pip3 install ansible molecule[docker] - 在此项目目录中,运行:
composer run-tests
该项目的自动化测试通过 GitHub Actions 运行,更全面的测试套件涵盖了多个 Linux 发行版以及许多不同的 Drupal VM 用例和部署技术。
许可
本项目根据 MIT 开源许可证获得许可。
关于作者
Jeff Geerling 在2014年创建了Drupal VM,以实现更高效的Drupal网站及核心/贡献模块开发工作流程。该项目作为示例出现在《Ansible for DevOps》中。
- 本文标题:drupal-vm - 用于Drupal开发的虚拟机
- 本文链接:https://www.cn121.com/cms/geerlingguy-drupal-vm.html
- 原项目:geerlingguy/drupal-vm 版权归原作者 geerlingguy 及贡献者所有
- 收录信息:本站于 2026-10-24 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 geerlingguy/drupal-vm。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。