2.2. Ubuntu Packages

There are ready made packages for Ubuntu 20.04LTS and 22.04LTS.

Note

The packages edumfa-apache2 and edumfa-nginx assume that you want to run a eduMFA system. These packages deactivate all other (default) websites. Instead, you may install the package edumfa-mysql to install the eduMFA application and setup the database without any webserver configuration. After this, you can integrate eduMFA with your existing webserver configuration.

Read about the upgrading process in Upgrading a packaged installation.

2.2.1. Installing eduMFA 1.0 or higher

Before installing eduMFA 1.0 or upgrading to 1.0 you need to add the repository.

2.2.1.1. Add repository

The packages are digitally signed. First you need to download the signing key:

wget https://identity.fu-berlin.de/downloads/edumfa/eduMFA-Release.asc

Then you can verify the fingerprint:

gpg --import --import-options show-only --with-fingerprint eduMFA-Release.asc

The fingerprint of the key is:

pub rsa4096 2024-02-29 FUDIS - eduMFA APT Signing Key <fudis@fu-berlin.de>
Key fingerprint = 0578 E752 4B98 4E58 9847  139B ED01 69DB F5CD C377

You now need to add the signing key to your system. The following instructions

mv eduMFA-Release.asc /etc/apt/trusted.gpg.d/eduMFA-Release.asc
apt-key add eduMFA-Release.asc

Now you need to add the repository for your release (focal/20.04LTS or jammy/22.04LTS) You can do this by running the command:

add-apt-repository http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-jammy
add-apt-repository http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-focal

As an alternative you can add the repo in a dedicated file. Create a new file /etc/apt/sources.list.d/eduMFA-community.list with the following contents:

deb http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-jammy jammy main
deb http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-focal focal main

2.2.1.2. Installation of eduMFA 1.x

After having added the repositories, run:

apt update
apt install edumfa-apache2

If you do not like the Apache2 webserver you could alternatively use the meta package edumfa-nginx.


Now you may proceed to First Steps.

2.2.2. FreeRADIUS

eduMFA has a perl module to “translate” RADIUS requests to the API of the eduMFA server. This module plugs into FreeRADIUS. The FreeRADIUS does not have to run on the same machine as eduMFA. To install this module run:

apt-get install edumfa-radius

For further details see rlm_perl.

Footnotes

2.2.3. Building your own Packages

To build custom packages from the source code, follow these steps meticulously:

Ensure you have the necessary build tools by executing the following command:

sudo apt install build-essential debhelper devscripts equivs

Install dh-virtualenv by referring to their official documentation for installation instructions: dh-virtualenv Docs.

Clone the repository and navigate to the project directory:

git clone https://github.com/eduMFA/eduMFA.git
cd eduMFA

Choose the packages you want to build based on your requirements. Use one of the following commands:

cp -r deploy/ubuntu debian
cp -r deploy/ubuntu-server debian
cp -r deploy/ubuntu-radius debian

Update the Linux distribution version in the changelog file:

sed -i 's/{{CODENAME}}/jammy/g' debian/changelog
sed -i 's/{{CODENAME}}/focal/g' debian/changelog

Install build dependencies and build the package:

sudo mk-build-deps -ri
dpkg-buildpackage -us -uc -b

By following these steps, you can successfully build a package from source.