CMS系统 已归档

drupal-vm

geerlingguy/drupal-vm

用于Drupal开发的虚拟机

1346
Stars 标星
616
Forks 分支
3
Watchers 关注
16
Open Issues
Jinja
主要语言
MIT
开源协议
2.2 MB
仓库大小
3 年前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:geerlingguy/drupal-vm
git clone https://github.com/geerlingguy/drupal-vm.git
git clone git@github.com:geerlingguy/drupal-vm.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

弃用通知: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 有两种方式:

  1. Using Vagrant and VirtualBox.
  2. 使用 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,请执行以下操作:

  1. 在 config.yml 中设置 drupal_major_version: 8。
  2. 在 config.yml 中设置 drupal_composer_project_package: "drupal/recommended-project:^8@dev"。

如果你想在初始安装时使用 Drupal 7,请执行以下操作:

  1. 改用 Drush Make 文件。
  2. 更新你的 drupal.make.yml 文件中的 Drupal version 和 core 。
  3. 在 config.yml 中设置 drupal_major_version: 7。

快速入门指南

本快速入门指南将帮助您在 Drupal VM 上快速构建 Drupal 9 网站,通过创建一个新的 Composer 项目。您还可以将 Drupal VM 与 Composer、Drush Make 文件、本地 Drupal 代码库 或甚至 Drupal 多站点安装 一起使用。

如果你想在本地安装一个 Drupal 网站并尽量减少麻烦,只需:

  1. 安装 Vagrant 和 VirtualBox。
  2. 将此项目下载或克隆到您的工作站。
  3. 将 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 - 构建虚拟机

  1. 下载这个项目并把它放到你想放的地方。
  2. (可选) 将 default.config.yml 复制到 config.yml 并根据您的喜好进行修改。
  3. 创建一个本地目录用于安装 Drupal,并在 config.yml 中配置该目录的路径(在 vagrant_synced_folders 内的 local_path)。
  4. 打开终端,cd 到这个目录(包含 Vagrantfile 和这个自述文件)。
  5. 输入 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 的次要版本之间更新时,请按照以下流程进行操作:

  1. 阅读发行说明并添加/修改其中提到的 config.yml 变量。
  2. 将你的 config.yml 与更新后的 default.config.yml 进行差异比较(例如 curl https://raw.githubusercontent.com/geerlingguy/drupal-vm/master/default.config.yml | git diff --no-index config.yml -)。
  3. 运行 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 运行基础集成测试:

  1. 安装 Docker。
  2. 安装 Molecule:pip3 install ansible molecule[docker]
  3. 在此项目目录中,运行: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 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。