Archivematica 1.7.2 is a legacy release, and these documents are no longer being maintained.

Manually Installing Archivematica on Ubuntu

Archivematica packages are hosted at packages.archivematica.org as a central place to store packages for multiple operating systems. Packages for both Ubuntu 14.04 and 16.04 are available.

Note

Manual installation using packages on Ubuntu is not officially supported. Please see Instructions for new installation.

Note

Ubuntu 14.04 is currently in maintenance updates only mode and will cease to be officially supported in April 2019. We recommend upgrading to Ubuntu 16.04.

On this page

Ubuntu 16.04 (Xenial) installation instructions

  1. Use these commands to install the repositories:

    sudo wget -O - https://packages.archivematica.org/1.7.x/key.asc  | sudo apt-key add -
    sudo sh -c 'echo "deb [arch=amd64] http://packages.archivematica.org/1.7.x/ubuntu xenial main" >> /etc/apt/sources.list'
    sudo sh -c 'echo "deb [arch=amd64] http://packages.archivematica.org/1.7.x/ubuntu-externals xenial main" >> /etc/apt/sources.list'
    
  2. Add Elasticsearch package source (optional). Elasticsearch comes from its own package repository.

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
    sudo sh -c 'echo "deb http://packages.elasticsearch.org/elasticsearch/1.7/debian stable main" >> /etc/apt/sources.list'
    
  3. Update to the most recent OS release - for Xenial, this is 16.04.4. This step will also fetch a list of the software from the package repositories you just added to your system.

    sudo apt-get update
    sudo apt-get upgrade
    
  4. Install Elasticsearch (optional)

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo apt-get install elasticsearch
    
  5. Install the Storage Service package.

    sudo apt-get install -y archivematica-storage-service
    
  6. Configure the Storage Service.

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

    Warning

    If you are planning to use the Sword API of the Archivematica Storage Service, then (due to a known issue), you must instruct Gunicorn to use the sync worker class:

    sudo sh -c 'echo "SS_GUNICORN_WORKER_CLASS=sync" >> /etc/default/archivematica-storage-service'
    
  7. Update pip. This is used to install Python dependencies for both the Storage Service and the Dashboard. This step is optional on Ubuntu 16.04, but is still a good idea to get the most recent version of pip.

    curl -Ls https://bootstrap.pypa.io/get-pip.py | sudo python -
    
  8. Install the Archivematica packages. The order of installation is important - the archivematica-mcp-server package must be installed before the dashboard package. While it is possible to install the archivematica-mcp-client package on a separate machine, that configuration is not documented in these instructions.

    The archivematica-mcp-server package will install MySQL and configure the database used by Archivematica. Depending on the version of MySQL that is installed, the interfaces that you see may differ slightly.

    When you are prompted to create a password for the archivematica-mcp-server, you must use demo as the password during the install process. The password can be changed after the installation is complete.

    FITS is installed as a prerequisite due to a circular dependencies problem that arises only on Ubuntu 14.04.

    sudo apt-get install -y archivematica-mcp-server
    sudo apt-get install -y archivematica-dashboard
    sudo apt-get install -y fits
    sudo apt-get install -y archivematica-mcp-client
    
  9. Configure the Archivematica components (optional). There are a number of environment variables that Archivematica recognizes which can be used to alter how it is configured. For the full list, see the Dashboard install README, the MCPClient install README, and the MCPServer install README.

    Note

    If you are planning on running Archivematica in indexless mode (i.e. without Elasticsearch), then modify the relevant systemd EnvironmentFile files by adding lines that set the relevant environment variables to false:

    sudo sh -c 'echo "ARCHIVEMATICA_DASHBOARD_DASHBOARD_SEARCH_ENABLED=false" >> /etc/default/archivematica-dashboard'
    sudo sh -c 'echo "ARCHIVEMATICA_MCPSERVER_MCPSERVER_SEARCH_ENABLED=false" >> /etc/default/archivematica-mcp-server'
    sudo sh -c 'echo "ARCHIVEMATICA_MCPCLIENT_MCPCLIENT_SEARCH_ENABLED=false" >> /etc/default/archivematica-mcp-client'
    
  10. Configure the dashboard.

    sudo ln -s /etc/nginx/sites-available/dashboard.conf /etc/nginx/sites-enabled/dashboard.conf
    
  11. Start Elasticsearch (optional).

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo service elasticsearch restart
    sudo update-rc.d elasticsearch defaults 95 10
    
  12. Start the remaining services

    sudo service clamav-freshclam restart
    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
    sudo service fits start
    

    If you have trouble with the gearman command try restarting it:

    sudo service gearman-job-server restart
    
  13. Complete Post Install Configuration.

