Coder Social home page Coder Social logo

realchrisolin / wp-chef Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bastosmichael/wp-chef

0.0 2.0 0.0 763 KB

Democratizing WordPress Hosting - Deployment with Vagrant and EC2 using Chef + Apache / Nginx

Shell 1.03% Ruby 29.95% Perl 0.03% HTML 68.80% Vim Script 0.12% Gherkin 0.07%

wp-chef's Introduction

WP-Chef

I'm transitioning all of my working chef recipes for WordPress into a single install utility. Basically this is a shortcut to setting up a Wordpress dev & production environment using Vagrant on VirtualBox (Locally) & EC2 (Remotely) provisioned with Chef. Updated to support Vagrant 2 (1.2) configuration.

Development Strategy

Apache Beta: Currently working

Deploys cookbook both to Vagrant and EC2

Nginx Beta: Currently working.

Deploys cookbook both to Vagrant and EC2

Redis Alpha: Currently working.

Deploys cookbook both to Vagrant and EC2 with Redis Caching

Distributed Concept: Currently Under Development.

I have the chef script to do distributed but I have to rewrite it to have it work with Vagrant.

Usage

One: Install Vagrant 1.2.2.

http://downloads.vagrantup.com/tags/v1.2.2

Two: Clone this repository.

git clone https://github.com/bastosmichael/WP-Chef.git

Three: Install desired Vagrant Plugins

#For AWS Deployment
vagrant plugin install vagrant-aws
vagrant plugin install vagrant-awsinfo

#For Rackspace Deployment
vagrant plugin install vagrant-rackspace

Four: Copy Apache or Nginx Vagrantfile

cp Vagrantfile.apache Vagrantfile #For Apache Setup

or

cp Vagrantfile.nginx Vagrantfile  #For Nginx Setup

or 

cp Vagrantfile.redis Vagrantfile  #For Redis Setup

Five: Configure Vagrantfile for Production.

    # You may need to change to a dummy box the first time you run it
    config.vm.box = "dummy"
    config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"

    # Add your configurations for AWS Deployment
    aws.access_key_id = "YOUR KEY"
    aws.secret_access_key = "YOUR SECRET KEY"
    aws.keypair_name = "KEYPAIR NAME"
    override.ssh.private_key_path = "PATH TO YOUR PRIVATE KEY"

    # Add your configurations for RackSpace Deployment
    rs.username = "YOUR USERNAME"
    rs.api_key  = "YOUR API KEY"


    # Lockdown your system database for apache (:server_root_password is database password)
    "dbhost" => "localhost",
    "database" => "wordpressdb",
    "dbuser" => "wordpressuser",
    :server_root_password   => "YOUR RANDOM PASSWORD",
    :server_repl_password   => "YOUR RANDOM PASSWORD",
    :server_debian_password => "YOUR RANDOM PASSWORD"

    # Lockdown your system database for nginx & redis ("server_root_password" is database password)
    "dbhost" => "localhost",
    "database" => "wordpressdb",
    "dbuser" => "wordpressuser",
    "server_root_password"  => "password",

Six: Vagrant up to deploy locally.

cd wp-chef
vagrant up 

#This takes a few minutes

Configure your blog at [http://localhost:8000/wp-admin/install.php](http://localhost:8000/wp-admin/install.php).

Seven: Vagrant up to deploy to Remote Service.

# For AWS Deployment, may take a few minutes
cd wp-chef
vagrant up --provider=aws
vagrant awsinfo -k host
# Use vagrant awsinfo -m default -p to view all the instance data

# For Rackspace Deployment, may take a few minutes
cd wp-chef
vagrant up --provider=rackspace

Configure your blog at [http://YOUR_HOST/wp-admin/install.php](http://YOUR_HOST/wp-admin/install.php).

wp-chef's People

Contributors

bastosmichael avatar developdaly avatar

Watchers

James Cloos avatar Chris Olin 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.