How to install Archivematica

archivematicaIn this article we will go through the process of installing Archivematica on Ubuntu 18.04 LTS.


System requirements

Minimum for testing

  • Processor: 2 CPU cores
  • Memory: 2GB+
  • Disk space: 7GB plus two to three times the disk space required for the collection being processed (e.g., 3GB to process a 1GB transfer)

Minimum for production

  • Processor: 2 CPU cores
  • Memory: 4GB+
  • Disk space: 20GB plus three to four times the disk space required for the collection being processed (e.g., 200GB to process a 50GB transfer)

 

Physical, virtual or Docker?

Note that the automated install using Ansible involves using Vagrant and VirtualBox, which uses virtualisation, and subsequently can only be performed on physical hardware. I will ultimately use Docker on AWS for my installation of Archivematica, and so the Ansible method won't work for me, as AWS is already a virtualised platform. However to get started we will go through a manual install on Ubuntu and this will inform how to install with Docker on AWS.

 

Manual Install

Start with a clean build of Ubuntu 18.04 LTS.

  1. During the Ubuntu install, make sure you install OpenSSH server.
  2. You do not need to include any snaps.

Once Ubuntu is installed, you can access the server using SSH. Installing Archivematica involves running the following collections of commands:

Add required repositories

sudo wget -O - https://packages.archivematica.org/1.11.x/key.asc | sudo apt-key add -

sudo sh -c 'echo "deb [arch=amd64] https://packages.archivematica.org/1.11.x/ubuntu bionic main" >> /etc/apt/sources.list'
sudo sh -c 'echo "deb [arch=amd64] https://packages.archivematica.org/1.11.x/ubuntu-externals bionic main" >> /etc/apt/sources.list'

 Add Elasticsearch package source (optional)

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

 Update to the latest version

sudo apt-get update
sudo apt-get -y upgrade

 Install some needed packages

sudo apt-get install -y htop ntp apt-transport-https unzip openjdk-8-jre-headless

Install Elasticsearch (optional)

sudo apt-get install -y elasticsearch

Install the Storage Service package

sudo apt-get install -y archivematica-storage-service

Configure the Storage Service

sudo rm -f /etc/nginx/sites-enabled/default
sudo ln -sf /etc/nginx/sites-available/storage /etc/nginx/sites-enabled/storage

Update pip

wget -O - https://bootstrap.pypa.io/get-pip.py | sudo python -

Install the Archivematica packages

When you are prompted for a MySQL password, use demo. This password can be changed after the install is complete. When asked to configure Postfix (mail server), choose No configuration.

sudo apt-get install -y archivematica-mcp-server
sudo apt-get install -y archivematica-dashboard
sudo apt-get install -y archivematica-mcp-client

 Configure the Dashboard

sudo ln -sf /etc/nginx/sites-available/dashboard.conf /etc/nginx/sites-enabled/dashboard.conf

Start Elasticsearch (optional)

sudo systemctl daemon-reload
sudo service elasticsearch restart
sudo systemctl enable elasticsearch

Start the remaining services

sudo service clamav-freshclam restart
sleep 120s
sudo service clamav-daemon start
sudo service gearman-job-server restart
sudo service archivematica-mcp-server start
sudo service archivematica-mcp-client restart
sudo service archivematica-storage-service start
sudo service archivematica-dashboard restart
sudo service nginx restart
sudo systemctl enable fits-nailgun
sudo service fits-nailgun start

If you have trouble with gearman or clamav, try restarting these services.

sudo service gearman-job-server restart
sudo service clamav-daemon restart

Configure the firewall (if required)

Start by checking firewall status.

sudo ufw status

If ufw is running, you must ensure that the following ports are not blocked.

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 8000/tcp
sudo ufw reload

 

Post install configuration 

Add at least one administrative user

Run the following command to add an admin user.

sudo -u archivematica bash -c " \
    set -a -e -x
    source /etc/default/archivematica-storage-service || \
        source /etc/sysconfig/archivematica-storage-service \
            || (echo 'Environment file not found'; exit 1)
    cd /usr/lib/archivematica/storage-service
    /usr/share/archivematica/virtualenvs/archivematica-storage-service/bin/python manage.py createsuperuser
    ";
  1. Leave blank to use 'archivematica'.
  2. Enter your admin email address.
  3. Enter a password.

You will now be able to use these credentials to log on to the Storage service.

Storage Service

Access the Storage service by browsing to https://<IP_ADDRESS>:8000.

  1. Go to Administration > Users.
  2. Click Edit for the archivematica user account.
  3. Copy the API key (for use shortly).

Archivematica Dashboard

Access the dashboard by browsing to the following address:

  • https://<IP_ADDRESS>

On the welcome screen, add the following information:

  1. Organization name (e.g. Your School)
  2. Organization identifier (e.g. an abbreviation)
  3. Username
  4. First name
  5. Last name
  6. Email (can be the same email as Storage service)
  7. Password
  8. Site URL (e.g. https://archive.myschool.org, but can be IP address for test purposes)

On the resulting Register this pipeline screen, enter the following information:

  1. Storage Service User: (e.g. archivematica)
  2. Paste the API key previously copied.
  3. Click Register.

Congratulations, you should now have a working instance of Archivematica!

 

Thanks for visiting.