-
Sean Madsen authored
perl -0777 -i -pe 's|^(.*)\n-{3,}$|## $1|gm' `find . -name '*.md'` perl -0777 -i -pe 's|^(.*)\n={3,}$|# $1|gm' `find . -name '*.md'`
Sean Madsen authoredperl -0777 -i -pe 's|^(.*)\n-{3,}$|## $1|gm' `find . -name '*.md'` perl -0777 -i -pe 's|^(.*)\n={3,}$|# $1|gm' `find . -name '*.md'`
Development requirements
Languages and Services
- Unix-like environment (Linux, OS X, or a virtual machine)
- PHP v5.3+
- MySQL v5.1+
- NodeJS
- Git
- Recommended: Apache HTTPD v2.2+
- Recommended: Ruby/Rake
Command Line
There are many ways to install MySQL, PHP, and other dependencies -- for
example, apt-get
and yum
can download packages automatically; php.net
and mysql.com
provide standalone installers; and MAMP/XAMPP provide
bundled installers.
Civi development should work with most packages -- but there's one proviso:
the command-line must support standard commands (php
, mysql
,
node
, git
, bash
, etc).
Some packages are configured properly out-of-the-box. (Linux distributions do a pretty good job of this.) Other packages require extra configuration steps (e.g. Setup Command Line PHP for MAMP).
In subsequent steps, the download script will attempt to identify misconfigurations and display an appropriate message.
Buildkit
The developer docs reference a large number of developer tools, such as
drush
(the Drupal command line), civix
(the CiviCRM code-generator), and
karma
(the Javascript tester).
Many of these tools are commonly used by web developers, so you may have already installed a few. You could install all the tools individually -- but that takes a lot of work.
civicrm-buildkit provides a script which downloads the full collection.
Installing buildkit on Ubuntu
If you have a new installation of Ubuntu 12.04 or 14.04, then you can download
everything -- buildkit and the system requirements (git
, php
, apache
,
mysql
, etc) -- with one command. This command will install buildkit to
~/buildkit
:
curl -Ls https://civicrm.org/get-buildkit.sh | bash -s -- --full --dir ~/buildkit
Note:
- When executing the above command, you must NOT run as
root
. (Doing so will produce incorrect permissions.) Instead, you must havesudo
permissions. - The
--full
option is opinionated; it specifically installsphp
,apache
, andmysql
(rather thanhvm
,nginx
,lighttpd
, orpercona
). If you try to mix--full
with alternative systems, then expect conflicts.
Installing buildkit on other systems
If you already installed the requirements (git
, php
, etc), then you can
download buildkit to ~/buildkit
with these commands:
git clone https://github.com/civicrm/civicrm-buildkit.git buildkit
cd buildkit/bin
./civi-download-tools
export PATH="$PWD:$PATH"
Upgrading buildkit
If you have previously downloaded buildkit and want to update it, run:
cd buildkit
git pull
./bin/civi-download-tools