Installation

These are the installation steps for MDID 3.7. Instructions for each release are included with each package in the docs/install folder.

Installation on Ubuntu Linux

The following instructions are for Ubuntu Linux 22.04 LTS, but should work with minor changes on other distributions as well.

Unless noted otherwise, all commands should be run as root.

Server Preparation

Packages

apt-get update
apt-get install -y python3 python3-pip libjpeg-dev libfreetype6-dev \
    nginx mysql-server libmysqlclient-dev python3-dev \
    libldap2-dev libsasl2-dev unixodbc-dev memcached \
    rabbitmq-server supervisor ffmpeg openjdk-11-jre-headless \
    python3-virtualenv libssl-dev poppler-utils

Enable nginx

rm -f /etc/nginx/sites-enabled/default
update-rc.d nginx enable
service nginx start

Create user account

Create virtual environment

Install Solr

MDID currently requires Solr 8; you may have to adjust the exact version as available when running the following commands. Please note that you want to use at least version 8.11.1 of Solr to avoid the Log4j vulnerability.

Configure MySQL

Create database

Create a new MySQL database or restore an existing database from a previous MDID3 installation. Adjust the database name, user name, and password as needed:

Configure MDID

Edit /opt/mdid/config/settings.py and change the database and other settings as needed.

Also, if possible, change the asterisk in ALLOWED_HOSTS to your server host name, if you know it, for example ['mdid.yourschool.edu'].

Run the following command to initialize static files and migrate the database to the latest version:

Configure nginx

Place your server SSL certificate files named server.key and server.crt in /opt/mdid/ssl, or generate some sample self-signed certificates for temporary use:

Configure crontab

Configure supervisor

Shibboleth support

To use Shibboleth for user authentication, follow the steps below to modify your working MDID installation to connect to your IdP.

Install additional packages

Configure Shibboleth

Configure your Shibboleth SP in /etc/shibboleth/shibboleth2.xml, including setting the application ID to mdid.

Make sure to add a key or generate a new key using shib-keygen.

Uncomment the attributes you want to use in attribute-map.xml.

Configure apache

Modify /etc/apache2/ports.conf and change all instances of port 80 to port 8100.

Enable apache modules and configure site:

Configure nginx

In your nginx site file /opt/mdid/service-config/nginx, change the port number in the proxy_pass statement from 8001 to 8100.

Configure MDID

Add the following settings to your MDID configuration file at /opt/mdid/config/settings.py, changing attribute names as required:

By default MDID will not show a logout link, but if your Shibboleth setup allows logouts, you can configure the logout URL with

Restart all services

Last updated

Was this helpful?