# Howto: Installing JOnAS from scratch

This guide provides instructions for installing JOnAS from scratch on Unix-compatible systems.

The content is organized into the following steps

1. JDK 1.3 or 1.4 installation
2. Ant installation
3. Tomcat 4.1.x installation
4. JOnAS installation
5. Setup

## JDK 1.4 or 1.3 installation

Download the binary version of JDK 1.3 or JDK 1.4 from the java Sun web site into the appropriate directory. Launch the executable file:

`./j2sdk-1_<version number>-<system>.bin` for Unix
`./j2sdk-1_<version number>-<system>.sh` for Linux
`j2sdk-1_<version number>-windows-i586.exe` for Windows

Set the JAVA_HOME environment variable and update the path:

`export JAVA_HOME=<Installation Directory>
PATH=$JAVA_HOME/bin:$PATH (on Windows: PATH=%JAVA_HOME%/bin;%PATH%)`

## Ant installation

Download the binary version of Ant from the Ant Apache web site. Install Ant according to the instructions provided in the Ant documentation. The examples that follow illustrate installing Ant version 1.5:

`tar -jxvf jakarta-ant-1.5-bin.tar.bz2`
(or `unzip jakarta-ant-1.5-bin.zip`)

Set the ANT_HOME environment variable and update the path:

`export ANT_HOME=<Installation Directory>
PATH=$PATH;$ANT_HOME/bin (on Windows: PATH=%ANT_HOME%/bin;%PATH%)`

Download the current version of BCELfrom the Jakarta web site and install bcel.jar in the directory `$ANT_HOME/lib.`

## Tomcat 4.1.x installation

Download the binary version of Tomcat 4.1.x from the Jakarta Tomcat web site. Untar it into the appropriate directory:

`tar -xvf jakarta-tomcat-4.1.x.tar.gz`

Set the CATALINA_HOME environment variable:

`export CATALINA_HOME=<Installation Directory>`
JONAS_BASE directory can be used as CATALINA_BASE: `export CATALINA_BASE=$JONAS_BASE`
Configuration information for the Realm and users is provided at the Setup process.

## JOnAS installation

Download the binary version of JOnAS from the ObjectWeb web site.
Choose a location for the JOnAS installation.
Be aware that if you have already installed a previous version of JOnAS in this location, the new installation will overwrite existing files, thus customized configuration files may be lost. Therefore, it is prudent to save these files before starting the installation process.
The installation process consists of untaring the downloaded file.
Change to the directory in which JOnAS is to be installed and untar this file, using
the `tar -zxvf jonas.tgz` command.
After installing the JOnAS product, set the following environment variable:

`export JONAS_ROOT = <Installation Directory>
PATH = $JONAS_ROOT/bin/unix:$PATH`

Do an `ant install` in the `JONAS_ROOT` directory to unpack the jar files necessary to build `jonas.jar` and `client.jar`.

## Setup

Before using JOnAS, the following setup activities must be completed:

- Based on the data source being used, create a file `<data source>.properties` (templates are located in the directory `$JONAS_ROOT/conf`). Then, add the data source file name (without the extension `.properties`) to the `jonas.properties` file:
  `jonas.service.dbm.datasource <data source>`
  In the file `$JONAS_ROOT/bin/unix/config_env`, set the path to the JDBC driver of the database being used.
  For example, for PostgreSQL:
  `CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:$CLASSPATH`
- JONAS_BASE directory can be used as CATALINA_BASE: `export CATALINA_BASE=$JONAS_BASE` so it will use the JOnAS realms.
- If required, configure the Mail service (for PetStore or the example mailsb for instance). Two types of files that can be adapted to fit your installation are located in the directory `$JONAS_ROOT/conf`: `MailSession1.properties` and `MailMimePartDS1.properties`. Then, in the `jonas.properties` file, define the `jonas.service.mail.factories` property:
  `jonas.service.mail.factories MailSession1,MailMimePartDS1`

Compile the examples as follows:
`ant install` in the directory `$JONAS_ROOT/examples`

JOnAS installation is now complete. For more information, refer to the JOnAS Documentation.