自定义 Laravel Homestead 服务器设置?

Customize Laravel Homestead server settings?

是否可以使用 Laravel Homestead 并更改创建的服务器的某些设置?

例如,也许我想要不同版本的 PHP、mySQL 或 Ubuntu。

我查看了 Homestead 源代码,但看不到这些定义的位置。

laravel/homestead 虚拟机(托管在 vagrant cloud 上)构建时预装了以下所有内容:

  • PHP 5.6
  • HHVM
  • Nginx
  • MySQL
  • Postgres
  • 节点(使用 Bower、G运行t 和 Gulp)
  • Redis
  • 内存缓存
  • Beanstalkd
  • Laravel特使
  • Blackfire 分析器

这是为了在 VM 可用之前不再需要复杂而冗长的配置过程。

您有几个选项可以实现您想要的:

  1. (推荐选项)将您自己的 bash 脚本添加到宅基地 after.sh,根据需要删除/添加软件。缺点是这个脚本在每个 vagrant up 上都是 运行,你需要先检查你要安装的包是否已经安装。

  2. 将您自己的配置添加到 Homestead vagrant 文件中。如果您遵循这条路线,我建议您在 Github 上分叉 Homestead 项目并使用您的分叉进行更改。您可以在 VM 的 shell 中执行任何您可以在供应器中执行的操作。例如,您可以从源代码获取最新版本的 PHP 并配置 && make 它,同时删除旧版本。如果您还没有开始使用 vagrant,请查看下面的进一步阅读。

  3. 构建您自己的 VM。有时 homestead box 还不够,我需要快速为我的客户特定环境构建一个 VM。我使用 Vagrant、Chef、and/or Ansible 来实现这一点,尽管在你只使用 vagrant 构建了几个盒子之前我不会推荐最后两个。 Illuminate/Homestead 存储库是了解 Vagrant 的绝佳起点(如果您以前从未使用过它,请准备好 swift 对 Ruby 的介绍)。

这里提到的包/配置器是我个人的喜好。还有许多其他众所周知且可行的软件包来提供基础设施

进一步阅读