Installing AnthillPro

Before installing AnthillPro, the following must be installed:

  • Java JRE 5 or greater. Set the JAVA_HOME environment variable to point to the Java directory.

System Requirements

AnthillPro is OS agnostic, and will run on both Windows and UNIX-like systems. While the minimum requirements should suffice for initial evaluation purposes, it will be necessary to run the AnthillPro server on a server-class machine for most deployments.

Server

Minimum requirements. The AnthillPro server will run on any modern business machine:

  • Processor. Single core, 1.5 GHz +.

  • Disk Space. 300 MB.

  • Memory. 2 GB, with 256 MB available to AnthillPro.

Recommended system requirements. For larger deployments (e.g., you will be running thousands of processes a day), most users have found the following guidelines helpful:

  • Small to medium sized server-class machines. It is recommended to have two machines: The primary machine and a cold standby for fail-over.

    The back-end database should be hosted on a separate machine, according to vendor guidelines.

  • Processor. 2 CPU. 2+ core each.

  • RAM. 8 GB.

  • Storage. Your individual requirements depend on your usage, retention policies, and types of applications. In general, the more artifacts you keep in AnthillPro's artifact repository (Codestation), the greater the storage needs (e.g., you keep the generated artifacts from every CI build). Additionally, the server logs must also be taken into consideration -- over time log storage can add up.

    For further assistance in determining storage requirements, please contact support.

  • Network. Gigabit (1000) Ethernet with low latency to database.

Agent

Agents are designed to be minimally intrusive, and should only require 64-256 MB of memory and 100 MB on disk. Additional requirements are determined by the processes the agent will run.

For small evaluations, it is possible to install the agent on the same physical machine as the server; however, this should be avoided for large deployments of AnthillPro.

For further assistance in determining agent requirements (e.g., a heavily used build machine), please contact support.

32- and 64-bit JVM Support

The AnthillPro server must run against the 32-bit JDK for the Windows 2003 64-bit server. However, the 64-bit JDK can be used for agents that run builds. Because AnthillPro does not require a multi-gigabyte heap, there is little advantage to using a 64-bit JVM for any operating system. However, for those on a 64-bit Windows platform, AnthillPro supports it with a 32-bit JVM; for other 64-bit platforms, AnthillPro uses a 64-bit JVM:

Operating SystemJVM 32JVM 64
Windows 32-bitYesN/A
Windows 64-bitYesNo
Non-windows 32-bitYesN/A
Non-windows 64-bitYesYes

Database Requirements

AnthillPro supports the following databases to store information:

  • Apache Derby (included in download). The Derby database should be adequate for evaluation purposes or for small deployments; however, due to its limitations, Derby is not recommended for large deployments.

  • Oracle, including RAC.

    • Use the JDBC driver for Oracle 10.2 or higher, regardless of what version of the database is used.

  • MySQL with InnoDB storage (works with 4.1.22 and later).

    • If using MySQL 5, use the 5.0.8 driver version. The 5.1 version has some bugs that will cause the AnthillPro server to throw an error. If you are using the 5.1 version, switch the driver jar file in the server's lib/ext directory and then restart.

    • It is also recommended that the InnoDB storage engine be used.

  • Microsoft SQL Server.

    • The MS SqlServer 2.0 driver (sqljdbc4.jar) will not work with AnthillPro. To install the server using Microsoft SQL Server, you will need to use one of the following drivers, depending on which version of Java the AnthillPro server uses:

      Java 5. Use either the 1.2 driver or the 2.0 sqljdbc.jar driver.

      Java 6. Use the 1.2 driver.

  • DB2.

  • PostgreSQL.

    • Due to a known defect with PostgreSQL 8.4.0, AnthillPro can't be installed with that version. Use version 8.3.7.

When using a database other than Apache Derby:

  • Use one of the command line installers.

  • Download the appropriate JDBC driver file for your database. These are typically downloaded from the database vendor.

  • Create an empty database for AnthillPro to use with a dedicated user.

Choosing a Download

Select the download(s) that best meet your needs. The two command line installers have identical contents but are packaged differently.

The downloads are available from the Urbancode Support Portal. You must already be a license holder to access Supportal.

If you want to evaluate AnthillPro, fill out the request an evaluation copy of AnthillPro form. Once your request is approved, you will be provided with login access to our support portal.

Windows Server Installation from zip File

