Made for intelligence analysts. Now free to the public.
Follow OpenSourceACH on Twitter

Download and Install

From The Open Source Analysis of Competing Hypotheses Project

Revision as of 20:50, 3 October 2010 by Matt (Talk | contribs)

Download version 1.0.2alpha


Open Source ACH was developed on a Linux machine with an Apache server with PHP 5.2 and MySQL 5; it might work with earlier versions but has not been tested on them.

It has been successfully installed, with modifications, on a Windows server.

Because this is a Web application, you cannot install it on an ordinary desktop computer. To make that happen, you should install a tool like XAMPP. If you're interested in using Open Source ACH but don't have access to a Web server, stay tuned: we will have an online version ready in the near future.


1: At the top of parts/includes.php, edit the following lines to reflect your environment, replacing SITEURL with your own domain. Do not include trailing slashes (eg. instead of

<base href="http://SITEURL">
<?php $base_URL="http://SITEURL";

2: In code/common_db.php, add your database connection details:

$dbhost = 'HOST';
$dbusername = 'DBUSER';
$dbuserpassword = 'DBUSERPASSWORD';
$default_dbname = 'DBNAME';

3: Create your database and run the MySQL script to create the tables.

4: The code is set up to run out-of-the-box from the root directory of your domain (eg If you want to install ACH into a subdirectory so that it runs from, you must edit line 3 of the .htaccess file to read

RewriteBase    /ach

ACH was developed to run from the root directory. If running from the subdirectory, you will encounter some quirks. Working out these quirks is a top priority for the project.

Server-level settings

If pages do not load correctly after completing the above, the problem may be with your server settings. If possible, change your Apache vhost configuration file by altering the directory-level settings to the following (or add them if none exist):

<Directory /path/to/remote/root/>
  Options Indexes FollowSymLinks 
  AllowOverride All
  Order allow,deny
  allow from all

PHP should have the short_opentag setting turned on. You can verify this either with a phpinfo page, or by editing your php.ini file.