Since April 2013, the SVN repository has migrated to Git, so please use ejabberd-contrib instead.
ejabberd-modules is a SVN repository for ejabberd contributions that you can download using a subversion client, or see the
- Initial checkout, to get the most recent version of all modules:
svn co https://svn.process-one.net/ejabberd-modules
- Go to the directory of the contribution you are interested in, for example
- Read the module specific README to see if special steps are needed to deploy it.
- Compile the module
- On GNU/Linux, *BSD, etc
- On Windows
- 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 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:
Hello everyone! I have freebsd 11.0-RELEASE-p1 server with erlang 19.2.3 and ejabberd 17.01 aboard
What I did:
cp ./ebin/mod_admin_extra.beam /usr/local/lib/erlang/lib/ejabberd-17.01/ebin
What I have:
2017-03-02 11:43:49.482 [critical] <0.534.0>@gen_mod:start_module:162 Problem starting the module mod_admin_extra for host <<"ejabberd.myhideddomain.ru">>
"Recompile and reload Erlang source code file",,
2017-03-02 11:43:49.482 [critical] <0.534.0>@gen_mod:maybe_halt_ejabberd:170 ejabberd initialization was aborted because a module start failed.
Recompiling isn't work. What should I do?
> svn co
> svn co
Hey! that SVN repository moved to Git many months or years ago:
> Hello everyone! I have freebsd 11.0-RELEASE-p1 server with erlang 19.2.3 and ejabberd 17.01 aboard
Hey! ejabberd 17 already includes mod_admin_extra, no need to look at ejabberd-contrib
Thank you very much! I
Thank you very much! I already broke my head...
It's was the first time I've installed ejabberd. Well then old net instructions have an issue.
Went to reinstall ejabberd. And freebsd too, cause there was many attempts to compile this mod on many different versions of erlang :)
Don't forget erlang-dev
Note you must have the erlang-dev package installed on your server, or the build will throw some odd errors:
sudo aptitude install erlang-dev
On other systems (such as
On other systems (such as Ubuntu), you may also need to
sudo aptitude install erlang-tools-- see the README.txt in ejabberd-modules for more info.
When I run build.sh or compile a module using erl (mod_logxml for isntance), I only get gen_mod.beam in my ejabberd-dev ebin directory and not something explicitly involving my module. I am hesitant to copy this file into /usr/lib/ejabberd/ebin since that file already exists. What should I do to get the module .beam file (mod_logxml.beam for instance) and not just the gen_mod.beam ?
It puts it in /trunk/ebin.
Building simple modules
Some modules can be built using the standard ejabberd installation. Not sure how widely applicable this method is, but it works with ejabberd_xmlrpc...
Download the module source file via
https://svn.process-one.net/ejabberd-modules/ from module_name/trunk/src/
Place the module source file in a local extensions directory in ejabberd install: ejabberd-n.n.n/lib/local/
From a command line:
> cd ejabberd-n.n.n
> bin/erlc -I includes/ejabberd/include lib/local/module.erl
Place the resulting module.beam in a local ebin directory in ejabberd install: ejabberd-n.n.n/lib/local/ebin/
mod_http_bind + mod_http_fileserver
I did what you wrote there but I can't put both modules working.
When I ./build.sh the mod_http_bind then my mod_http_fileserver start failing and vice versa.
After build mod_http_bind and copy *.beam to the right place I get this error:
After build mod_http_fileserver and copy *.beam to the right place I get this error:
How can I solve this ring?
hmm, i review it, This nice
hmm, i review it, This nice chat with a response ...
where am I supposed to execute this "svn co https etc." command? I thought in Erlang (BEAM) emulator (I have version 5.4.12). But when I do so, nothing happens. When I execute "cd ejabberd-modules", all I can see is the same (ejabberd@localhost)1> prompt.
For the people, who not familiar with these SVN's, etc (like me :)...
You can download modules directly from webpage -
You should choose "trunk" directory at the left of page (for module You like), than go to "src" section, than click on blue arrow (download) near choosed file...
To be precise - to download file, You have to hold "SHIFT" button and click on the blue arrow, otherwise You will just look at source code...
To gurus - am I right? Is there a better way to download modules, not using SVN ?
In the shell
Those commands are to be executed in a shell. In Windows, run "cmd.exe" to get a shell. You need to have
Error using the ./build.sh
I am running my CentosOS as root and when I try to run the ./build.sh after downloading the packages, etc. it sends me an error saying:
"./build.sh: line 2: erl: command not found"
It doesn't allow me to build the package.
Thanks much in advance if anyone can help.
It means you do not have
It means you do not have Erlang installed or available in your path.
ejabberd && PGSQL
Hi, I'm running my ejabberd server in Debian Squezze and I'm trying to install postgresql driver for ejabberd. When I run ./build in ejabberd-modules/pgsql/trunk, I've nothing result in my /ebin. No results! someone has an idea? Thanks!!