djabberd (http://www.danga.com/djabberd/) is a modularized Jabber server written in perl. Here is some notes of the configuration used on a.6f2.net (a community server for a small community).
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
# defaults:
ClientPort 5222
ServerPort 5269
SSLCertificateFile /home/adulau/jabber/djabberd/conf/server.crt
SSLCertificateKeyFile /home/adulau/jabber/djabberd/conf/server.key
#PerlModule DJabberd::SixApart
<VHost a.6f2.net>
# S2S false
S2S true
RequireSSL no
<Plugin DJabberd::Bot::Admin>
Users somebody
</Plugin>
<Plugin DJabberd::Plugin::VCard::SQLite>
Storage vcards.sqlite
</Plugin>
# <Plugin DJabberd::Authen::AllowedUsers>
# Policy accept
# AllowedUsers brad crucially test
# </Plugin>
<Plugin DJabberd::Authen::HTDigest>
Realm djabberd
HtDigest /home/adulau/jabber/djabberd/conf/djabberd.users
</Plugin>
# <Plugin DJabberd::Authen::PAM />
# These are loaded by default, if you don't load any others of
# the same class:
# <Plugin DJabberd::PresenceChecker::Local />
# <Plugin DJabberd::Delivery::Local />
# <Plugin DJabberd::Delivery::S2S />
<Plugin DJabberd::RosterStorage::SQLite>
Database roster.sqlite
</Plugin>
</VHost>
If you want to debug, you can enable the debug via the env variable (with the possible value (DEBUG|INFO|WARN|ERROR|FATAL|ALL|OFF) )
export LOGLEVEL=ALL ./djabberd --conffile ../../conf/djabberd.conf
htdigest djabberd.users djabberd ausername
There is the admin port 5200 that could give information for monitoring the service.
[adulau@a ~/jabber/djabberd/conf]$ nc 127.0.0.1 5200
users
a.6f2.net
adulau@a.6f2.net/ATest
admin@a.6f2.net/bot
.
quit