Installing Arches on Windows

This chapter presents the steps necessary to acquire and install the Arches core software on your server.

Of course, you may use the same instructions to install Arches on either an in-house or remote server. And, while this guide does not cover it, Arches can be installed across multiple machines for deployments that demand high fault tolerance.

Step 1: Download Arches

Create the following folder on your computer:


Download the Arches v2.0 code and copy it to the archesproject folder (be sure and unzip if necessary).

Step 2: Install PostgreSQL 9.3, PostGIS 2.x

Download and install PostgreSQL 9.3 for Windows from:


  1. Select all the default options when installing and take special note of the password you supply for the superuser (you’ll need this later, by default we assume the password ‘postgis’)

  2. At the end of the install leave the checkbox checked to run Stack Builder (which you’ll use to install PostGIS) then click the “Finish” button

  3. In the Stack Builder drop-down menu, select the local Postgres database (something like PostgreSQL 9.3 on port 5432) then click “Next”

  4. Expand the Spatial Extensions link and check the box for PostGIS. Click “Next”

  5. Select your download directory and click “Next” again

  6. Click “Next” to start the installation of PostGIS

  7. Select all the defaults until you get to the screen where it asks for your password. Type in the password that you created earlier.

  8. Select “Yes” to register the GDAL_DATA environment variable ,unless you have it currently set to something else and you don’t want to override it.

  9. Click “Close” and then “Finish” to complete the setup of Postgres with PostGIS

  10. Assuming that your Postgres installation is in C:Files.3, add this to your system PATH (If you are unsure how to do this, look here ):

    C:\Program Files\PostgreSQL\9.3\bin

After installing PostgreSQL you’ll need to run 2 commands from a command window (this only applies to PostgreSQL 9.2 and above). Open a command window and at the command prompt type the following:

createdb -U postgres -E UTF8 -T template0 template_postgis_20
psql -U postgres -d template_postgis_20 -c "CREATE EXTENSION postgis;"


To confirm that you have installed PostgreSQL, open a command window and type: psql. You should be prompted for a password. If so, then PostgreSQL is installed and you may close the command prompt. If you received an error like “psql is not recognized as an internal or external command, operable program or batch file” then you probably need to add an entry to your path.


PostgreSQL Warnings

If you experience errors during the installation, please check that the setting ‘standard_conforming_strings’ in ‘postgresql.conf’ is uncommented and set to ‘off’. See this question on stackoverflow for more information.

Step 3: Install GEOS

Download and install GEOS from


  • Make sure to select the x86 version for 32bit machines, or x86-64 for 64bit machines

  • Assuming that your OSGeo4W installation is in C:\OSGeo4W\ directory, add this to your system PATH:


Step 4: Install Python 2.7.6

Download Python at


  • Download the latest MSI Installer for version 2.7.6 (Note: make sure to select the x86 version for 32bit machines, or x86-64 for 64bit machines)

  • Run the installer and select all the default options when prompted.

  • Assuming that your Python installation is in C:\Python27\, add this to your PATH:



Python Versions

While you should be able to install versions of Python later then 2.7.6, we’ve had users say that they’ve had trouble with 2.7.7 and 2.7.8 If you want a guaranteed good result stick with version 2.7.6

Step 5: Install the latest Java Development Kit (JDK)

Download and install the JDK from


  1. Select all the default options, except at the very end, uncheck the box that asks to install the toolbar.
  2. Right-click the “My Computer” icon on your desktop and select “Properties” to set the JAVA_HOME environment variable.
  3. Click the “Advanced” tab.
  4. Click the “Environment Variables” button.
  5. Under “System Variables”, click “New”.
  6. Enter the variable name as JAVA_HOME.
  7. Enter the variable value as the installation path for the Java Development Kit. (For example, if you used the default path for the Java Development Kit during installation, use ‘C:FilesJava1.7.0_25’. This string should be your variable value.)
  8. Click “OK”.
  9. Click “Apply Changes”.
  10. Close any command window which was open before you made these changes, and open a new command window. There is no way to reload environment variables from an active command prompt. If the changes do not take effect even after reopening the command window, restart Windows.

Step 6: Install Web Framework and Search Engine

Arches uses the Django web framework ( and the ElasticSearch engine ( This step installs these technologies. Open a command window and navigate to:


Then run the following bat file. This installs the that Arches uses:


Once this bat file runs you’ll need to start the Django development server and ElasticSearch search engine, by navigating to the root folder and running the following bat file:



If you get an error similar to this, “Could not import user-defined GEOMETRY_BACKEND”geos“”, you might try adding the path to the GDAL dll to your archesproject/ file (for more information see the djagno docs):

GDAL_LIBRARY_PATH = “C:/OSGeo4W/bin/gdalxxx.dll” #<– make sure this path is correct and points to the actual dll, note the forward slashess


A note about runserver.bat

Windows may automatically open 2 command windows as part of this step (if you double clicked runserver.bat for example). One window is for the inbuilt Django webserver, the other one is for the Elasticsearch search engine.


If you happen to run runserver.bat again without closing those 2 windows first then you’ll end up with mulitple instances of the webserver and search engine running. The search engine can consume a lot of resources and additionaly will try and replicate itself to the new instance, taking up additional memory and hard drive space. If you want to disable this “feature” then

uncomment line 87 in the archesproject/arches/Search/engines/elasticsearch-0.90.3/config/elasticsearch.yml file where it says: #node.max_local_storage_nodes: 1


Feel free to minimize these windows, but if close them you will stop your either your web server or search engine depending on which one you closed. Before re-running runserver.bat make sure to close both windows.


We use the Django development server to make it easy for you to confirm that Arches has installed properly. You WILL NEED to configure Arches to use a production quality web server such as Apache if you want to use Arches in production. See the chapter on Arches configuration for guidance on how to complete this step.

Step 7: Install and Build Arches

Open a new command window, and navigate to:


Run the following script to build Arches:



Database Password

You may be prompted for a password to the Arches database. The default password is: postgis. You can open in the arches root folder to change the default arches password, or to install Arches on to an existing instance of PostgreSQL/PostGIS.

Next Steps

You’ve just completed the steps needed to install the core Arches application. To confirm that Arches installed properly, open a new command window, and navigate to:


Run the following script to build Arches:


Confirm that Arches is running by typing the following URL


Arches requires that you load a data management package before you can start working with your cultural heritage data. Jump to the chapter entitled Loading the CDS Package to install a cultural heritage data management package based on the CIDOC Core Data Standard.

You may also check the website to see whether the community has developed other data management packages.

It’s also possible to create your own Arches Data Management Package. You’ll want to review an existing package (such as the CDS Package) to see how to structure an Arches package. You can find more information on creating packages by joining the Arches Discussion Forum (