XMPP Server Download and Installation
- Log into the Ubuntu/Debian device
- Run the following commands in terminal:
# update software repositories
sudo apt update
# install available software updates
sudo apt upgrade
# download OpenFire installer
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.5.2_all.deb -O openfire.deb
# execute the installer
sudo apt install ./openfire.deb
# start the OpenFire service
sudo systemctl enable --now openfire
# install MySQL/MariaDB
sudo apt install mariadb-server
# configure the MySQL database
sudo su
mysql_secure_installation - Press Enter to login as root
- Type Y and press Enter to set a root password, type the password twice to confirm
- Type Y and press Enter to remove anonymous users
- Type Y and press Enter to disallow root login remotely
- Type Y and press Enter to remove the test database
- Type Y and press Enter to reload privilege tables
- Run the following command to login into MySQL:
mysql -u root
- Authenticate with the root password set earlier
- Run the following commands to create the OpenFire database and database user
MariaDB [(none)]> CREATE DATABASE openfire;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY '0p3nF1re!!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> USE openfire;
MariaDB [(none)]> source /usr/share/openfire/resources/database/openfire_mysql.sql;
MariaDB [(none)]> QUIT; - Open a web browser and open to http://localhost:9090/setup/index.jsp
- Select a language > Click Continue
- Set the XMPP domain name and input the server fully qualified domain name > Click Continue
- Select Standard Database Connection > Click Continue
- Enter the following database parameters:
Database Driver Presets:MySQL
JDBC Driver Class: com.mysql.jdbc.Driver
Database URL: jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC
Username: openfire
Password: 0p3nF1re!! - Select Default on the Profile Settings page > Click Continue
- Input an admin email address and password > Click Continue
- Click the Login to the admin console button
- Login with username admin and the password created previously
- Click the Users/Groups tab
- Click Create New User in the left navigation menu
- Create a username and password for the new user
- Follow the steps to create as many users as needed, at least 2 are needed for testing
Setting Up A XMPP Client
- Run the following command in terminal:
sudo apt install pidgin
- Launch Pidgin
- Click Add...
- Select XMPP from the protocol dropdown
- Input the first username created above along with the XMPP domain setup in OpenFire and the user's password
- Click the Advanced tab > Select Use encryption if available from the Connection security dropdown
- Enter the OpenFire fully qualified server name in the server field
- Click the Add button
- Click Accept on the self-signed certificate popup
- Copy the extracted Pidgin Portable folder to another device
- Launch Pidgin Portable on the second device
- Select Modify Account
- Update the username and password to be a different account from the previous device
- From one of the devices, select Buddies > Add Buddy
- Input the opposite devices's username
- On the second device accept the message request and the two devices should be able to send and receive instant messages using the OpenFire XMPP server