You are on page 1of 5

Openfire: Database Installation Guide

http://www.igniterealtime.org/builds/openfire/docs/latest/documentatio...

Back to documentation index

Openfire stores all data in a back-end database. If you choose to not use the
embedded database, you must setup and manage an external database for the
application. This document provides setup instructions for all of the currently supported
databases.
JDBC 2.0 drivers are required for Openfire to communicate with your database.
Suggested drivers for particular databases are noted below where applicable. Openfire
bundles JDBC drivers for MySQL, Postgres, Microsoft SQL Server, and HSQLDB.
For a full list of available JDBC drivers, please see: http://industry.java.sun.com
/products/jdbc/drivers.
All database schemas can be found in the resources/database directory of the
Openfire installation.
Note that additional databases besides the ones in this list may be supported. Please
check the distribution for a database schema for your database or consider creating a
schema yourself if one isn't provided.
Choose your database from the list below for setup details:
MySQL
Oracle
Microsoft SQLServer
PostgreSQL
IBM DB2
HSQLDB

MySQL
JDBC Drivers
The JDBC driver for MySQL is bundled with Openfire, so you do not need
to download and install a separate driver.
In the Openfire setup tool, use the following values:
driver: com.mysql.jdbc.Driver
server: jdbc:mysql://[YOUR_HOST]/[DATABASE_NAME]
where [YOUR_HOST] and [DATABASE_NAME] are the actual values for
you server. In many cases localhost is a suitable value for
[YOUR_HOST] when your database is running on the same server as your
webserver.
Setup Instructions
1. Make sure that you are using MySQL 4.1.18 or later (5.x

1 de 5

11/03/2015 10:34

Openfire: Database Installation Guide

2 de 5

http://www.igniterealtime.org/builds/openfire/docs/latest/documentatio...

recommended) .
2. Create a database for the Openfire tables:
mysqladmin create [databaseName]

(note: "databaseName" can be something like 'openfire')


3. Import the schema file from the resources/database directory of
the installation folder:
Unix/Linux: cat openfire_mysql.sql | mysql [databaseName];
Windows: type openfire_mysql.sql | mysql [databaseName];
4. Start the Openfire setup tool, and use the appropriate JDBC
connection settings.
Character fields larger than 255 are not supported by versions prior to
MySQL 4.1.18. If you cannot upgrade MySQL to the latest version, you will
then need to change the database scripts. In particular, replace
VARCHAR(1024) with VARCHAR(255) in the resources/database
/openfire_mysql.sql script.
Character Encoding Issues
MySQL does not have proper Unicode support, which makes supporting
data in non-Western languages difficult. However, the MySQL JDBC driver
has a workaround which can be enabled by adding ?useUnicode=true&
characterEncoding=UTF-8&characterSetResults=UTF-8 to the URL of
the JDBC driver. You can edit the conf/openfire.xml file to add this value.
Note: If the mechanism you use to configure a JDBC URL is XML-based,
you will need to use the XML character literal & to separate
configuration parameters, as the ampersand is a reserved character for
XML.
Further Help
If you need help setting up MySQL, refer to the following sites:
MySQL Reference Manual

Oracle
JDBC Drivers
The Oracle 11g "thin" drivers are recommended and can be downloaded
from Oracle's website. Various versions of the thin drivers are avaialble,
but the most recent (11.2.0.1.0 or newer) driver is recommended for use
with Openfire. Use "ojdbc5.jar" if you are using Java 1.5 or "ojdbc5.jar" if
you are using Java 1.6. Copy the JDBC driver to the lib/ directory of your
Openfire installation.
In the Openfire web-based setup tool, use the following values:
driver: oracle.jdbc.driver.OracleDriver
server: jdbc:oracle:thin:@[HOST]:[PORT]/[SERVICE]
where [HOST], [PORT] and [SERVICE] are the actual values for you
server. In many cases localhost and 1521 are suitable values for [HOST]
and [PORT] when your database is running on the same server as your
webserver. Ask your DBA for the service name.
Setup Instructions
First, create a "Jive" user or some other user that will "own" the Jive tables.
This isn't necessary, but doing so will allow your tables to exist in a

11/03/2015 10:34

Openfire: Database Installation Guide

http://www.igniterealtime.org/builds/openfire/docs/latest/documentatio...

seperate tablespace.
Next import the schema from the resources/database directory of the
installation using sqlplus (or your favorite Oracle tool such as Toad). For
sqlplus: copy the "openfire_oracle.sql" file to the same directory where
sqlplus is installed (should be something like /Oracle/Ora81/bin/). Next, log
into sqlplus and then execute the command:
@ openfire_oracle

That will import the schema file. Your database is now setup.

