Coder Social home page Coder Social logo

dhirajbodicherla / heroku-buildpack-php-columbo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from heroku/heroku-buildpack-php

0.0 1.0 0.0 645 KB

A custom Heroku PHP buildpack, including ant, composer, new relic and nodejs support.

Shell 100.00%

heroku-buildpack-php-columbo's Introduction

Columbo PHP buildpack

This is a Heroku buildpack which includes:

  • Ant
  • A build tool
  • Apache
  • Current version: 2.4
  • Includes the following modules:
  • deflate, expires, fcgid, headers, macro, rewrite, status
  • Uses mod_fcgid and php-fpm instead of mod_php5, resulting in memory and CPU savings.
  • Composer
  • Installs dependencies from composer.json, if found
  • New Relic
  • An application performance monitoring tool
  • NPM
  • Installs dependencies from package.json, if found
  • PHP
  • Current version: 5.4
  • Includes the following notable extensions:
  • apc, curl, mcrypt, memcached, mysql, mysqli, newrelic, pdo, pgsql, phar, soap, zip

This build pack should be used along with taeram/heroku-buildpack-php-columbo-template.

Requirements

  • A Heroku account
  • An Amazon AWS account
  • Your Amazon AWS Access Key and Secret Key
  • An Amazon S3 bucket, for storing the buildpack assets

Configuring Apache and PHP

The configuration files for Apache and PHP are in the /conf/ directory.

Simply update them as you see fit, and commit them to your fork of this buildpack.

Setup

Here's how to setup and configure the buildpack for the first time.

1. Fork the repo

Since buildpack configuration can differ quite widely, it's a good idea to fork this repo and use the fork as your buildpack.

In your Heroku application, you would simply set your BUILDPACK_URL as follows:

heroku config:set BUILDPACK_URL=https://github.com/your-username/heroku-buildpack-php-columbo

2. Dependencies

If you're using Mac OS X, make sure you have coreutils installed:

sudo brew install coreutils

3. Vulcan Server

First, you'll need to setup a Vulcan server. See Create a Build Server step for instructions.

4. S3CMD

Next, you'll need to install and configure s3cmd:

sudo apt-get -y install s3cmd
s3cmd --configure

If you haven't created an S3 bucket yet, you can do that now using s3cmd:

s3cmd mb s3://my-bucket-name

5. Build all the things

You'll need to tell the buildpack what S3 bucket you're using:

cat > ./support/config.sh
BUILDPACK_S3_BUCKET=my-bucket-name

Finally, we're ready to compile the buildpack assets:

./support/vulcan.sh all

You can also build individual assets to save time:

./support/vulcan.sh php newrelic

6. Updating your buildpack assets

At some point down the road, you may decide you want more recent versions of the buildpack assets. Simply update the versions in variables.sh, and re-run ./support/vulcan.sh as detailed above.

Meta

This repo is a fork of heroku/heroku-buildpack-php, and includes code from heroku/heroku-buildpack-nodejs and heroku-buildpack-php-tyler.

heroku-buildpack-php-columbo's People

Contributors

taeram avatar tmaher avatar ryanbrainard avatar bitdeli-chef avatar mmcgrana avatar mdz avatar

Watchers

Dhiraj Bodicherla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.