To get mu-conference running with jabberd2.
Projects Utilized:
JabberD 2.0.3
JCR (Jabber Component Runtime) 0.2.4
Outcome:
Success. I could have done a couple things: 1) run a jabberd 1.4 server with a service entry, 2) use JCR to compile mu-conference as a stand-alone daemon that uplinks to the router. I opted for plan 2 because it seemed like a cleaner option, however I may still revert to plan 1, depending how JCR with aim-transport turns out.
Steps:
(I typed this once and lost it, and I don't feel like typing a lot again)
Follow the steps here to get JCR set up, mu-conference binary and the base muc-jcr.xml config file in place.
After copying muc-jcr.xml to my etc directory, I made these changes:
<jcr>
...
<!-- the name of the entry in your router.xml -->
<name>muclinker</name>
<!-- the password required by your router.xml -->
<secret>secret</secret>
<!-- the hostname that you'll be using for conference -->
<host>c.im.nullirc.net</host>
<!-- the IP of your router (usually the same as your main jabber server) -->
<ip>127.0.0.1</ip>
<!-- the port of that server -->
<port>5347</port>
<!-- can these be relative? I'm not sure, I haven't tried -->
<!-- ps. don't forget to change permissions! -->
<spool>/var/spool/jabber/c.im.nullirc.net</spool>
<logdir>/var/log/mu-conference</logdir>
<pidfile>/var/jabberd/pid/mu-conference.pid</pidfile>
...
</jcr>
And changes to router.xml:
<alias name='c.im.nullirc.net' target='muclinker'/>
Finally I wanted my muc to run with the jabberd wrapper, so I went ahead and figured out how to add a job... right before I found this article telling me how to do it (under Jabber and MUC Startup); good thing it's self documented code or I'd have spent all night before I found the new article.
The main lesson of the night is CHECK PERMISSIONS IF YOU'VE BEEN SYSADMINING FOR AN EXTENDED PERIOD OF TIME.