Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.

If you looking for an alternative to public IM and VOIP services Openfire is great solution.

 

Settings about host before installation

Before installation of Openfire, I set settings as in my example:

  • System name: openfire.test.com 
  • Domain name: test.com
  • System IP: 192.168.22.202

LDAP settings (if don't have LDAP server check How to Install and configure a Basic LDAP Server on an Debian 8 Jessie):

  • Base DN: dc=test,dc=com
  • Bind user: cn=nextcloud,ou=groups,dc=test,dc=com
  • Server IP: 192.168.22.202

 

Install Java

Openfire need Java for running, I personal using Java 8 from my repository , first install java:

apt-get install oracle-java8-jre

 

Download and install Openfire package

First need to download Debian package, and install package

wget --no-check-certificate https://github.com/igniterealtime/Openfire/releases/download/v4.1.3/openfire_4.1.3_all.deb
dpkg -i openfire_4.1.3_all.deb

 

Setup for Openfire

Now open web browser to start setup of Openfire ( http://192.168.22.202:9090 - replace IP with Your address of host )

Select language and press "Continue"

Input network settings:

  • XMPP Domain Name: test.com
  • Server Host Name (FQDN): openfire.test.com
  • Admin Console Port:9090
  • Secure Admin Console Port: 9091

If wish can set "Property Encryption Key" for Encryption password in configuration files of Openfire, in this example I don't use that. Admin Console Port using 9090 and Secure Admin Console Port 9091 but in some case good idea to change this ports in non-standard.

Next click on "Continue"

If don't have lots of users select "Embedded Database" and click on "Continue"

Select "Directory Server (LDAP) and click on "Continue"

Connection Settings:

  • Server Type: OpenLDAP
  • Host: 192.168.22.202
  • Port: 389
  • Base DN: dc=test,dc=com
  • Administration DN: cn=admin,dc=test,dc=com
  • Password: <Your password>

Click on "Test Settings" and if all ok, You will see message "Status: Success!"

Close message and click on "Save & Continue"

Click on "Save & Continue"

 

I my example I don't wont to mapping all group from LDAP. My choice is only group "cn=nextcloud,ou=groups,dc=test,dc=com".

Group Mapping:

  • Group Field: cn
  • Member Field: memberUid
  • Description Field: description
  • Posix Mode: Yes
  • Group Filter: (&(|(objectclass=posixGroup))(|(cn=nextcloud)))

Click on "Save & Continue"

Now choose one or more users from your LDAP to be adminstratos, in my case I select user1 and press "Add", then click on "Continue"

Now Your Openfire server is ready for using.

Recommendation read : http://www.igniterealtime.org/projects/openfire/documentation.jsp

Desktop clients :

Android clients: