## 2.1. Prerequisites

For OLAT to run, you'll need the following software:

- Java SDK 1.5.x or newer

- Tomcat 5.x or newer

- Database with UTF-8 support. Note that for our reference system we are running MySQL in Latin1 (not UTF-8) and set the MySQL driver to translate to UTF-8. Running MySQL with UTF-8 support has shown to give a considerable performance hit (sometimes to a magnitude of 10). To avoid this performance hit, the driver mode conversion is a good alternative, although specific to MySQL.

- Ant 1.5 or newer (for configuration)

The following software packages are optional, depending on your setup:

- Wildfire Jabber Server for instant messaging integration.

- MRTG for memory, running threads and usage statistics

- Webalizer for access statistics

OLAT has been tested to run on Linux, MacOSX and Windows systems. Our production systems runs on Linux.

If you're planning on running the instant messaging system, make sure you have reasonable memory resources available. The instant messaging system uses (on average) an additional 3 threads per user with a stack size of 256k per thread, which results in significant memory needs. You should be fine with 1 GB of memory to cover for 100 concurrent users if you run both OLAT and the IM system on the same machine. NOTE: This is a rule of thumb projected based on our experience with our production systems with more than 15000 registered users on a single system and average of 150 (peaks of up to 500) concurrent users. See chapter Section 2.4.3, “Tomcat VM parameters and Operating System issues” Tomcat and VM parameter for memory settings

Our reference implementation uses Java 1.5.0.08, Tomcat 5.0.28, MySQL 4.1.18 and latest Wildfire version. Note that MySQL 4.1.11 is not compatible with the MySQL JDBC driver mysql-connector-java-3.1.12-bin.jar that is bundled with the latest release. Use MySQL 4.1.10 or older instead or add "useServerPrepStmts=false" to your JDBC URL to not use prepared statements which are broken in 4.1.11. It is also fine to use a 4.0.x version, it is just a bit slower.