ejabberd-contrib is a Git repository for ejabberd contributions that you can download, compile and install to add new features to the standard ejabberd. This tutorial tells the basic steps to do that.
- Initial checkout, to get the most recent version of all modules:
git clone git://github.com/processone/ejabberd-contrib.git
 - Go to the directory of the contribution you are interested in, for example
cd ejabberd-contrib/mod_admin_extra
 - If you are using ejabberd master, go to next step. But if you are using some ejabberd 2.1.x version, do this:
git checkout 2.1.x
 - Read the module specific README to see if special steps are needed to deploy it.
 - Compile the module
- On GNU/Linux, *BSD, etc
./build.sh
 - On Windows
build.bat
 - If you use an ejabberd binary installer, place the module source file in bin/ and run:
erlc -I includes/ejabberd/include mod_admin_extra.erl
 
 - On GNU/Linux, *BSD, etc
 - Copy the generated .beam files from the ebin directory to the directory where your ejabberd .beam files are.
 - Check README.txt or use the configuration file example provided in the conf dir to update your ejabberd.cfg configuration file.
 - Now start ejabberd. If there's a problem, probably ejabberd log files will report an error message.
 - If sometime on the future you want to update to the newer SVN version, just execute:
git pull