ACIS Installation
=================

<toc/>

Requirements
------------

To use ACIS you need a Unix/Linux system with Perl 5.8,
MySQL and Apache.  To install ACIS and to perform
administrative work you'll need shell access to the machine.
To make ACIS useful you need a collection of
academic-related metadata, in an ACIS-compatible form.  For
sending email messages, ACIS needs *sendmail* or another
mail transport agent.

Required Perl modules:

-  XML::XPath 1.13
-  XML::LibXML 1.58 (requires <a href='http://xmlsoft.org/'>gnome-libxml2</a>)
-  XML::LibXSLT 1.58 (<a href='http://xmlsoft.org/XSLT/' >libxslt</a> 1.1.15+)
-  Carp::Assert 0.17
-  CGI::Cookie 1.25
-  CGI::Minimal 1.24
-  CGI::Untaint 1.25
-  Storable 2.04
-  AppConfig 1.54
-  BerkeleyDB 0.19
-  Proc::Daemon 0.03
-  DBI 1.18
-  DBD::mysql
-  String::Similarity 1.0+
-  String::Approx

Versions indicated are the ones we succesfully used with
ACIS.  Probably newer versions will work just as well.


The Files
---------

ACIS distribution packages are available from
[http://acis.openlib.org/code/](http://acis.openlib.org/code/).



Installation
------------

You can run ACIS as a usual Unix user.  For some
installation steps you will probably need root access.  For
example, for configuring and restarting Apache web server.
Every step, where the opposite is not mentioned, you can do
and shall do as an unprivileged user.

1. Unpack ACIS package to a temporary directory, let's say
<code>tmp/</code>.

2. Choose and create a directory to install ACIS to.  We'll
call that <i>ACIS home directory</i> or simply <i>home</i>.

3. Run <code>tmp/ACIS-.../install.sh home</code> to install
into <code>home</code> directory.

4. Take a look at <a ref='bdb-private'>Berkeley DB: private
   installation</a>.  This may be the next step to do.

5. Configure MySQL. Create a MySQL user with a password, if
   necessary. Or you can use an existing MySQL account, if you
   wish. Create a database for ACIS' data tables.

6. Change to the ACIS home directory.

7. Open <code>main.conf.eg</code> file, edit it to adapt it to
your system and save as <code>main.conf</code>.  See
[configuration guide](conf.html) for details.

8. <a href='apache-conf.html'>Configure Apache
appropriately</a> and restart it, if neccessary.  (Optional.)

9. Run <code>bin/setup</code>

   At this stage web interface must respond already.

10. Run <code><c>bin/rid</c> start</code>

    At this stage, if everything above was done correctly,
    the system is almost ready for a grand opening.  Users
    can register, although there's no data in the database
    yet.  So it's not yet very useful.

    The only thing left is to fill the databases with your
    academic metadata.  Read about <a
    ref='sending-update-requests'>how to send an update
    request for some data collection</a> and do send a
    request to update root (<co>/</co>) of your data
    collection.

    When the update is done -- the system is ready, given
    that nothing has gone wrong.

11. Set up <c>bin/clean-up</c>, <c>bin/apu</c> to run
    regularly via crontab.  (See next section.)

12. Set up log rotation and backups.

13. Set up update daemon database <a
    ref='db-house'>checkpoints and logs removal</a>.


### Setting up the basic utilities

Configure your machine to start <c>bin/rid</c><co>
start</co> (relative to ACIS home dir) on boot and
<c>bin/rid</c><co> stop</co> before shutdown.  (For this
arrangement help of your local system administrator may be
required.)

Configure a cron job for <c>bin/clean-up</c> at regular
intervals and redirect its output into a log, e.g.:

      */14 * * * * /home/user/acis/bin/clean-up >> /home/user/acis/clean-up.log


For automatic profile update (APU), install <c>bin/apu</c>
as a cron-job or a batch job to be executed regularly or at
low-load periods.



## Upgrading

If you already have a version of ACIS installed, and want to
upgrade it to the latest version, the procedure is simple.
You grab the package, unpack it and run the install.sh
script:

    ~/tmp$ ACIS-1.4.5-20051108a/install.sh /opt/ACIS

...assuming that <co>/opt/ACIS</co> is where you have the
previous version installed.  The installation script will
detect the previous installation and will upgrade it
automatically.

After that you will have to restart the <a
href='daemon.html'>update daemon</a>, by running
<c>bin/rid</c> <code>restart</code>.




