---+ Installation and Administration

Basic installation merely  requires  installing   a  recent  version  of
[[SWI-Prolog][http://www.swi-prolog.org]] and unpacking  ClioPatria (see
Download.txt). Next, ClioPatria may be deployed in two ways as described
in the sections below. Using ClioPatria as  an _application_ that can be
extended is probaly the best choice for   setting up a new server. Using
it as a library is probably a  good choice to add ClioPatria -temporary-
to an application.


---+++ Installation as application

Running ClioPatria as an application requires a few steps:

    1. Create the start-file run.pl from =|run.pl.in|=.  On Unix, this
    is achieved by running =|./configure|= from the top directory.  On
    Windows by double-clicking setup.pl.

    2. Optionally, pull in configuration files according to
    config-enabled/README.txt.  Example config files are available from
    =|config-available|= and described in config-available/README.txt.

    3. Start run.pl as =|./run.pl|= on Unix or double-clicking run.pl
    on Windows and direct your browser to the indicated address (default
    is http://localhost:3020/. The first time, you will be asked to
    enter an _admin_ password. This protects some web-operations, such
    as managing settings and loading/unloading RDF.

If you want to extend the application, there  are two options. One is to
put a Prolog file with  the   desired  extensions in =|config-enabled|=.
Another is to run the installation   steps  (configure or setup.pl) from
another directory. This creates run.pl and config-enabled in the current
working  directory,  after  which  the  extensions   can  be  placed  in
=|config-enabled|=.


---+++ Use as library

To use ClioPatria as a library,   one  can simply compile cliopatria.pl.
The file run.pl as generated from   installation as an application gives
additional actions you may want to setup.   The web-server is started by
cp_server/0, but the system runs  happily   if  the Prolog threaded HTTP
server (see library(http/thread_httpd)) is started   in  another way, as
long as the server uses http_dispatch/1 for dispatching HTTP requests.