Archivematica 1.17.0 is our latest release.

Installing Archivematica on Rocky Linux 9

Archivematica versions 1.15.0 and higher support installation on Rocky Linux 9.

On this page

Installation instructions

  1. Prerequisites

    Update your system

    sudo yum -y update
    

    If your environment uses SELinux, at a minimum you will need to run the following commands. Additional configuration may be required for your local setup.

    # Allow Nginx to use ports 81 and 8001
    sudo semanage port -m -t http_port_t -p tcp 81
    sudo semanage port -a -t http_port_t -p tcp 8001
    # Allow Nginx to connect the MySQL server and Gunicorn backends
    sudo setsebool -P httpd_can_network_connect_db=1
    sudo setsebool -P httpd_can_network_connect=1
    # Allow Nginx to change system limits
    sudo setsebool -P httpd_setrlimit 1
    
  2. Some extra repositories need to be installed in order to fulfill the installation procedure.

    • Extra packages for enterprise Linux:
    sudo -u root yum install -y epel-release yum-utils
    sudo -u root yum-config-manager --enable crb
    
    • Elasticsearch (optional):

    Note

    Skip this step if you are planning to run Archivematica without Elasticsearch.

    sudo -u root rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/elasticsearch.repo
    [elasticsearch-6.x]
    name=Elasticsearch repository for 6.x packages
    baseurl=https://artifacts.elastic.co/packages/6.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md
    EOF'
    
    • Archivematica - use these commands to install the repositories:
    sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica.repo
    [archivematica]
    name=archivematica
    baseurl=https://packages.archivematica.org/1.17.x/rocky9/
    gpgcheck=1
    gpgkey=https://packages.archivematica.org/GPG-KEY-archivematica-sha512
    enabled=1
    EOF'
    
    sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica-extras.repo
    [archivematica-extras]
    name=archivematica-extras
    baseurl=https://packages.archivematica.org/1.17.x/rocky9-extras
    gpgcheck=1
    gpgkey=https://packages.archivematica.org/GPG-KEY-archivematica-sha512
    enabled=1
    EOF'
    
  3. Common services like Elasticsearch, MariaDB and Gearmand should be installed and enabled before the Archivematica install.

    Note

    Do not enable Elasticsearch if you are running Archivematica in indexless mode.

    sudo -u root yum install -y java-1.8.0-openjdk-headless mariadb-server gearmand
    sudo -u root yum install -y elasticsearch
    sudo -u root systemctl enable elasticsearch
    sudo -u root systemctl start elasticsearch
    sudo -u root systemctl enable mariadb
    sudo -u root systemctl start mariadb
    sudo -u root systemctl enable gearmand
    sudo -u root systemctl start gearmand
    
  4. Now that MariaDB is up and running, create the Archivematica and Storage Service databases and set up the expected credentials.

    sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
    sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS SS; CREATE DATABASE SS CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
    sudo -H -u root mysql -hlocalhost -uroot -e "CREATE USER 'archivematica'@'localhost' IDENTIFIED BY 'demo';"
    sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON MCP.* TO 'archivematica'@'localhost';"
    sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON SS.* TO 'archivematica'@'localhost';"
    
  5. Install Archivematica Storage Service

    • First, install the packages:

      sudo -u root yum install -y python-pip archivematica-storage-service
      
    • Apply the database migrations using the archivematica user:

      sudo -u archivematica bash -c " \
      set -a -e -x
      source /etc/sysconfig/archivematica-storage-service
      cd /usr/lib/archivematica/storage-service
      /usr/share/archivematica/virtualenvs/archivematica-storage-service/bin/python manage.py migrate
      ";
      
    • Now enable and start the archivematica-storage-service, rngd (needed for encrypted spaces) and the Nginx frontend:

      sudo -u root systemctl enable archivematica-storage-service
      sudo -u root systemctl start archivematica-storage-service
      sudo -u root systemctl enable nginx
      sudo -u root systemctl start nginx
      sudo -u root systemctl enable rngd
      sudo -u root systemctl start rngd
      

      Note

      The Storage Service will be available at http://<ip>:8001.

  6. Installing Archivematica Dashboard and MCPServer

    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.

    • First, install the packages:

      sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard
      
    • Apply the database migrations using the archivematica user:

      sudo -u archivematica bash -c " \
      set -a -e -x
      source /etc/sysconfig/archivematica-dashboard
      cd /usr/share/archivematica/dashboard
      /usr/share/archivematica/virtualenvs/archivematica/bin/python manage.py migrate
      ";
      
    • Start and enable services:

      sudo -u root systemctl enable archivematica-mcp-server
      sudo -u root systemctl start archivematica-mcp-server
      sudo -u root systemctl enable archivematica-dashboard
      sudo -u root systemctl start archivematica-dashboard
      
    • Restart Nginx in order to load the dashboard config file:

      sudo -u root systemctl restart nginx
      

      Note

      The dashboard will be available at http://<ip>:81

  7. Installing Archivematica MCPClient

    • Install the package:

      sudo -u root yum install -y archivematica-mcp-client
      
    • Tweak ClamAV configuration:

      sudo -u root sed -i 's/^#TCPSocket/TCPSocket/g' /etc/clamd.d/scan.conf
      sudo -u root sed -i 's/^Example//g' /etc/clamd.d/scan.conf
      
    • Indexless mode:

      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/sysconfig/archivematica-dashboard'
      sudo sh -c 'echo "ARCHIVEMATICA_MCPSERVER_MCPSERVER_SEARCH_ENABLED=false" >> /etc/sysconfig/archivematica-mcp-server'
      sudo sh -c 'echo "ARCHIVEMATICA_MCPCLIENT_MCPCLIENT_SEARCH_ENABLED=false" >> /etc/sysconfig/archivematica-mcp-client'
      
    • After that, we can enable and start/restart services

      sudo -u root systemctl enable archivematica-mcp-client
      sudo -u root systemctl start archivematica-mcp-client
      sudo -u root systemctl enable clamd@scan
      sudo -u root systemctl start clamd@scan
      sudo -u root systemctl restart archivematica-dashboard
      sudo -u root systemctl restart archivematica-mcp-server
      
      sudo -u root yum install -y firewalld
      
  8. Finalizing installation

    Configuration

    Each service has a configuration file in /etc/sysconfig/archivematica-packagename

    Troubleshooting

    If IPv6 is disabled, Nginx may refuse to start. If that is the case make sure that the listen directives used under /etc/nginx are not using IPv6 addresses like [::]:80.

    Rocky Linux will install firewalld which will be running default rules that will likely be blocking ports 81 and 8001. If you are not able to access the dashboard and Storage Service, then use the following command to check if firewalld is running:

    sudo systemctl status firewalld
    

    If firewalld is running, you will likely need to modify the firewall rules to allow access to ports 81 and 8001 from your location:

    sudo firewall-cmd --add-port=8001/tcp --permanent
    sudo firewall-cmd --reload
    
  9. 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 8001 by default when deploying using RPM packages. 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>:8001 (or http://localhost:8001 or http://127.0.0.1:8001 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 81 and 8001 for Archivematica usage.

  2. The Storage Service has its own set of users. Create a new user with full admin privileges:

    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, the API key will be generated automatically, and that key will connect the Archivematica pipeline to the Storage Service API. The API key can be found via the web interface (go to Administration > Users).

  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>:81 (or http://localhost:81 or http://127.0.0.1:81 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:8001 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>:8001 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