For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.
To install the AnthillPro server:

  1. Download the anthill3-<version>.zip file.

  2. Expand the zip file using a tool like WinZip. Expanding will create an anthill3-install directory.

  3. Open the anthill3-install directory created in the previous step in Windows.

  4. If you are using a database other than Apache Derby, copy the JDBC driver file(s) into the anthill3-install\lib\ext directory. See Database Requirements.

  5. Run the install script install-server.bat.

  6. Provide the following information:

    • Directory where the AnthillPro server should be installed. For example: C:\Program Files\anthill3\server. If the directory does not already exist, enter Y to have the installer create the directory. Default is Y.

    • Home directory of the JRE/JDK used to run the server. For example: C:\Program Files\Java\jre1.6.0_07.

    • Port used to communicate with the agent(s). Recommended default value is 7915.

    • Port on which AnthillPro server should listen for remoting or distributed servers. Default is 4567.

    • IP address that the server web UI should listen on. We suggest leaving this blank so that AnthillPro listens on all available IP addresses.

    • Secured connections using SSL. If using a secured connection for all web UI communication, enter Y.

      When using SSL, you need to turn it on for both the server and the agent -- otherwise the agents will not be able to connect to the server. If you are using the agent relay, ensure that SSL is turned on for all three components: server, agent, and agent relay. This rule also applies if using mutual authentication.

      If using a caching proxy, see Caching and SSL before continuing. Under certain conditions, using HTTPS may effect server performance.

      • If using a secured connection for HTTP requests, give the port the AnthillPro sever should listen on. Recommended default is 8443.

      • Unsecured HTTP port for the Web UI. This will be used to redirect unsecured requests to the secured HTTPS port when using HTTPS for the Web UI. Default is 8080.

    • HTTP port for the Web UI (if not using SSL). Default is 8080.

    • Database type (if other than the embedded Derby database). See Database Requirements.

    • Database user name. Default is anthill3.

    • Database password. Default is password.

  7. Install as Windows service (optional). Type Y to install as Windows service. Type N to finish installation process.

    For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.
  8. To automatically install the AnthillPro server as a Windows service, enter:

    • Service name and click OK. Default is ah3server. (A unique name is required for each instance.)

    • Login for the installed server and click OK. Default is .\localsystem.

    • Yes to automatically start ah3server service.

To manually install the AnthillPro server as a Windows service (optional):