Ubuntu 14.04 (Trusty) installation instructions

  1. Add packages.archivematica.org to your list of trusted repositories.

    Run these three commands to install the repositories:

    sudo wget -O - https://packages.archivematica.org/1.7.x/key.asc  | sudo apt-key add -
    sudo sh -c 'echo "deb [arch=amd64] http://packages.archivematica.org/1.7.x/ubuntu trusty main" >> /etc/apt/sources.list'
    sudo sh -c 'echo "deb [arch=amd64] http://packages.archivematica.org/1.7.x/ubuntu-externals trusty main" >> /etc/apt/sources.list'
    
  2. Add Elasticsearch package source (optional). Elasticsearch comes from its own package repository.

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
    sudo sh -c 'echo "deb http://packages.elasticsearch.org/elasticsearch/1.7/debian stable main" >> /etc/apt/sources.list'
    
  3. Update to the most recent OS release - for Trusty, this is 14.04.5. This step will also fetch a list of the software from the package repositories you just added to your system.

    sudo apt-get update
    sudo apt-get upgrade
    
  4. Install Elasticsearch (optional)

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo apt-get install elasticsearch
    
  5. Install the Storage Service package.

    sudo apt-get install -y archivematica-storage-service
    
  6. Configure the Storage Service.

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

    Warning

    If you are planning to use the Sword API of the Archivematica Storage Service, then (due to a known issue), you must instruct Gunicorn to use the sync worker class:

    sudo sh -c 'echo "SS_GUNICORN_WORKER_CLASS=sync" >> /etc/default/archivematica-storage-service'
    
  7. Update pip. This is used to install Python dependencies for both the Storage Service and the Dashboard. There is a known issue with pip on Ubuntu 14.04 that makes this step necessary.

    curl -Ls https://bootstrap.pypa.io/get-pip.py | sudo python - "pip==9.0.3"
    

    Notice that we are using pip 9.0.3, this is important - see issue #1065 for more details.

  8. Install the Archivematica packages. The order of installation is important - the archivematica-mcp-server package must be installed before the dashboard package. While it is possible to install the archivematica-mcp-client package on a separate machine, that configuration is not documented in these instructions.

    The archivematica-mcp-server package will install MySQL and configure the database used by Archivematica. Depending on the version of MySQL that gets installed the prompts you will see may differ. In all cases, you will be prompted to create a password for the ‘root’ user. Keep note of the password you create. On Ubuntu 14.04, MySQL 5.5 is installed, and the default ‘archivematica’ database user is automatically created with a default password of ‘demo’. The password can be changed after the installation is complete.

    The FITS package needs to be installed as a prerequisite, due to a circular dependencies problem that arises only on Ubuntu 14.04.

    sudo apt-get install -y archivematica-mcp-server
    sudo apt-get install -y archivematica-dashboard
    sudo apt-get install -y fits
    sudo apt-get install -y archivematica-mcp-client
    
  9. Configure the Archivematica components (optional). There are a number of environment variables that Archivematica recognizes which can be used to alter how it is configured. For the full list, see the Dashboard install README, the MCPClient install README, and the MCPServer install README.

    Note

    If you are planning on running Archivematica in indexless mode (i.e. without Elasticsearch), then modify the relevant systemd EnvironmentFile files by adding lines that set the relevant environment variables to false:

    sudo sh -c 'echo "ARCHIVEMATICA_DASHBOARD_DASHBOARD_SEARCH_ENABLED=false" >> /etc/default/archivematica-dashboard'
    sudo sh -c 'echo "ARCHIVEMATICA_MCPSERVER_MCPSERVER_SEARCH_ENABLED=false" >> /etc/default/archivematica-mcp-server'
    sudo sh -c 'echo "ARCHIVEMATICA_MCPCLIENT_MCPCLIENT_SEARCH_ENABLED=false" >> /etc/default/archivematica-mcp-client'
    
  10. Configure the dashboard.

    sudo ln -s /etc/nginx/sites-available/dashboard.conf /etc/nginx/sites-enabled/dashboard.conf
    
  11. Start Elasticsearch (optional).

    Note

    Skip this step if you are planning to run Archivematica in indexless mode (without Elasticsearch).

    sudo service elasticsearch restart
    sudo update-rc.d elasticsearch defaults 95 10
    
  12. Start the remaining services

    sudo service clamav-freshclam restart
    sudo service clamav-daemon start
    sudo service gearman-job-server restart
    sudo service archivematica-mcp-server start
    sudo service archivematica-mcp-client start
    sudo service archivematica-storage-service start
    sudo service archivematica-dashboard start
    sudo service nginx restart
    sudo service fits start
    

    If you have trouble with the gearman command try restarting it:

    sudo service gearman-job-server restart
    
  13. Configure your firewall (if applicable)

    On Ubuntu, the default firewall configuration tool is ufw (Uncomplicated Firewall). To see the firewall status, enter:

    sudo ufw status
    

    If ufw is active, you must ensure that it is not blocking the ports used by the dashboard and the Storage Service, i.e., 80 and 8000.

    sudo ufw allow 80
    sudo ufw allow 8000
    
  14. Complete Post Install Configuration.

