2.2. Ubuntu Packages¶
There are ready made packages for Ubuntu 20.04LTS, 22.04LTS and 24.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
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, jammy/22.04LTS or noble/24.04LTS) You can do this by running the command:
add-apt-repository http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-noble
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-noble noble main
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}}/noble/g' debian/changelog
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.