Cookbook-magento - Collection of recipes to build app stack for the Magento deployments with Chef

Overview

Magento Cookbook

Collection of recipes to build app stack for the Magento deployments with Chef

Installation

With Berkshelf

echo "cookbook 'magento', '~> 0.7'" >> Berksfile
berks install
berks upload # if using with Chef Server

With Chef Repository

Run the following commands with-in your Chef Repository:

knife cookbook site install magento
knife cookbook upload magento

Usage Examples

Single Rackspace Cloud Server Instance

Bootstrap Rackspace Cloud Servers instance with:

knife rackspace server create --run-list 'recipe[magento]' --server-name magebox --image 125 --flavor 3

Navigate to the node URL or IP in your browser to complete Magento installation. NOTE: you might need to skip base url validation.

Default Mysql Credentials:

  • database: magento
  • user: magentouser
  • password: randombly generated, see magento -> db attributes under Chef Server dashboard

See Launch Cloud Instances with Knife for the reference.

Hacking

The project preconfigured with a helper tools for bootstraping cookbook in a sandboxed environment, i.e. VirtualBox

Requirements

  • Bundler: gem install bundler
  • Berkshelf: bundle install
  • Vagrant 1.1.0 and greater
  • Berkshelf plugin for Vagrant: vagrant plugin install vagrant-berkshelf
  • Omnibus plugin for Vagrant: vagrant plugin install vagrant-omnibus

Bootstrap VirtualBox

With Ubuntu 12.04

vagrant up

With CentOS 6.5

