Answers.Body: <p>As Kurund pointed out, the general instructions are at <a href="https://github.com/civicrm/civicrm-buildkit" rel="noreferrer">https://github.com/civicrm/civicrm-buildkit</a> . Follow those instructions to download the all the tools.</p>
  
  <p>There are a few details that may not be well represented yet in the documentation:</p>
  
  <ol>
  <li><p>As the main developer behind buildkit, I use it mostly in MAMP (and a bit in Debian and Ubuntu).</p></li>
  <li><p>Buildkit runs several things on the command-line, so you need to make sure that the command-line is setup with the right version of <code>php</code>. By default, OSX uses its built-in version of <code>php</code>, but MAMP's version is generally better. See: <a href="http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP" rel="noreferrer">http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP</a></p></li>
  <li><p>I suggest putting buildkit in your home directory (e.g., <code>git clone https://github.com/civicrm/civicrm-buildkit.git ~/buildkit</code>). This is where all the <em>tools</em> will go. The source-code for CMS+Civi may go somewhere else (more in a moment).</p></li>
  <li><p>After downloading buildkit, you'll need to setup a site with Civi. You can choose among two distinct workflows:</p>
  
  <ul>
  <li><code>gitify</code>: You install CMS+Civi manually and then run <code>gitify</code> to load the bleeding-edge Civi code.
  
  <ul>
  <li><em>Where</em>: You can put the code anywhere. In MAMP, <code>/Applications/MAMP/htdocs</code> is probably easiest.</li>
  <li><em>Pro</em>: You can use any tools or processes you want to setup Apache, MySQL, CMS, etc.</li>
  <li><em>Pro</em>: Your configuration is custom. You control everything directly.</li>
  <li><em>Con</em>: Your configuration is custom. It's hard for other developers to reproduce, and it doesn't match the official test/demo environments.</li>
  <li><em>Con</em>: If you need to create multiple sites, you have to do all setup work repeatedly.</li>
  <li><em>Con</em>: If you want to work with the <a href="http://wiki.civicrm.org/confluence/display/CRMDOC/Testing" rel="noreferrer">automated tests</a> or schema, then you'll need to do several extra configuration steps.</li>
  <li><em>Summary</em>: <code>gitify</code> is generally best for light development with a single build.</li>
  <li><em>Next step</em>: Setup Apache+MySQL as you normally would. Install a CMS (Drupal/WordPress) and CiviCRM using tarballs or zip files. Then, run <code>gitify</code> with no arguments. It will display a help screen with some examples.</li>
  </ul></li>
  <li><code>civibuild</code>: You run a command like <code>civibuild create d46 --url http://d46.localhost</code>; the command automatically configures Apache+MySQL, downloads Drupal, downloads Civi v4.6, and installs them.
  
  <ul>
  <li><em>Where</em>: All builds will get placed under  buildkit's folder. For example, the "d46" build might be <code>~/buildkit/build/d46</code>.</li>
  <li><em>Pro</em>: Setting up new sites is automated. It's easy to create several different sites using a mix of CMS's and versions.</li>
  <li><em>Pro</em>: Your configuration is standardized. It matches the official test/demo environments.</li>
  <li><em>Pro</em>: Each site is automatically configured to run the <a href="http://wiki.civicrm.org/confluence/display/CRMDOC/Testing" rel="noreferrer">automated tests</a>.</li>
  <li><em>Con</em>: Your configuration is standardized. Loading things to match your personal preferences requires more work.</li>
  <li><em>Con</em>: The upfront configuration can be difficult/unforgiving - buildkit needs access to the internals of Apache and MySQL. Generally, it's based on a philosophy of "fail early, fail hard".</li>
  <li><em>Summary</em>: <code>civibuild</code> is generally best for heavy development.</li>
  <li><em>Next step</em>: See the detailed tutorials at <a href="https://github.com/civicrm/civicrm-buildkit/blob/master/doc/civibuild.md" rel="noreferrer">https://github.com/civicrm/civicrm-buildkit/blob/master/doc/civibuild.md</a> or <a href="https://buildkit-ui.civicrm.org/#/welcome" rel="noreferrer">https://buildkit-ui.civicrm.org/#/welcome</a> .</li>
  </ul></li>
  </ul></li>
  <li><p>If you go the <code>civibuild</code> route, then will need to prep the system by running <code>amp config</code>, which will present some questions and instructions for the local system. In a default MAMP configuration, some good values are:</p>
  
  <ul>
  <li><code>db_type</code>: <code>mysql_dsn</code></li>
  <li><code>mysql_dsn</code>: <code>mysql://root:root@127.0.0.1:8889</code> (or sometimes <code>:3306</code>)</li>
  <li><code>perm_type</code>: <code>osxAcl</code> (or <code>none</code>)</li>
  <li><code>perm_user</code>: <code>www</code></li>
  <li><code>hosts_type</code>: <code>file</code></li>
  <li><code>httpd_type</code>: <code>apache</code></li>
  <li><code>httpd_restart_command</code>: <code>/Applications/MAMP/Library/bin/apachectl graceful</code></li>
  </ul></li>
  <li><p>In any workflow, buildkit has better support for Drupal- or WordPress-based dev-sites. There's some experimental code to support Joomla-based dev-sites, but the Civi-Joomla installer is difficult to automate, and it probably won't be resolved until <a href="http://forum.civicrm.org/index.php/topic,35050.0.html" rel="noreferrer">http://forum.civicrm.org/index.php/topic,35050.0.html</a> gets some real attention.</p></li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-17T08:26:51.903Z
Answers.LastActivityDate: 2016-04-23T19:51:33.763Z
Answers.LastEditDate: 2016-04-23T19:51:33.763Z
Answers.UserDisplayName: Tim Otten
Answers.Body: <p>Using MAMP should be fine. You might also have to install git. For detailed instructions on buildkit please check:</p>
  
  <blockquote>
    <p><a href="https://github.com/civicrm/civicrm-buildkit" rel="nofollow">https://github.com/civicrm/civicrm-buildkit</a></p>
    
    <p><a href="https://buildkit-ui.civicrm.org/#/welcome" rel="nofollow">https://buildkit-ui.civicrm.org/#/welcome</a></p>
  </blockquote>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-17T04:20:17.653Z
Answers.LastActivityDate: 2015-04-17T17:30:01.307Z
Answers.LastEditDate: 2015-04-17T17:30:01.307Z
Answers.UserDisplayName: Kurund Jalmi
Answers.Body: <p>Point 6 above perhaps explains why Joomla seems to be getting less support than Drupal or WordPress.  I have a local Joomla environment, but it is probably not correctly configured for development.  I was trying to improve that environment, but couldn't find instructions as to how to do it in Joomla.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-05-16T15:40:05.127Z
Answers.LastActivityDate: 2016-05-16T15:40:05.127Z
Answers.UserDisplayName: Stephen Palmstrom
Body: <p>I am new to the developer/code side of CiviCRM and attending the Dev training at CiviCON. <a href="https://stackoverflow.com/questions/29575021/install-civi-buildkit-to-have-a-working-civicrm">I saw a post on StackOverflow about installing buildkit</a> but haven't seen it re-posted here. I would appreciate a little more detailed steps on installing buildkit so I am prepared for the training. </p>
  
  <p>I am using a Mac and it has also been recommended to me that I use <a href="https://www.mamp.info/en/" rel="nofollow noreferrer">MAMP</a>. Would I install buildkit inside MAMP?</p>
  
Tags: <developer><civicrm-buildkit><mamp>
Title: How do I set up dev environment with buildkit?
ThreadText: # How do I set up dev environment with buildkit?
  
  (Asked by: username_0 on 2015-04-17)
  
  I am new to the developer/code side of CiviCRM and attending the Dev training at CiviCON. [I saw a post on StackOverflow about installing buildkit](https://stackoverflow.com/questions/29575021/install-civi-buildkit-to-have-a-working-civicrm) but haven't seen it re-posted here. I would appreciate a little more detailed steps on installing buildkit so I am prepared for the training.
  
  I am using a Mac and it has also been recommended to me that I use [MAMP](https://www.mamp.info/en/). Would I install buildkit inside MAMP?
  
  **Tags:** developer, civicrm-buildkit, mamp
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2015-04-17. Score: 15
  
  As username_2 pointed out, the general instructions are at <https://github.com/civicrm/civicrm-buildkit> . Follow those instructions to download the all the tools.
  
  There are a few details that may not be well represented yet in the documentation:
  
  1. As the main developer behind buildkit, I use it mostly in MAMP (and a bit in Debian and Ubuntu).
  2. Buildkit runs several things on the command-line, so you need to make sure that the command-line is setup with the right version of `php`. By default, OSX uses its built-in version of `php`, but MAMP's version is generally better. See: <http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP>
  3. I suggest putting buildkit in your home directory (e.g., `git clone https://github.com/civicrm/civicrm-buildkit.git ~/buildkit`). This is where all the *tools* will go. The source-code for CMS+Civi may go somewhere else (more in a moment).
  4. After downloading buildkit, you'll need to setup a site with Civi. You can choose among two distinct workflows:
  
     * `gitify`: You install CMS+Civi manually and then run `gitify` to load the bleeding-edge Civi code.
       + *Where*: You can put the code anywhere. In MAMP, `/Applications/MAMP/htdocs` is probably easiest.
       + *Pro*: You can use any tools or processes you want to setup Apache, MySQL, CMS, etc.
       + *Pro*: Your configuration is custom. You control everything directly.
       + *Con*: Your configuration is custom. It's hard for other developers to reproduce, and it doesn't match the official test/demo environments.
       + *Con*: If you need to create multiple sites, you have to do all setup work repeatedly.
       + *Con*: If you want to work with the [automated tests](http://wiki.civicrm.org/confluence/display/CRMDOC/Testing) or schema, then you'll need to do several extra configuration steps.
       + *Summary*: `gitify` is generally best for light development with a single build.
       + *Next step*: Setup Apache+MySQL as you normally would. Install a CMS (Drupal/WordPress) and CiviCRM using tarballs or zip files. Then, run `gitify` with no arguments. It will display a help screen with some examples.
     * `civibuild`: You run a command like `civibuild create d46 --url http://d46.localhost`; the command automatically configures Apache+MySQL, downloads Drupal, downloads Civi v4.6, and installs them.
       + *Where*: All builds will get placed under buildkit's folder. For example, the "d46" build might be `~/buildkit/build/d46`.
       + *Pro*: Setting up new sites is automated. It's easy to create several different sites using a mix of CMS's and versions.
       + *Pro*: Your configuration is standardized. It matches the official test/demo environments.
       + *Pro*: Each site is automatically configured to run the [automated tests](http://wiki.civicrm.org/confluence/display/CRMDOC/Testing).
       + *Con*: Your configuration is standardized. Loading things to match your personal preferences requires more work.
       + *Con*: The upfront configuration can be difficult/unforgiving - buildkit needs access to the internals of Apache and MySQL. Generally, it's based on a philosophy of "fail early, fail hard".
       + *Summary*: `civibuild` is generally best for heavy development.
       + *Next step*: See the detailed tutorials at <https://github.com/civicrm/civicrm-buildkit/blob/master/doc/civibuild.md> or <https://buildkit-ui.civicrm.org/#/welcome> .
  5. If you go the `civibuild` route, then will need to prep the system by running `amp config`, which will present some questions and instructions for the local system. In a default MAMP configuration, some good values are:
  
     * `db_type`: `mysql_dsn`
     * `mysql_dsn`: `mysql://root:root@127.0.0.1:8889` (or sometimes `:3306`)
     * `perm_type`: `osxAcl` (or `none`)
     * `perm_user`: `www`
     * `hosts_type`: `file`
     * `httpd_type`: `apache`
     * `httpd_restart_command`: `/Applications/MAMP/Library/bin/apachectl graceful`
  6. In any workflow, buildkit has better support for Drupal- or WordPress-based dev-sites. There's some experimental code to support Joomla-based dev-sites, but the Civi-Joomla installer is difficult to automate, and it probably won't be resolved until <http://forum.civicrm.org/index.php/topic,35050.0.html> gets some real attention.
  
  
  ---
  
  ### Answer by username_2 on 2015-04-17. Score: 3
  
  Using MAMP should be fine. You might also have to install git. For detailed instructions on buildkit please check:
  
  > <https://github.com/civicrm/civicrm-buildkit>
  >
  > <https://buildkit-ui.civicrm.org/#/welcome>
  
  
  ---
  
  ### Answer by username_3 on 2016-05-16. Score: 0
  
  Point 6 above perhaps explains why Joomla seems to be getting less support than Drupal or WordPress. I have a local Joomla environment, but it is probably not correctly configured for development. I was trying to improve that environment, but couldn't find instructions as to how to do it in Joomla.
  
  
  ---
  
  