A Windows build of jabberd2, popular Jabber server
This page contains jabberd2 SVN version guide that allows compiling and running jabberd2 server natively on Windows machine. You may choose whether you want to build the Windows version by yourself using source code available at official jabberd2 project page / SVN repository or get the binaries I provide at Downloads.
Multi-User Conferencing component extension is also available for Windows at MUC win32 page.
Windows platforms prior to Windows 2000 are not supported, so this won’t work on Windows 95/98/ME/NT.
to uninstall type:
Follow jabberd2 manual to configure jabberd2 exactly same way as on unix machine.
Windows NTLogon authentication
SQLite is default storage & authentication module for my Windows builds. To change that behavior modify sm.xml and c2s.xml configuration files.You may be interested in using NTLogon authentication module, so all your Windows local users are jabberd2 users as well. To use this module edit c2s.xml:
- Setup auth module using: <module>ntlogon</module>.
- Since NTLogon module requires plain-text passwords you need to disable all authentication methods except plain-text under <mechanisms> use <!-- comments -->.
- You may require TLS so passwords are never sent trough unencrypted stream, add require-starttls='true' attribute to your <id>.
- If you want to authenticate domain users rather than your local accounts change realm='mydomain.local' attribute of <id> to match you domain.
Finally you need to enable (uncomment) <auto-create/> in sm.xml (Storage Manager) configuration, this is just because NTLogon let in all Windows users in, even those who have no Storage Manager entries yet.
By default configuration files shipped with Windows jabberd2 build are set up to run on localhost with SQLite module for authentication and storage, with user registration and default TLS/SSL localhost certificate enabled.
If you are willing to run jabberd2 as a XMPP server for sampledomain.com you need to change <id> entries in c2s.xml and sm.xml, so they match your domain: <id>sampledomain.com</id>, before you will be able to serve any XMPP clients for sampledomain.com. The sampledomain.com must be properly set up as DNS entry that resolves to the machine where jabberd2 services are installed and running.You may also need to open ports on your firewall for incoming connections:
- 5222, 5223 (legacy port, if enabled in c2s.xml) – for client to your server connections
- 5269 – for other server to your server connections (only if you plan to open for communication with other servers with s2s service)
Building Windows jabberd2 using Visual Studio 2008 (SP1)
Thanks to Tomasz Sterna accepting my contributions, starting from revision #229 complete win32 support with Visual Studio 2005 project files is present in jabberd2 SVN repository. Starting from revision #751 project files require Visual Studio 2008 (SP1). To build jabberd2 win32 please read the rest of this section. If you are interested just in the binaries go to Downloads.
All libraries shall be installed locally and added to VC Include files and Library files paths using Tools->Options->Project and Solutions->VC++ Directories. All libraries’ DLL files shall be copied to win32/bin folder and win32/bin/debug folder for Debug builds respectively.
- libidn version 1.7 or higher, source build using win32/libidn.sln, provides: libidn.lib
- libgsasl version 0.2.28 or higher, source build using win32/libgsasl.sln, provides: libgsasl.lib
- OpenSSL source build, read win32 build instructions provided along with sources, provides: libeay32.lib ssleay32.lib
- Expat XML Parser source build using expat.dsw (auto-converted), provides: libexpat.lib
- udns source build, provides: udns.lib, since there are no VC project files provided along with sources, please use patch files provided at Downloads.
- zlib source build, provides: zlib1.lib, convert & use VC project files at projects/visualc6, link to Win32_DLL_ASM_Release.
If you encounter MASM error: .\inffas32.asm(647) : error A2070: invalid instruction operands
Add a dword ptr type qualifier before [esp] as described here.
- MySQL (auth & storage module) binary, linking to: libmysql.lib
- SQLite (auth & storage module) source build, provides: sqlite3.lib. Since there are no libraries for VC except DLLs you shall make one using sqlite-amalgamation-3.x.zip from SQLite downloads.
- TortoiseSVN SubWCRev command present in PATH to generate version.h and version.wxi. Comes with TortoiseSVN bin folder, added to PATH by TortoiseSVN installer.
- WiX 3.0.4401.0 or newer for building MSI jabberd2 setup inside Visual Studio 2005 IDE
- ActivePerl (or any Perl distribution) perl command present in PATH (optional for generation of default configuration XML files)
After all prerequisite libraries are configured for use within VC open win32/jabberd2.sln and build all projects.
Once it is completed you should have fresh & ready Windows build of jabberd2 and jabberd-svn-win32.msi installer at win32/bin folder !
jabberd - Jabber Open Source Server
Copyright © 2002 Jeremie Miller, Thomas Muldowney, Ryan Eatmon, Robert Norris
jabberd - win32 version patches & build
Copyright © 2005-2009 Adam Strzelecki. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.
- jabberd-2.2svn752-win32.msi 2009-03-05, 2.12 MB, win32 2.2 SVN revision #752 installer (contains OpenSSL), modules: SQLite (default) auth & storage, MySQL auth & storage, NTLogon auth module
- vcredist_x86.exe 2008-09-16, 4.0 MB, Microsoft Visual C++ 2008 SP1 Redistributable Package (x86), if your system does not have the runtime, jabberd2 setup will ask you to install it
- jabberd-2.2svn752-win32-dbg.zip 2009-03-05, 8.37 MB, win32 2.2 SVN revision #752 debug binaries (for advanced users), Visual Studio 2008 (SP1) / VS2008SP1 Debug Runtime is required to use those debug binaries
Windows and Visual Studio compatibility patches:
- udns-0.0.9-win32+VC8.patch 2008-08-18, 38.5 KB, a patch file containing Windows fixes and Visual Studio 2005 project files for udns library, use it together with official distribution sources, tested with version 0.0.9