VMBOX='centos65' vagrant up

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
Comments
  • Version differs github <--> opscode

    Version differs github <--> opscode

    The version available here http://community.opscode.com/cookbooks/magento does not contain latest fixes in the github. Can you release a new version, please?

    opened by MichaelSp 3
  • Move mysql to recipe; Add apache option

    Move mysql to recipe; Add apache option

    Summary:

    • Moved MySQL setup to it's own recipe. Setup is designed to allow for adding other backends (ie Percona)
    • Moved nginx to recipe, added apache2 recipe. Defining the web server to setup is controlled by the attribute node[:magento][:webserver], default is nginx
    • Added attributes for defining the site name, naming your self-signed cert, added a database attribute (mysql is the only currently valid option)
    • Added library to handle generation of self signed certs for use with web server
    • Added test suite to .kitchen.yml to test with apache2
    opened by brint 0
  • Add ability to adjust several nginx timeouts

    Add ability to adjust several nginx timeouts

    This gives the ability for a user to specify different timeouts for send_timeout and proxy_read_timeout. This is useful for situations where memcached or redis is involved and the cache needs to be manually rebuilt. The attribute values set are the default nginx values.

    opened by brint 0
  • Updates and fixes

    Updates and fixes

    Included commits from PR#3

    • Installs current version of community
    • Fix for nginx_site due to change here
    • Bumped php-fpm cookbook version to match new method for setting up pools
    • Updated Vagrant file to use newer version of centos and use ominbus to install newer version of chef
    opened by brint 0
  • Php fpm fix

    Php fpm fix

    Fix for https://github.com/yevgenko/cookbook-php-fpm version 0.6.3

    • New format of pool configuration addded, PLEASE REVIEW
    • Fixed nginx template for new datastruct.
    opened by computerlyrik 0
  • Add Kitchen testsupport to magento cookbook

    Add Kitchen testsupport to magento cookbook

    adds simple kitchen testsupport to magento cookbook

    • installs magento::default into a virtualbox
    • sets forwarding network ports 80 and 443 to 808x and `844x`` on host machine
    • sets mysql passwortds to test

    Update:

    • sets set_unless[:magento][:db][:password] = "magento" in kitchen.yml
    opened by computerlyrik 0
  • Magento wizard installation not showing

    Magento wizard installation not showing

    Hi,

    When using this cookbook without data sample and I navigate to the URL to complete Magento installation, the wizard installation is not showing.

    If I modify the file local.xml as explained in below URL, I am able to install magento as usual visiting the page.

    http://www.samundra.com.np/solved-failed-error-magento-is-already-installed/439

    opened by smartinm 0
  • Update dependencies to compatible versions

    Update dependencies to compatible versions

    I got some chef errors during vagrant up/provision. It seems ther have been some updates to the latest versions of mysql and php-fpm cookbooks which are incompatible with this cook book.

    I updated the dependency versions for this cook book to use the older versions of mysql and pnp-fpm to make it work.

    opened by anujbhatia 0
  • Magento cookbook in ubuntu14.04

    Magento cookbook in ubuntu14.04

    Hi, I have running magento cookbook for ubuntu14.04,it shows apc error that get resolved Again shows libmysql package not found,so remove that for this platform,since no need libmysql for this platform.When again running it shows failure in restarting a php5-fpm service.when i ping that ip in browser it shows magento page but with mcrypt php missing error.So i enable phpenmod mcrypt and restart a php5-fpm service.Working fine.So now my query is "where to add this phpenmod mcrypt in a cookbook? Shall i add in definition of a magento cookbook.

    Thanks, inhu

    opened by indraindu 0
  • Presumed apc.ini location is incorrect for Ubuntu 14.04

    Presumed apc.ini location is incorrect for Ubuntu 14.04

    When attempting to run this recipe on Ubuntu 14.04, I encountered an error regarding the location of the apc.ini file. The recipe installs PHP 5.5 (with which I do not believe Magento is even technically compatible). Part of the issue seems to be that PHP 5.5 uses the new Zend OpCache and APC is now replaced by APCu in the package php-apc. Thus, the location /etc/php5/conf.d being used in the recipe does not exist: https://github.com/yevgenko/cookbook-magento/blob/master/recipes/default.rb#L23. The error was: No such file or directory - /etc/php5/conf.d.

    I think the possible fix here might be either specifying that PHP is installed with a specific version (that is less than 5.5) or fixing the portion of the recipe that deals with APC to search in the correct location, which appears to be /etc/php5/fpm/conf.d/20-apcu.ini. Any thoughts on this?

    opened by ltcdnunez 3
  • Cookbook 'nginx' does not contain a file (templates/default/nginx-site.erb) (+fix)

    Cookbook 'nginx' does not contain a file (templates/default/nginx-site.erb) (+fix)

    Hi,

    When using this cookbook with nginx as the web server, I encountered the following error:

    
    ==> magento: ================================================================================
    ==> magento: Error executing action `create` on resource 'template[/etc/nginx/sites-available/default]'
    ==> magento: ================================================================================
    ==> magento: 
    ==> magento: 
    ==> magento: Chef::Exceptions::FileNotFound
    ==> magento: ------------------------------
    ==> magento: Cookbook 'nginx' (2.7.4) does not contain a file at any of these locations:
    ==> magento:   templates/centos-6.5/nginx-site.erb
    ==> magento:   templates/centos/nginx-site.erb
    ==> magento:   templates/default/nginx-site.erb
    
    

    This is because the template defined on line 26 of the _web_nginx recipe is duplicating the template already defined within the nginx recipe at "#{node['nginx']['dir']}/sites-available/default" which installs the nginx default site, later to be deleted by this recipe.

    When a template is defined twice, the second definition inherits attributes from the first, including it seems the cookbook - meaning that when the magento recipe attempts to write this file from its own template, chef looks in the nginx cookbook for the file.

    A simple fix is adding cookbook "magento" to the template definition in _web_nginx. This forces chef to look for the resource in the magento recipe.

    I wasn't sure whether it would be something you'd want to include, or look at a different solution such as not installing the nginx default site in the first place... but thought I'd document since I'd figured it out. I can submit a PR with the change if you like.

    opened by samsworldofno 3
Releases(v0.8.2)
MageVagrant - Vagrant/Chef base box for running Magento

MageVagrant MageVagrant is a complete LAMP development environment for Magento. Specially created for the Magento Developer's Guide book. Features Aut

null 59 Sep 28, 2021
Tool based on deployer.org to perform zero downtime deployments of Magento 2 projects

Magento 2 Deployer Plus Reliable fully-automated deployments tool for Magento 2. Zero downtime deployments on Magento versions >= 2.2 Automating your

Juan Alonso 194 Dec 27, 2022
Helper plugin to install SilverStripe recipes

SilverStripe recipe-plugin Introduction This plugin enhances composer and allows for the installation of "silverstripe-recipe" packages. These recipes

Silverstripe CMS 10 Oct 4, 2022
Repository containing all the PHPStan rules from the book "Recipes for Decoupling"

PHPStan rules from the book "Recipes for Decoupling" by Matthias Noback In the book "Recipes for Decoupling" we discuss how to decouple from web and C

Matthias Noback 19 Sep 21, 2022
A wrapper around symplify/config-transformer used to update recipes and using easy coding standard for generating readable config files.

Symfony Recipes Yaml to PHP Converter This is a wrapper around the symplify/config-transformer used to convert Symfony core recipes which uses .yaml c

Alexander Schranz 3 Nov 24, 2022
Scanner, signatures and the largest collection of Magento malware

Improved malware scanner now available Good news: our opensource malware scanner "mwscan" has been succeeded by a much better one called eComscan. It

Willem de Groot 651 Dec 6, 2022
A collection of command line scripts for Magento 2 code generation, and a PHP module system for organizing command line scripts.

What is Pestle? Pestle is A PHP Framework for creating and organizing command line programs An experiment in implementing python style module imports

Alan Storm 526 Dec 5, 2022
A complete stack for running Symfony 5 into Docker containers using docker-compose tool and with Certbot for the HTTPS certificate.

?? Docker + PHP 7.4 + MySQL8.0 + Nginx + Certbot(HTTPS) + Symfony 5 Boilerplate ?? Edited from https://github.com/ger86/symfony-docker version -> http

null 6 Nov 9, 2022
The full-stack test project for Personnel LTD.

personnel-ltd The full-stack test project for Personnel LTD. Clone and install composer dependencies. $ git clone [email protected]:arsovskidev/personnel

Филип Арсовски 1 Dec 7, 2021
Stack Coderunner para Moodle

Stack Coderunner para Moodle Este projeto inclui um stack de ferramentas úteis para utilização do plugin de tipo de questão Moodle chamado Coderunner.

Tiago Ferreira 1 Jan 21, 2022
Signaler library that provide stack for signal listeners.

Stack Signaler. Contents Installation Usage Testing License Installation composer require kafkiansky/signaler Usage Simple example with \SIGINT signal

kafkiansky 1 Mar 25, 2022
Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.

Scotch Box is a preconfigured Vagrant Box with a full array of LAMP Stack features to get you up and running with Vagrant in no time.

scotch 2.7k Jan 8, 2023
Get mobile app version and other related data from Google Play Store, Apple App Store and Huawei AppGallery

Mobile App Version Get mobile app version and other related data from Google Play Store, Apple App Store and Huawei AppGallery. Installation Add to co

Omer Salaj 11 Mar 15, 2022
This is an example app demonstrating how to deploy a php app to runway.

Runway Example php App This is an example app demonstrating how to deploy a php app to runway. clone this repo, and navigate into that directory runwa

Planetary Quantum GmbH 0 Aug 9, 2022
HTMX example app that demonstrates how to use HTMX to add javascript interactivity to a serverside rendered PHP app

HTMX examle app This demo app demonstrates how to use HTMX to transform a server side rendered PHP app into a more 'interactive' app with AJAX request

Alexander Morland 3 Dec 11, 2022
Collection pipeline library for PHP

Knapsack Collection pipeline library for PHP Knapsack is a collection library for PHP >= 5.6 that implements most of the sequence operations proposed

Dušan Kasan 540 Dec 17, 2022
This is a collection of tutorials for learning how to use Docker with various tools. Contributions welcome.

Docker Tutorials and Labs At this time we are not actively adding labs to this repository. Our focus is on training.play-with-docker.com where new lab

Docker 11.1k Jan 2, 2023
SilverStripe Garbage Collection Module

SilverStripe Module for defining and processing Garbage Collection on SilverStripe Applications.

Brett Tasker 8 Aug 12, 2022