For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.

  • Run ah3server.cmd install uniqueservicename (located in the server's bin\service directory).

  • Provide the service name and account information.

To run the AnthillPro server and complete installation:

  1. In Windows, go to the AnthillPro server directory created during installation. For example, C:\Program Files\anthill3\server. Enter the bin directory.

  2. Run: start_ah3server.cmd.

  3. Alternatively, from the command line run the start command bin\ah3server.cmd.

  4. When the AnthillPro server has started, open a web browser and give the AnthillPro URL. For example, http://localhost:8080.

  5. Complete installation:

    • External URL. Enter the URL users will use to access AnthillPro. This URL will be used to generate links back to the application in e-mail notifications, as well as for some agent communication. The URL may include http(s):// and any non-standard ports. For example http://myserver/ or http://myserver:8080/.

    • Administrator E-mail Address. Give the e-mail address that should be notified about system issues. The Administrator account will have complete access to AnthillPro, and is the initial user that must set up security. See Manage Security.

    • Administrator Password. Enter the password the AnthillPro administrator (created above) will use to access AnthillPro.

      Note that this password (and the user name admin) will be required to complete installation of the Distributed Web interface if the AnthillPro server is going to be used in conjunction with the Distributed Web product. For information on the Distributes Web interface, contact .

    • Confirm Administrator Password. Enter the password again.

    • License. Paste your AnthillPro license in the text field.

      If you are evaluating AnthillPro, go to anthillpro.com to retrieve the license from your account. This license is good for 30 days; however, if you need more evaluation time, contact .

      If you have already purchased AnthillPro, go to anthillpro.com to retrieve the license from your account. Contact .

  6. Click Complete.

    The application can now be accessed in the web browser. If you log out, give the user name admin and the password set in Item Five to log back in.

  7. Select pre-installed plug-ins to activate/deactivate. AnthillPro ships with pre-configured integrations that are written as plug-ins. If you choose to deactivate any of the plug-ins, you will not be able to use the AnthillPro integration with that tool until you reactivate it. If you don't know what tool integrations you want deactivated, you can leave them all active to start with and then edit the setting later. Click Done to go to the Dashboard.

Installing the Agent (Windows)

When installing the agent in a production environment, most people typically create a dedicated user that is responsible for running the agent (i.e., they create an "Anthill" user on the machine the agent is being installed on).

  • Note that for evaluation purposes, you can simply run the agent as the "Admin" user.

For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.

In general, the agent will need the appropriate rights in order to communicate with the AnthillPro server; to communicate with any tools AnthillPro will integrate with (e.g., repository, testing tool, issue tracking tool, e-mail/IM, etc.); and to perform other tasks you will want AnthillPro to perform. Each agent should have permission to:

  • Create a cache. By default the cache is located in the home directory of the user running AnthillPro. However, the cache may be moved or disabled.

  • Open a TCP connection. The agent must use a TCP connection to communicate with the AnthillPro server's JMS port.

  • Open a HTTP(S) connection. The agent must be able to connect to the AnthillPro UI to download artifacts from the AnthillPro artifact repository (Codestation).

  • Access the file system. Many agents will need read/write permissions to items on the file system that are expected to go through AnthillPro.

To install the AnthillPro agent:

  1. Download the anthill3-<version>.zip file.

  2. Expand the zip file using a tool like WinZip. Expanding will create an anthill3-install directory.

  3. Open the anthill3-install directory created in the previous step in Windows.

  4. Run the install script install-agent.bat. For advanced agent installation, see also Unattended Agent Installation Scripts.

  5. Provide the following information:

    • Directory where the AnthillPro agent should be installed. For example: C:\Program Files\anthill3\agent. To have the installer create the directory, enter Y.

    • Home directory of the JRE/JDK used to run the agent. Default is C:\Program Files\Java\jre1.6.0_07.

    • Relay connection. Enter the default N if not using Urbancode's Distributed Servers product, available under separate license. If using Distributed Servers, see Installing Distributed Servers before continuing.

      If you are interested in using the Agent Relay for agent-server communication, contact .

    • Enter the host name or address of the AnthillPro server. Default is localhost.

    • Enter the port which the AnthillPro server will use for internal communication. Default is 7915.

    • Determine if internal communication should use SSL. Default is N.

      When using SSL, you need to turn it on for both the server and the agent -- otherwise the agents will not be able to connect to the server. If you are using the agent relay, ensure that SSL is turned on for all three components: server, agent, and agent relay. This rule also applies if using mutual authentication.
      • If using SSL, determine if communication should be mutually authenticated. Default is N.

  6. Enter name of agent.

  7. Type Y to automatically install the AnthillPro agent as a Windows service. Type N to complete installation process.

    For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.
  8. Install Agent as Windows Service. If automatically installing the AnthillPro agent as a Windows service, enter:

    • Service unique name. Default is ah3agent. (A unique name is required for each instance.)

    • Login for installed agent service. Default is .\localsystem.

    • Yes to automatically start service.

To manually install the AnthillPro agent as a Windows service:

For Windows 7, you will need to run as Administrator from the command line to install as a Windows Service. For example: C:\Windows\system32>.

  • Run ah3agent.cmd install uniqueservicename (located in bin\service folder of the AnthillPro directory).

  • Provide the service name and account information.

To run the AnthillPro agent:

  1. In Windows, navigate to the AnthillPro agent directory created during the installation. Default is: C:\Program Files\anthill3\agent. Enter the bin directory.

  2. Run the start script: start_ah3agent.cmd.

  3. Alternatively, from the command line run the start command bin\ah3agent.cmd start.

  4. Go to the AnthillPro UI to configure the agent so that it can receive work from the server. See Configure Agent(s).

Linux/Unix Server Installation from tar.gz File

To install the AnthillPro server:

  1. Download the anthill3-<version>.tar.gz file.

  2. Open a UNIX shell to the directory containing the above downloaded file.

  3. Extract the downloaded file. Type: tar -zxf anthill3-<version>.tar.gz.

    • On some installations of Solaris and HP-UX the default tar command will not properly handle our tar files. You may need to use \ install GNU tar.

      When installing AnthillPro on Solaris, it is recommended to use korn shell (ksh).

  4. cd anthill3-install. For advanced agent installation, see also Unattended Agent Installation Scripts.

    You can also install the server to run automatically using the init.d script. To do so, go to the install directory: /anthill3-install/bin/server/init, copy the ah3server file into your init directory, and make sure the INSTALL MODIFICATION section contains the correct information. Once your modifications are completed, make the file available to run.
  5. If you are using a database other than Apache Derby, copy the JDBC driver file(s) into the anthill3-install/lib/ext directory. See Database Requirements.

  6. Run the install script ./install-server.sh.

  7. Provide the following:

    • Directory where the AnthillPro server should be installed. For example: /opt/anthill3/server. If the directory does not already exist, enter Y to have the installer create the directory. Default is Y.

    • Home directory of the JRE/JDK used to run the server.

    • Port on which AnthillPro server should listen for remoting or distributed servers. Default is 4567.

    • IP address that the server web UI should listen on. We suggest using the default 'all IP addresses bound to machine' so that AnthillPro listens on all available IP addresses.

    • JMS port of the server. This is the port used for internal communications between the agent(s) and server. Recommended default value is 7915.

    • Secured connections using SSL. If using a secured connection for all web UI communication, enter Y. If using a caching proxy, see Caching and SSL before continuing. Under certain conditions, using HTTPS may effect server performance.

      When using SSL, you need to turn it on for both the server and the agent -- otherwise the agents will not be able to connect to the server. If you are using the agent relay, ensure that SSL is turned on for all three components: server, agent, and agent relay. This rule also applies if using mutual authentication.

      • If using a secured connection for HTTP requests, give the port the AnthillPro sever should listen on. Recommended default is 8443.

      • Unsecured HTTP port for the Web UI. This will be used to redirect unsecured requests to the secured HTTPS port when using HTTPS for the Web UI. Default is 8080.

    • HTTP port for the Web UI (if not using SSL). Default is 8080.

    • Database type (if other than the embedded Derby database). See Database Requirements.

    • Database user name. Default is anthill3.

    • Database password. Default is password.

To run the AnthillPro server and complete installation:

  1. Open a UNIX shell to the directory where you installed the server. If you took our suggestion, then this is: /opt/anthill3/server.

  2. cd bin.

  3. Run the start script: ./ah3server start.

  4. The application can now be accessed in the web browser.

  5. Complete installation:

    • External URL. Enter the URL users will use to access AnthillPro. This URL will be used to generate links back to the application in e-mail notifications, as well as for some agent communication. The URL may include http(s):// and any non-standard ports. For example http://myserver/ or http://myserver:8080/.

    • Administrator E-mail Address. Give the e-mail address that should be notified about system issues. The Administrator account will have complete access to AnthillPro, and is the initial user that must set up security. See Manage Security.

    • Administrator Password. Enter the password the AnthillPro administrator (created above) will use to access AnthillPro.

      Note that this password (and the user name admin) will be required to complete installation of the Distributed Web interface if the AnthillPro server is going to be used in conjunction with the Distributed Web product. For information on the Distributes Web interface, contact .

    • Confirm Administrator Password. Enter the password again.

    • License. Paste your AnthillPro license in the text field.

      If you are evaluating AnthillPro, go to anthillpro.com to retrieve the license from your account. This license is good for 30 days; however, if you need more evaluation time, contact .

      If you have already purchased AnthillPro, go to anthillpro.com to retrieve the license from your account. Contact .

  6. Click Complete.

    The application can now be accessed in the web browser. If you log out, give the user name admin and the password set in Item Five to log back in.

  7. Select pre-installed plug-ins to activate/deactivate. AnthillPro ships with pre-configured integrations that are written as plug-ins. If you choose to deactivate any of the plug-ins, you will not be able to use the AnthillPro integration with that tool until you reactivate it. If you don't know what tool integrations you want deactivated, you can leave them all active to start with and then edit the setting later. Click Done to go to the Dashboard.

Installing the Agent (Linux/Unix)

When installing the agent in a production environment, most people typically create a dedicated user that is responsible for running the agent (i.e., they create an "Anthill" user on the machine the agent is being installed on).

  • Note that for evaluation purposes, you can simply run the agent as the "Admin" user.

In general, the agent will need the appropriate rights in order to communicate with the AnthillPro server; to communicate with any tools AnthillPro will integrate with (e.g., repository, testing tool, issue tracking tool, e-mail/IM, etc.); and to perform other tasks you will want AnthillPro to perform. Each agent should have permission to:

  • Create a cache. By default the cache is located in the home directory of the user running AnthillPro. However, the cache may be moved or disabled.

  • Open a TCP connection. The agent must use a TCP connection to communicate with the AnthillPro server's JMS port.

  • Open a HTTP(S) connection. The agent must be able to connect to the AnthillPro UI to download artifacts from the AnthillPro artifact repository (Codestation).

  • Access the file system. Many agents will need read/write permissions to items on the file system that are expected to go through AnthillPro.

To install the Agent:

  1. Download the anthill3-<version>.tar.gz file.

  2. Open a UNIX shell to the directory containing the above downloaded file.

  3. Extract the downloaded file. Type: tar -zxf anthill3-<version>.tar.gz.

    • On some installations of Solaris and HP-UX the default tar command will not properly handle our tar files. You may need to use \ install GNU tar.

      When installing AnthillPro on Solaris, it is recommended to use korn shell (ksh).

  4. cd anthill3-install.

    You can also install the agent to run automatically using the init.d script. To do so, go to the install directory: /anthill3-install/bin/agent/init, copy the ah3agent file into your init directory, and make sure the INSTALL MODIFICATION section contains the correct information. Once your modifications are completed, make the file available to run.
  5. Run the install script ./install-agent.sh.

  6. Provide the following information:

    • Directory where the AnthillPro agent should be installed. For example: /opt/anthill3/agent. To have the installer create the directory, enter Y.

    • Home directory of the JRE/JDK used to run the agent.

    • Relay connection. Enter the default N if not using Urbancode's Distributed Servers product, available under separate license. If using Distributed Servers, see Installing Distributed Servers before continuing.

      If you are interested in using the Agent Relay for agent-server communication, contact .

    • Enter the host name or address of the AnthillPro server. Default is localhost.

    • Enter the port which the AnthillPro server will use for internal communication. Default is 7915.

    • Determine if internal communication should use SSL. Default is N.

      • If using SSL, determine if communication should be mutually authenticated. Default is N.

  7. Enter name of agent.

To run the AnthillPro agent, follow the steps below:

  1. Open a UNIX shell to the directory where you installed the agent. If you took our suggestion, then this is: /opt/anthill3/agent.

  2. cd bin.

  3. Run the script: ./ah3agent start.

Install Using DB2

AnthillPro uses the Apache Derby database by default, but can also use DB2 as a database. An existing installation of DB2 must be installed either on the same machine as the AnthillPro server or somewhere accessible on the network. You will need to provide the AnthillPro installation with the connection information to the DB2 database as well as a user login that is allowed to create tables.

Installing AnthillPro Server with DB2

Once the DB2 Server database and user have been created, you will need to obtain the correct JDBC driver that allows AnthillPro to connect to the DB2 database.

  1. Contact your DB2 vendor and request the JDBC driver that corresponds to the database version in use.

  2. After downloading AnthillPro, expand the archive.

  3. Copy the JDBC jar file into the anthill3-install/lib/ext directory.

  4. Proceed with the normal installation instructions until you reach the choice of database. See either Linux/Unix Server Installation from tar.gz File or Windows Server Installation from zip File.

  5. When prompted for the database type, enter db2.

  6. Provide the following:

    • Driver. The JDBC driver class that AnthillPro will use to connect to the database. Default: com.ibm.db2.jcc.DB2Driver.

    • Connection string. Format of the connection string that is dictated by the JDBC driver you are using. For example, jdbc:db2://localhost:48665/anthill3.

  7. Follow the AnthillPro installation instructions for your operating system. See either Linux/Unix Server Installation from tar.gz File or Windows Server Installation from zip File.

If you receive errors during the installation, please copy the error output and contact support.

Install Using Oracle

AnthillPro uses the Apache Derby database by default, but can also use Oracle as a database. An existing installation of Oracle must be installed either on the same machine as the AnthillPro server or somewhere accessible on the network. You will need to provide the AnthillPro installation with the connection information to the Oracle database as well as a user login that is allowed to create tables.

Starting with AnthillPro 3.7.3, you can use Oracle RAC (version 10g or later) as the backing database. For clean installs of AnthillPro, simply select Oracle as the backing database. If you are currently running AnthillPro with Oracle, switching to RAC is pretty straightforward: after backing up your current database, update the base.xml and installed.properties files to use the new Oracle RAC configuration.

It is best to create a unique user for this database, and you may need to ensure that the user does not have Administrator privileges.

  • Use the JDBC driver for Oracle 10.2 or higher, regardless of what version of the database is used.

Installing AnthillPro Server with Oracle

To install the AnthillPro server with Oracle, you need to download either the zip or tar.gz distribution. Once you have the distribution downloaded, you may unpack it, but do not start the installation yet.

Before installation, you will need to obtain a JDBC driver for the AnthillPro server to use. (Use the JDBC driver for Oracle 10.2 or higher, regardless of what version of the database is used.) The JDBC driver is the Java code that allows the server to connect to the Oracle database. Oracle should provide a JDBC jar file with its installation. The driver is unique to the version of Oracle you are running. You need to locate the JDBC jar file and copy it into the expanded installation directory.

The JDBC jar file needs to be copied to the anthill3-install/lib/ext directory.

Proceed with the normal installation instructions until you reach the choice of database. You will be prompted for the type of database you want to use. Enter oracle to use an Oracle database. When you choose Oracle, you will also need to provide information specific to the Oracle database. First, you need to provide the JDBC driver class that AnthillPro will use to connect to the database. The default value is oracle.jdbc.driver.OracleDriver. You may need to check your Oracle installation or driver file to see if the class is different.

Second, you will be prompted for the JDBC connection string. The format of the connection string is dictated by the JDBC driver. See Oracle documentation.

Typically, it will match the following format:

jdbc:oracle:thin:@[DB_URL]:[DB_PORT]

Eg. jdbc:oracle:thin:@localhost:1521
  • If you are having trouble, and have a DBA account, try including the service name parameter, similar to:

    jdbc:oracle:thin:@[DB_URL]:[DB_PORT]:[SERVICE_NAME]

After providing the JDBC connection string, you will be prompted for the user and password. Enter those and complete the installation normally. If you receive errors during the installation, please copy the error output and contact support.

Install Using Microsoft SQL Server

AnthillPro can use Microsoft SQL server as its backing database. AnthillPro requires a newly created database in Microsoft SQL server, as well as a user that is allowed to create tables. It is best to create a unique user for AnthillPro to use. You will also need to obtain the correct JDBC driver from Microsoft.

  • The MS SqlServer 2.0 driver (sqljdbc4.jar) will not work with AnthillPro. To install the server using Microsoft SQL Server, you will need to use one of the following drivers, depending on which version of Java the AnthillPro server uses:

    Java 5. Use either the 1.2 driver or the 2.0 sqljdbc.jar driver.

    Java 6. Use the 1.2 driver.

Installing AnthillPro Server with Microsoft SQL Server

First, create a database and a user in your SQL Server database before installing AnthillPro. You can do this by running the following commands (change the password to something secure):

CREATE DATABASE anthill3;

USE anthill3;

CREATE LOGIN anthill3 WITH PASSWORD = 'password';

CREATE USER anthill3 FOR LOGIN anthill3 WITH DEFAULT_SCHEMA = anthill3;

CREATE SCHEMA anthill3 AUTHORIZATION anthill3;

GRANT ALL TO anthill3;

Once the Microsoft SQL Server database and user have been created, you will need to obtain a JDBC driver for the AnthillPro server to use. The JDBC driver is the Java code that allows the server to connect to the Microsoft SQL Server database. On their web site, Microsoft provides a JDBC driver jar to download. Please download the driver version that corresponds to your version of Microsoft SQL Server.

  • The MS SqlServer 2.0 driver (sqljdbc4.jar) will not work with AnthillPro. To install the server using Microsoft SQL Server, you will need to use one of the following drivers, depending on which version of Java the AnthillPro server uses:

    Java 5. Use either the 1.2 driver or the 2.0 sqljdbc.jar driver.

    Java 6. Use the 1.2 driver.

You need to locate the JDBC jar file and copy it into the AnthillPro expanded installation directory. The JDBC jar file needs to be copied to the anthill3-install/lib/ext directory.

Proceed with the normal installation instructions until you reach the choice of database. You’ll be prompted for the type of database you want to use, enter sqlserver to use the Microsoft SQL Server database. When you choose Microsoft SQL Server, you will also need to provide information specific to the database. First, you need to provide the JDBC driver class that AnthillPro will use to connect to the database. The default value is com.microsoft.sqlserver.jdbc.SQLServerDriver. You may need to check your Microsoft SQL Server driver download to see if the class is different.

Second, you will be prompted for the JDBC connection string. The format of the connection string is dictated by the JDBC driver. See Microsoft SQL Server documentation.

Typically, it will match the following format:

jdbc:sqlserver://[DB_URL]:[DB_PORT];databaseName=[DB_NAME]

Eg. jdbc:sqlserver://localhost:1433;databaseName=anthill3

After providing the JDBC connection string, you will be prompted for the user and password. Enter those and complete the installation normally. If you receive errors during the installation, please copy the error output and contact support.

Install Using MySQL

AnthillPro uses the Apache Derby database by default, but you can also use MySQL (with InnoDB storage) as the database. An existing installation of MySQL (with InnoDB storage) must be installed either on the same machine as the AnthillPro server or somewhere accessible on the network. You will need to provide the AnthillPro installation with the connection information to the MySQL database as well as a user login that is allowed to create tables. It is best to create a unique user for this database.

  • If using MySQL 5, use the 5.0.8 driver version. The 5.1 version has some bugs that will cause the AnthillPro server to throw an error. If you are using the 5.1 version, switch the driver jar file in the server's lib/ext directory and then restart.

  • It is also recommended that the InnoDB storage engine be used.

Installing AnthillPro Server with MySQL

To install the AnthillPro server with MySQL (with InnoDB storage), you need to download either the zip or tar.gz distribution. Once you have the distribution downloaded, you may unpack it, but do not start the installation yet.

First, create a database and a user in your MySQL database before installing AnthillPro. You can do this by running the following commands (change the password to something secure):

CREATE DATABASE anthill3;

GRANT ALL ON anthill3.* TO 'anthill3'@'%' 
IDENTIFIED BY 'password' WITH GRANT OPTION; 

Before installation, you will need to obtain a JDBC driver for the AnthillPro server to use. The JDBC driver is the Java code that allows the server to connect to the MySQL database. MySQL should provide a JDBC jar file with its installation. The driver is unique to the version of MySQL you are running. You need to locate the JDBC jar file and copy it into the expanded installation directory. The JDBC jar file needs to be copied to the anthill3-install/lib/ext directory.

Proceed with the normal AnthillPro installation instructions until you reach the choice of database. You will be prompted for the type of database you want to use, so enter mysql to use a MySQL database. When you choose MySQL, you will also need to provide information specific to the MySQL database. First, you need to provide the JDBC driver class that AnthillPro will use to connect to the database. The default value is com.mysql.jdbc.Driver. You may need to check your MySQL installation or driver file to see if the class is different.

Second, you will be prompted for the JDBC connection string. The format of the connection string is dictated by the JDBC driver. See MySQL documentation.

Typically, it will match the following format:

jdbc:mysql://[DB_URL]:[DB_PORT]/[DB_NAME]

Eg. jdbc:mysql://localhost:3306/anthill3

After providing the JDBC connection string, you will be prompted for the user and password. Enter those and complete the installation normally. If you receive errors during the installation, please copy the error output and contact support.

Install Using PostgreSQL

  • Due to a known defect with PostgreSQL 8.4.0, AnthillPro can't be installed with that version. Use version 8.3.7.

AnthillPro uses the Apache Derby database by default, but can also use PostgreSQL as a database. An existing installation of PostgreSQL must be installed either on the same machine as the AnthillPro server or somewhere accessible on the network. You will need to provide the AnthillPro installation with the connection information to the PostgreSQL database as well as a user login that is allowed to create tables.

Installing AnthillPro Server with PostgreSQL

  • Due to a known defect with PostgreSQL 8.4.0, AnthillPro can't be installed with that version. Use version 8.3.7.

Once the PostgreSQL Server database and user have been created, you will need to obtain the correct JDBC driver that allows AnthillPro to connect to the PostgreSQL database.

  1. Go to www.PostgreSQL.org and download the JDBC driver for the version of PostgreSQL you use.

  2. After downloading AnthillPro, expand the archive.

  3. Copy the JDBC jar file into the anthill3-install/lib/ext directory.

  4. Proceed with the normal installation instructions until you reach the choice of database. See either Linux/Unix Server Installation from tar.gz File or Windows Server Installation from zip File.

  5. When prompted for the database type, enter postgres.

  6. Provide the following:

    • Driver. The JDBC driver class that AnthillPro will use to connect to the database. Default: org.postgresql.Driver.

    • Connection string. Format of the connection string that is dictated by the JDBC driver you are using. For example, jdbc:postgresql://localhost:5432/anthill3.

  7. Follow the AnthillPro installation instructions for your operating system. See either Linux/Unix Server Installation from tar.gz File or Windows Server Installation from zip File.

If you receive errors during the installation, please copy the error output and contact support.

Run with an Apache Server

The embedded Tomcat instance can be configured to run behind Apache HTTPD. This is desirable to make the AnthillPro UI available on the standard HTTP/HTTPS ports (80/443) without the security risk of running the JVM as root.

  • $ANTHILL3_HOME should be replaced with your AnthillPro server home directory. Host names (anthill3.example.com) should be replaced by values appropriate to your site.

See also Optimizing Server Performance.

Tomcat Configuration

Locate the Tomcat server configuration file, server.xml, which is in $ANTHILL3_HOME/opt/tomcat/conf. Add a connector child element to the service element (this should be near the top of the file):

<Connector port="8009" minProcessors="5" maxProcessors="256" 
protocol="AJP/1.3" />

AnthillPro must be restarted for this to take effect.

Apache 2.0 Configuration

Configuring Apache to use mod_jk is somewhat complicated. First, for Apache 2.0, use mod_jk version 1.2.19. You may need to look in the Tomcat project archives to find the appropriate binary. Later versions only support Apache 2.2. After downloading, extract mod_jk.so and add it to the Apache modules directory.

Add the following to Apache’s httpd.conf:

LoadModule jk_module modules/mod_jk.so

JkWorkersFile "conf/workers.properties"

<VirtualHost *:80>
  ServerName anthill3.example.com
  JkMount /* anthill3
</VirtualHost>

Create a file called workers.properties in the Apache conf directory:

worker.list=anthill3
worker.anthill3.type=ajp13
worker.anthill3.host=anthill3.example.com
worker.anthill3.port=8009

The worker.anthill3.host should match the value of ServerName in httpd.conf and worker.anthill3.port must match the value of the Connector port in server.xml.

Apache 2.2 Configuration

For Apache 2.2, use mod_jk version 1.2.21 or later. The binaries are accessible via the normal Tomcat/Jk connector download page. The configuration is identical to Apache 2.0.

In addition to mod_jk, Apache 2.2 adds a new proxy module, mod_proxy_ajp designed to work with Tomcat. This module is part of Apache 2.2, so a separate download is not necessary.

The Tomcat configuration is the same as above.

Add these lines to httpd.conf:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

<VirtualHost *:80>
  ServerName anthill3.example.com
  ProxyPass / ajp://internal.example.com:8009/
  ProxyPassReverse / ajp://internal.example.com:8009/
</VirtualHost>

Changing the Context Path

The above directions assume the Anthill UI is running as the root context (that is, the UI would be viewable at http://anthill3.example.com/), but it is possible to run the UI with a different context path (e.g., http://www.example.com/anthill3). This is not a fully supported configuration and upgrading may become difficult.

To change the context path from / to /anthill, do the following: Edit server.xml and change the context element to have path="/anthill" and docBase="anthill". Then, rename $ANTHILL3_HOME/opt/tomcat/webapps/ROOT to $ANTHILL3_HOME/opt/tomcat/webapps/anthill.

In httpd.conf, update the URLs in the JkMount and ProxyPass... directives:

JkMount /anthill/* anthill3

or:

ProxyPass /anthill ajp://internal.example.com:8009/anthill 
ProxyPassReverse /anthill ajp://internal.example.com:8009/anthill

Additionally, add JkMount and ProxyPass... lines for the AnthillPro Help:

JkMount /anthillpro-help/* anthill3

or:

ProxyPass /anthillpro-help ajp://internal.example.com:8009/anthillpro-help

ProxyPass /anthillpro-help ajp://internal.example.com:8009/anthillpro-help 
ProxyPassReverse /anthillpro-help ajp://internal.example.com:8009/anthillpro-help

Configure Server-Agent SSL

AnthillPro allows the server and agents to communicate securely using SSL in two modes: unauthenticated and mutual authentication. In unauthenticated mode, the communication between the server and agents is secured with SSL, but there is no authentication to verify the server or agent credentials.

When using SSL, you need to turn it on for both the server and the agent -- otherwise the agents will not be able to connect to the server. If you are using the agent relay, ensure that SSL is turned on for all three components: server, agent, and agent relay. This rule also applies if using mutual authentication.

In mutual authentication mode, the communication between server and agent is secured with SSL and authentication takes place to verify the server is really the server and the agent is really the agent.

Configuring SSL

In order to use SSL between the server and agent, both the sides need a private key created in a keystore. This key and keystore is created during the installation process of the server and agent. There should be a ah3.keystore file in the conf directory of each installation. If there is not, please contact support for assistance.

In order to turn SSL on, make sure the server is running and go to the Web UI. Go to the System tab and click the server Settings link under the Server menu. In the new window, enable the Use SSL Between Server and Agents setting. After this, restart the server. That completes the server configuration for enabling SSL.

When using SSL, you need to turn it on for both the server and the agent -- otherwise the agents will not be able to connect to the server. If you are using the agent relay, ensure that SSL is turned on for all three components: server, agent, and agent relay. This rule also applies if using mutual authentication.

For each agent installed, you must first shutdown the agent, and then go to the conf/agent directory and edit the agent properties file. The settings in the file that controls the SSL communication is locked/server.secure. If this property is not present you will need to add a line. It should look like: locked/server.secure=true.

Start the agent, and go in to the server Web UI to verify that the agent shows up as online. To further test that communication is working properly, go to the System tab and click the Agents link under the Environment menu. Select an agent from the Agent List, and then select the Properties tab to validate the agent properties are retrieved correctly.

Configuring Mutual Authentication

In order to do mutual authentication between server and agent communication, you must facilitate a public key exchange between the two. To do this, export the public key from the certificate keystore and import it into the keystore of that which you are communicating with: Export the server key and import it into the agent keystore, and export the agent key and import it into the server keystore. You will also need to ensure that every agent using mutual authentication has the locked/server.mutual_auth=true property in the agent.properties file.

  1. To export the public key from the server certificate keystore, open a command-line shell to the server installation’s Conf directory and run:

    keytool -export -keystore ah3.keystore -storepass changeit 
        -alias ah3_server -file ah3_server.crt
  2. This file needs to be copied to your agents. Place it into the agent installation’s Conf directory and run the following to import it:

    keytool -import -keystore ah3.keystore -storepass changeit 
        -alias ah3_server -file ah3_server.crt -keypass changeit -noprompt
  3. While on the agents, run the following from their installation’s conf directory to export their public keys (change the name of the file argument to match the agent name):

    keytool -export -keystore ah3.keystore -storepass changeit 
        -alias ah3_agent -file [agent_name].crt
  4. Open the Agent's agent.properties file (in the conf\agent directory) in a text editor. Set the locked/server.mutual_auth property to true: locked/server.mutual_auth=true and save your changes.

  5. Copy the agent public keys to the server’s conf directory and run the following command to import them (change the name of the file argument to match your file name and the name of the alias argument to match your agent name):

    keytool -import -keystore ah3.keystore -storepass changeit 
        -alias [agent_name] -file [agent_name].crt -keypass changeit -noprompt
  6. To complete mutual authentication, make sure the server is running, go to the System page, and click the Server Settings link under the Server menu.

  7. In the next window, enable the Enforce Mutual Authentication setting.

  8. Restart the agent.

  9. Verify that communication is working properly between server and agent.

If you need to list the certificates that are loaded into a keystore, you can run the following from the same directory:

keytool -list -keystore ah3.keystore -storepass changeit

SSL and Distributed Servers

It is possible to configure the AnthillPro server to use SSL with the Distributed Web Interfact. To do so, you will need to import an existing certificate and switch to https. Before you begin, make sure AnthillPro is not running any jobs (you can do this on the Current Activity page). The ports listed in the examples may be different than those used by your AnthillPro system. See Using SSL with Distributed Web Interface.

Configure Installed Agents

AnthillPro agents are responsible for running commands on the machines that AnthillPro controls. When an agent is installed and started on a host, it contacts the AnthillPro central server. It will show up on the main server’s agents overview screen under the Available Agents headline. This is reserved for agents that have been installed but are not configured. Active Agents shows agents that have been configured. Ignored Agents shows the agents that have been temporarily removed from service.

  • To view the Agent List, go to the System tab and select the Agents link under the Environment menu.

See also Configure Agent(s).

Configure an Agent

To configure an agent, click on the name of that agent. That will display the page shown below. Most of the information here will be configured at installation time, but you can change the agent’s name any time.

  • Name. Give the Agent a descriptive name. The current name of the agent was given during the installation process. AnthillPro will automatically update the agent if it's name is changed.

  • Throughput Metric. The throughput metric provides a hint to AnthillPro’s load balancer. In a busy Build-Farm, it may be that several machines could handle a request, but each is already running builds. To determine which machine is best equipped to handle the additional build, the load balancer compares the machine’s throughput metric number to the number of jobs that are running on it. So a server with a metric of 10 will get a third job assigned to it before a server with a metric of 1 gets its second job.

  • Maximum Job Count. Agents can also be given a maximum number of jobs that they may run. If all agents a job can run on are at their maximum, it waits queued until a machine frees up.

  • Preferred Server. If utilizing distributed servers, select the appropriate server. In most cases, the agent should be connected to the preferred server via a LAN. Otherwise, select "none". See Distributed Servers and Agent Configuration.

  • Environments. An agent can participate in one or more environment(s). Generally, an agent belongs to a single environment, like Build-Farm or Development Test or QA. But often a single agent will be used as a staging server for several environments and so it should be listed as a participant for those. See Create Environments.

See also Configure Agent(s).

Agent Properties (Installation)

The Properties tab (see below) on the agent configuration page allows you to view or set custom variables on the agent.

  • The custom variables can indicate where build or testing tools are installed.

  • In the Locked Variables section, review the system and environment variables. Those are often used in agent filters.

See also Configure Agent(s).

Agent Security tab

Manage user access on the Security tab. Administrators can define what roles have access to read, write, or determine security for agents.

See also Configure Agent(s).

Using Agent Proxies

Once the agent has been installed, a proxy may be set up. Use an agent proxy for any agents where the direct agent-sever communication is prohibited. Once enabled, the proxy allows the agent to send logs, reports and other artifacts to the server. See Using Agent Proxies.