indemnity83 / bakery
美味的 CakePHP 开发环境。
Requires
- php: >=5.4
- symfony/console: ~2.0
- symfony/process: ~2.0
This package is not auto-updated.
Last update: 2020-01-20 03:37:59 UTC
README
美味的 CakePHP 开发环境。
简介
CakePHP Bakery 致力于通过使用以下方法使您的本地开发环境变得美味且易于使用:
CakePHP Bakery 是一个预包装的 Vagrant "box",它为您提供了一个无需在本地机器上安装 PHP、Web 服务器和其他任何服务器软件的出色开发环境。不再担心搞乱您的操作系统!Vagrant boxes 完全可丢弃。如果出现问题,您可以在几分钟内销毁并重新创建该 box!
Bakery 在任何 Windows、Mac 或 Linux 系统上运行,包括 Nginx Web 服务器、PHP 5.5、MySQL、Postgres、Redis、Memcached 以及您开发惊人的 CakePHP 应用程序所需的所有其他好东西。
注意:如果您正在使用 Windows,您可能需要启用硬件虚拟化(VT-x)。通常可以通过您的 BIOS 来启用。
Bakery 目前使用 Vagrant 1.6 构建并进行了测试。
包含的软件
- Ubuntu 14.04
- PHP 5.5
- Nginx
- MySQL
- Postgres
- Redis
- Git
- Composer
- Memcached
- Heroku Toolbelt
安装和设置
安装 VirtualBox 和 Vagrant
在启动 Bakery 环境之前,您必须安装 VirtualBox 和 Vagrant。这两个软件包都为所有流行的操作系统提供了易于使用的可视化安装程序。
Vagrant 插件
Bakery 靠几个 vagrant 插件来帮助事情顺利运行。虽然安装 vagrant 插件非常简单,但只需运行以下两个命令即可获取您需要的所有插件。
vagrant plugin install vagrant-librarian-chef
vagrant plugin install vagrant-omnibus
安装 Bakery
一旦安装了 VirtualBox 和 Vagrant,您就可以使用 Composer global 命令安装 Bakery CLI 工具。
composer global require "indemnity83/bakery"
请确保将 ~/.composer/vendor/bin 目录放在您的 PATH 中,以便在终端中运行 bakery 命令时找到 bakery 可执行文件。
安装了 Bakery CLI 工具后,运行 init 命令以创建 Bakery.yaml 配置文件
bakery init
Bakery.yaml 文件将放置在 ~/.bakery 目录中。如果您正在使用 Mac 或 Linux 系统,您可以通过在终端中运行 bakery edit 命令来编辑 Bakery.yaml 文件
bakery edit
设置您的 SSH 密钥
接下来,您应该编辑Bakery.yaml文件。在这个文件中,您可以配置公共SSH密钥的路径以及您希望与主机器和Bakery虚拟机之间共享的文件夹。
没有SSH密钥?在Mac和Linux上,您通常可以使用以下命令创建SSH密钥对
ssh-keygen -t rsa -C "you@bakery"
在Windows上,您可以安装Git并使用Git Bash shell(Git附带)执行上述命令。或者,您可以使用PuTTY和PuTTYgen。
一旦创建了SSH密钥,请在Bakery.yaml文件中的authorize属性中指定密钥的路径。
配置您的共享文件夹
Bakery.yaml文件中的folders属性列出了您希望与Bakery环境共享的所有文件夹。当这些文件夹中的文件发生变化时,它们将在您的本地机器和Bakery环境之间保持同步。您可以根据需要配置任意数量的共享文件夹!
配置您的Nginx站点
不熟悉Nginx?没问题。sites属性允许您轻松地将“域名”映射到Bakery环境上的一个文件夹。Bakery.yaml文件中包含了一个示例站点配置。同样,您可以根据需要添加任意数量的站点到Bakery环境。Bakery可以作为一个方便的、虚拟化的环境,为您的每一个 CakePHP 项目提供服务!
sites:
- map: bakery.app
to: /home/vagrant/Code/bakery/app/wwwroot
Bash别名
要将Bash别名添加到您的Bakery虚拟机中,只需将别名添加到根目录下的`~/.bakery`目录中的aliases文件中。
启动Vagrant虚拟机
编辑完Bakery.yaml文件后,在终端中运行`bakery up`命令。Bakery将启动虚拟机,并自动配置您的共享文件夹和Nginx站点!要销毁机器,可以使用`bakery destroy`命令。要获取所有可用Bakery命令的完整列表,运行`bakery list`。
别忘了将Nginx站点的“域名”添加到您的机器上的hosts文件中!hosts文件将把您的本地域名请求重定向到Bakery环境。在Mac和Linux上,该文件位于`/etc/hosts`。在Windows上,它位于`C:\Windows\System32\drivers\etc\hosts`。您添加到该文件的行将类似于以下内容
192.168.10.10 bakery.app
确保列出的IP地址是您在Bakery.yaml文件中设置的。一旦将域名添加到hosts文件中,您就可以通过网页浏览器访问该站点了!
http://bakery.app
要了解如何连接到您的数据库,请继续阅读!
日常使用
通过SSH连接
要通过SSH连接到您的Bakery环境,在终端中发出bakery ssh命令。
连接到您的数据库
Bakery默认配置了MySQL和Postgres数据库。您需要将CakePHP应用程序的database.php(或.env)配置为连接到数据库。
要从您的本地机器通过Navicat或Sequel Pro连接到MySQL或Postgres数据库,您应该连接到127.0.0.1和端口33060(MySQL)或54320(Postgres)。两个数据库的用户名和密码都是bakery / secret。
注意:您应该只在从您的本地机器连接到数据库时使用这些非标准端口。由于CakePHP在虚拟机中运行,您将在CakePHP数据库配置文件中使用默认的3306和5432端口。
添加额外的站点
一旦您的Bakery环境部署并运行,您可能想为您的CakePHP应用程序添加额外的Nginx站点。您可以在单个Bakery环境中运行任意数量的CakePHP安装。您只需将站点添加到Bakery.yaml文件中,然后运行bakery provision。
端口
以下端口已转发到您的Bakery环境
SSH: 2222 -> Forwards To 22
HTTP: 8000 -> Forwards To 80
MySQL: 33060 -> Forwards To 3306
Postgres: 54320 -> Forwards To 5432