This tutorial explains how you can install Mu-Conference, using the Jabber Component Runtime JCR,a script, and a configuration file. It is inspired on Konstantinos Thoukydides' tutorial and instructions for SuSe are taken from it.
Note that when using ejabberd, you do not need Mu-Conference for Multi-User Chat (MUC) support as ejabberd already ships with a conferencing module. Thus, the audience of this tutorial consists of people that need Mu-Conference for some reason, geeks, and packagers that want to make a Jabber server independent Mu-Conference package.
-
Install Glib and pkg-config
Install GLib library 2 (devel) and pkg-config:
- Debian/Ubuntu:
apt-get install libglib2.0-dev pkg-config
- SuSe:
yast -i glib2-devel tar zxvf pkg-config-0.19.tar.gz cd pkg-config-0.19 ./configure && make su -c 'make install'
- Debian/Ubuntu:
-
Install Mu-Conference Using the Jabber Component Runtime JCR
- Retrieve JCR:
wget -p http://jabber.terrapin.com/JCR/jcr-0.2.4.tar.gz -O jcr-0.2.4.tar.gz
- Extract the source:
tar zxvf jcr-0.2.4.tar.gz
- Enter the created directory:
cd jcr-0.2.4
- Compile the Jabber Component Runtime JCR:
make
- Retrieve Mu-Conference:
wget -p http://jabberstudio.rediris.es/mu-conference/mu-conference-0.6.0.tar.gz \ -O mu-conference-0.6.0.tar.gz
- Extract the source:
tar zxvf mu-conference-0.6.0.tar.gz
- Copy the compiled files from JCR:
cp src/main.c mu-conference-0.6.0/src/ cp src/jcomp.mk mu-conference-0.6.0/src/
- Enter the Mu-Conference source directory:
cd mu-conference-0.6.0/src/
- Compile Mu-Conference:
make -f jcomp.mk # On some systems you need to replace 'make' with 'gmake'.
- Copy the binary to the right location:
cp mu-conference /usr/local/bin/
- Retrieve JCR:
-
The Finishing Touch
- Create the user 'ejabberd':
adduser ejabberd
Remark: if you installed ejabberd via APT, this step can be skipped.
- Create some directories:
mkdir /etc/jabber /etc/init.d/jabber /var/log/jabber \ /var/run/jabber /var/spool/jabber
- Install the configuration file for Mu-Conference:
- Download this configuration file for Mu-Conference and drop it into /etc/jabber/:
wget -p http://www.ejabberd.im/files/efiles/muc-jcr.xml \ -O /etc/jabber/muc-jcr.xml
- Open this configuration file with your favourite text editor and change at least the values in capital letters (more options are documented in the file):
CHATROOM_LOGS SERVER.COM MUC_ADMIN@SERVER.COM SECRET
- Download this configuration file for Mu-Conference and drop it into /etc/jabber/:
- Download this script to start, stop and restart mu-conference and install it in the directory /etc/init.d/jabber/:
wget -p http://www.ejabberd.im/files/efiles/mu-conference \ -O /etc/init.d/jabber/mu-conference
- Change the permissions of these files and directories:
chmod 755 /etc/init.d/jabber/mu-conference chmod o-rx /var/log/jabber/ chown ejabberd /var/log/jabber/ /var/run/jabber /var/spool/jabber
Remark: the directory you chose for CHATROOM_LOGS should be also writeable by the user ejabberd.
- Add an entry for Mu-Conference in the "Listened ports" section of your ejabberd configuration file (also described in the ejabberd Installation and Operation Guide):
{5350, ejabberd_service, [{access, all}, {hosts, ["mu-conference.SERVER.COM"], [{password, "SECRET"}]}]},
Do not forget to change the values in capitals; they need to match to what you specified in muc-jcr.xml.
Remark: No comma needed when it is the last entry. However, all entries before the last one need a comma!
- Restart ejabberd to reload the configuration:
/etc/init.d/ejabberd restart
- Start Mu-Conference:
/etc/init.d/jabber/mu-conference start
- If all goes well, Mu-Conference should be visible now when discovering your server with a Jabber client. :-)
- Create the user 'ejabberd':