Post-install configuration

After successfully completing a new installation, follow these steps to complete the configuration of your new server.

  1. The Storage Service runs as a separate web application from the Archivematica dashboard. The Storage Service is exposed on port 8000 by default for Ubuntu package installs. Use your web browser to navigate to the Storage Service at the IP address of the machine you have been installing on, e.g., http://<MY-IP-ADDR>:8000 (or http://localhost:8000 or http://127.0.0.1:8000 if this is a local development setup).

    If you are using an IP address or fully-qualified domain name instead of localhost, you will need to configure your firewall rules and allow access only to ports 80 and 8000 for Archivematica usage.

  2. The Storage Service has its own set of users. Navigate to Administration > Users and add at least one administrative 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
      ";
    

    After you have created this user an API key will be generated that will connect the Archivematica pipeline to the Storage Service API. Click edit to see the new user’s details. The API key will be found at the bottom of the page. Copy this to your clipboard as it will be used later on in the post-installation configuration.

    Note

    It is recommended that you also modify the test user and change the default password. This will also result in a new API key for the test user but that does not need to be copied to the clipboard in this instance.

  3. To finish the installation, use your web browser to navigate to the Archivematica dashboard using the IP address of the machine on which you have been installing, e.g., http://<MY-IP-ADDR>:80 (or http://localhost:80 or http://127.0.0.1:80 if this is a local development setup).

  4. At the Welcome page, create an administrative user for the Archivematica pipeline by entering the organization name, the organization identifier, username, email, and password.

  5. On the next screen, connect your pipeline to the Storage Service by entering the Storage Service URL and username, and by pasting in the API key that you copied in Step (2).

    • If the Storage Service and the Archivematica dashboard are installed on the same machine, then you should supply http://127.0.0.1:8000 as the Storage Service URL at this screen.
    • If the Storage Service and the Archivematica dashboard are installed on different nodes (servers), then you should use the IP address or fully-qualified domain name of your Storage Service instance, e.g., http://<MY-IP-ADDR>:8000 and you must ensure that any firewall rules (i.e., iptables, ufw, AWS security groups, etc.) are configured to allow requests from your dashboard IP to your Storage Service IP on the appropriate port.

Back to the top