SQL Server
SQL Server
JDBC Drivers
Openfire includes the Free TDS JDBC driver, which is the recommended
way to connect to SQL Server databases. To connect to SQL Server,
simply use the following values in the Openfire web-based setup tool:
driver -- net.sourceforge.jtds.jdbc.Driver
server -- jdbc:jtds:sqlserver://[host-name]:[portnumber]/[database-name];appName=jive
where [host-name] is the host name or IP address of your database server,
and [port-number] is the port that SQLServer is listening on (normally
1433) and [database-name] is the name of the database (this parameter is
optional).
Setup Instructions
1. Create a new database using Enterprise Manager if you do not
already have a database you want to use. You may wish to name
the database "openfire".
2. Create a user to access the database if you do not already have
one you'd like to use. Consider making the default database for the
user be the one you created in step 1.
3. Open the Query Analyser and connect to the server.
4. Select the database you want to use for Openfire from the DB drop
down (the one you created in step 1 if you're using a new
database).
5. Open the openfire_sqlserver.sql file.
6. Press F5 to run the script. The script will run and create the
necessary tables.
7. Proceed to the Openfire setup tool and use the appropriate JDBC
settings when prompted.

PostgreSQL
JDBC Drivers
The JDBC driver for Postgres is bundled with Openfire, so you do not need
to download and install a separate driver.
In the Openfire web-based setup tool, use the following values:
driver -- org.postgresql.Driver
server -- jdbc:postgresql://[HOST_NAME]:[PORT_NUMBER]

3 de 5

11/03/2015 10:34

Openfire: Database Installation Guide

http://www.igniterealtime.org/builds/openfire/docs/latest/documentatio...

/dbname

If left out, host defaults to localhost (not 127.0.0.1) and port to 5432.
Setup Instructions
1. Create the database. For example, using the PostgreSQL
"createdb" utility:
createdb -E UNICODE openfire

2. Import the schema from the resources/database directory of the


installation. Use psql (or your favorite Postgres sql utility) to import
the Openfire database schema:
psql -d openfire -f openfire_postgresql.sql

3. Proceed to Openfire setup and use the appropriate JDBC settings


when prompted.

IBM DB2 7
JDBC Drivers
Use the JDBC 1.2 compliant driver, db2java.zip (1293KB), located in the
"%DB2PATH%\java2" directory. Copy the JDBC driver to the lib/ directory
of your Openfire installation.
Values for the config file are:
driver: COM.ibm.db2.jdbc.app.DB2Driver
server: jdbc:db2:[DB NAME, e.g. JIVE]
If you are using a remote database you need to use the following values
for the config file are:
driver: COM.ibm.db2.jdbc.net.DB2Driver
server: jdbc:db2:[DB NAME, e.g. JIVE]
Setup Instructions
You have to create a new database (e.g. JIVE) or use an existing one.
Connect to the database using any valid username allowed to create
tables and indexes. Keep in mind that DB2 UDB applies the user name as
the table schema. Use the same user when you configure Jive with the
administration interface. Commands are as follows:
DB2 CREATE DB JIVE ALIAS JIVE
DB2 CONNECT TO JIVE USER [DBUSER] USING [DBPASSWORD]

(or you can use the Command Center GUI)


Start the DB2 command window (in Windows), or the user's shell in Unix
and import the schema in the resources/database directory of the
installation with:
db2 -tvf openfire_db2.sql

Or, use the DB2 Command Center and run the script through the
"Replication Sources" folder in the Database tree.
The database is now setup.

HSQLDB

4 de 5

11/03/2015 10:34

Openfire: Database Installation Guide

http://www.igniterealtime.org/builds/openfire/docs/latest/documentatio...

Special Note
Openfire bundles hsqldb as its embedded database. If you choose to use
the embedded database, it can be configured via the Openfire installer. If
you have a stand-alone installation of HSQLDB, follow the instructions
below to connect to it.
JDBC Drivers
Because hsqldb is embedded in Openfire, there is no need to download
the JDBC driver separately. Values for the config file are:
driver: org.hsqldb.jdbcDriver
server: jdbc:hsqldb:[PATH_TO_DB_FILES/DB_NAME]
For example, the server URL might be jdbc:hsqldb:../database
/defaultdb

Setup Instructions
Create a database for the Openfire tables. This assumes you have
HSQLDB installed in its own directory and working correctly.
1. Run the HSQLDB Database Manager by navigating to the folder
where hsqldb.jar is located and type the following
java -cp hsqldb.jar
org.hsqldb.util.DatabaseManager

then hit enter. You will now see a GUI application. Note, you will not
see a hsqldb.jar in the Openfire distribution - this is referring to the
hsqldb.jar from the HSQLDB distribution.
2. When prompted with the connect window, enter
org.hsqldb.jdbcDriver as the Driver, and specify the URL of your
database in the URL field. The default password is already entered.
3. Now copy and paste the contents of openfire_hsql.sql from the
resources/database directory of the installation into the command
window, and hit execute. If no errors are reported, then your
database is setup properly.
4. Finally, you should change the username and password login for
your database: just open the .script file in your database folder and
change the appropriate values. Make sure that you don't use a
blank password, as Openfire will not accept one.

5 de 5

11/03/2015 10:34