and adjusted for FreeBSD layout.
cd /usr/ports/net-im/p5-DJabberd make install cleanthen:
and saved this as djabberd.conf:
OldSSL enable # health checks from this IP (directive can be repeated) won't log and # won't allocate a connection id DeclareMonitor 127.0.0.1 AdminPort 5200 ClientPort 5222 ServerPort 5269 SSLCertificateFile /usr/local/etc/djabberd/server-cert.pem SSLCertificateKeyFile /usr/local/etc/djabberd/server-key.pem <vhost alliance.com=""> S2S enable RequireSSL yes <plugin djabberd::authen::htdigest=""> Realm djabberd HtDigest /usr/local/etc/djabberd/djabberd.users </plugin> <plugin djabberd::rosterstorage::sqlite=""> Database /usr/local/etc/djabberd/djabberd.sqlite </plugin> <plugin djabberd::authen::mysql=""> DBName djabberd DBHost 127.0.0.1 DBPort 6723 DBUsername dbusername DBPassword dbpassword DBTable user DBUsernameColumn username DBPasswordColumn password DBEncryptedPasswords 1 DBWhere canjabber = 1 </plugin> </vhost>
openssl req -x509 -newkey rsa:1024 -keyout /usr/local/etc/djabberd/server-key.pem -out \ /usr/local/etc/djabberd/server-cert.pem -days 365 -nodes djabberd --conf=/usr/local/etc/djabberd/server.conf --daemon
The command htdigest didn't work for me because I didn't have it installed, so I used an htpass file from another machine and changed the realm to "djabberd".
OK, to use HTDigest and SQLite, I needed to get the latest subversion code. Also had to copy over the libs:
cp -R DJabberd-Authen-HTDigest/ /usr/local/lib/perl5/5.8.8/ cp -R DJabberd-RosterStorage-SQLite/lib/DJabberd/ /usr/local/lib/perl5/5.8.8/DJabberd/
and install DBI and DBD::SQLite, and DBD::MySQL. In the end, I couldn't get any of that to work, but I did get the very basics to work by using static settings:
<plugin djabberd::authen::allowedusers=""> Policy accept AllowedUsers albertlash </plugin> <plugin djabberd::authen::staticpassword=""> Password password </plugin>
This looks like a great alternative to ejabberd! Ouch, I just noticed that offline messages aren't working. Doh!
I am still very excited about djabberd as I can actually understand the code! :-) I need to figure out how the configuration file is formatted better.
I just posted to Erik's blog a note about the HTDigest, you don't need the "@" sign or the domain when creating the htdigest file. Also, I just commented on Brad's blog (the author of DJAbberd), and am posting here in case it gets filtered out:
Great work. I've been using ejabberd for awhile on debian, but am trying to make an ~8-16MB jabber appliance on top of m0n0wall, sort of like askoziapbx, but for jabber. While ejabberd on debian has its niceties (like registration and offline messages), running erlang on freebsd (minibsd) on an embedded device is much harder than perl.
FYI - found out about your work via the news that MT4 will be GPL. That's great news! - Docunext
WAIT! DJabberd DOES have offline storage! :-) :-) :-)