ACIS Installation / ACIS documentation

# ACIS Installation

### Table of contents

## 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 gnome-libxml2)
- XML::LibXSLT 1.58 (libxslt 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/.

## 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 `tmp/`.

2. Choose and create a directory to install ACIS to. We’ll call that ACIS home directory or simply home.

3. Run `tmp/ACIS-.../install.sh home` to install into `home` directory.

4. Take a look at Berkeley DB: private installation. 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 `main.conf.eg` file, edit it to adapt it to your system and save as `main.conf`. See configuration guide for details.

8. Configure Apache appropriately and restart it, if neccessary. (Optional.)

9. Run `bin/setup`

   At this stage web interface must respond already.

10. Run `bin/rid start`

    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 how to send an update request for some data collection and do send a request to update root (`/`) of your data collection.

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

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

12. Set up log rotation and backups.

13. Set up update daemon database checkpoints and logs removal.

### Setting up the basic utilities

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

Configure a cron job for bin/clean-up 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 bin/apu 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 `/opt/ACIS` 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 update daemon, by running bin/rid `restart`.