intouch / laravel-berkshelf
Laravel Berkshelf Bootstrap
Requires
- laravel/framework: 4.0.*
This package is auto-updated.
Last update: 2024-08-29 03:58:00 UTC
README
这是一个简单项目,旨在使用Berkshelf和Vagrant快速启动Laravel 4.0.x,让你能够尽快开始开发。它包含了一组合理的默认设置,用于简单的Laravel项目,并在Vagrantfile中对本地开发进行了一些覆盖。
要求
- PHP 5.3.x
- Ruby 1.9.3
- Vagrant 1.2.x / VirtualBox 4.2.x
- Berkshelf,包括Vagrant Berkshelf 插件
- Composer
如果你还没有这些工具,请先了解它们。你将错过更轻松的开发生活。
安装
确保你已经安装了上述所有要求。
最简单的方法是使用Composer的create-project
命令
$ composer create-project intouch/laravel-berkshelf my-awesome-project-dir
... 或者,克隆此存储库,从克隆的文件夹运行
$ composer install
$ php artisan key:generate
现在,你可以在my-awesome-project-dir
目录下运行vagrant up
,并观察Berkshelf和Chef如何飞快地工作。
默认情况下,虚拟机的IP设置为33.33.33.10
,而虚拟主机命名为laravel-berkshelf.local
。你可以自由地将这些设置在你的本地hosts
文件中,当然也可以根据需要更改它们。如果你更改了chef烹饪书中的任何设置,只需在my-awesome-project-dir
目录下运行vagrant provision
,Vagrant就会将你的更改应用到虚拟机上。
一旦Vagrant虚拟机启动,并且你设置了hosts文件,你应该看到这个。
Apache将运行默认的Laravel项目,并已创建默认的“laravel”数据库。
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.5.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Tue Jul 16 19:47:53 2013 from 10.0.2.2
vagrant@laravel-berkshelf:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.5.32-0ubuntu0.12.04.1-log (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| laravel |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
Laravel已经设置为使用APC进行会话和缓存,以及使用APPLICATION_ENVIRONMENT
环境变量设置项目环境。
我如何部署它?
使用chef-solo
非常简单。在chef
文件夹中已经存在一个配置文件和JSON负载。你可以简单地运行berks install --path=chef/cookbooks
,这将把所有依赖的烹饪书放在chef/cookbooks
文件夹下,包括项目特定的烹饪书。不用担心,它们在.gitignore中已被排除。现在,将整个项目上传到你的服务器(该服务器已安装了chef 11)并在项目根目录下运行chef-solo -c chef/config.rb -j chef/default.json
。
如果要部署到具有不同设置的多个环境,只需将chef/default.json
复制到chef/<environment>.json
,用你的配置覆盖进行编辑,然后在目标系统上运行chef-solo -c chef/config.rb -j chef/<environment>.json
。
我们已经编写了一些简单的BASH脚本来处理所有这些(包括如有必要,通过ruby和chef引导远程系统);我们很快就会分享它们,但你现在已经了解了大概。
我得到什么?
虚拟机是在Ubuntu 12.04 LTS(Precise Pangolin)的精简安装上构建的,带有Ruby 1.9.3(rvm)和Chef 11.4.4。
安装了默认的PHP 5.3.x(Ubuntu仓库中的最新点发布),以及mcrypt和apc。它通过Apache 2.2.x(又是Ubuntu仓库中的最新点发布)提供,并运行MySQL 5.5.x。默认的MySQL root密码在Vagrantfile中。
在Digital Ocean上部署
您可以使用digital_ocean提供者将您的虚拟机部署到Digital Ocean。安装说明请在这里找到:https://github.com/smdahlen/vagrant-digitalocean
如果您正在使用Mac,不要忘记按照INSTALL部分中的说明安装curl-ca-bundle。
然后,请确保设置所需的环境变量
export DIGITALOCEAN_CLIENTID='12345yourclientID' export DIGITALOCEAN_APIKEY='yourapikey2341514515'
许可证
Berkshelf 项目是开源软件,根据Apache许可证2.0版本授权。
本项目免费如同啤酒。如果您有想法或改进,我们也乐于接受pull请求。请尽情分发。如果您觉得这个项目有用,并且是个好人,请给我们一些小认可(但请更多地认可上述项目的人)。
联系我们
如果您有任何疑问或评论,请在这里提交工单,我们会尽快回复您!