Set up a localhost LAMP solution. XAMPP/MAMP are fine. I recommend placing a symlink to htdocs in your home dir. E.g. on OSX/XAMPP: cd ~; ln -s /Applications/XAMPP/xamppfiles/htdocs
Create a github account, set up git, and register your SSH key with github.
Fork the Elgg/Elgg repo into your account.
Create a separate Elgg install for each major Elgg branch you want to work on. This is because you can't downgrade an Elgg installation once installed/upgraded. Here's an example for 1.8:
cd ~/htdocs
git clone git://github.com/Elgg/Elgg.git elgg18
cd elgg18
git checkout 1.8
git remote add fork git@github.com:/Elgg.git
The Elgg 1.8 codebase is now in ~/htdocs/elgg18. Continue to install Elgg as normal, giving it its own data directory and database for 1.8.
You should end up with a working Elgg 1.8.x install at http://localhost/elgg18/
Now you have all you need to start developing for the Elgg 1.8 branch.
To develop for 1.9, set up the same arrangement in ~/htdocs/elgg19 but don't check out the 1.8 branch before setting up Elgg. The default (master) branch is what will be Elgg 1.9.
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.