.. _install_ubuntu: Ubuntu Packages --------------- .. index:: ubuntu There are ready made packages for Ubuntu 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 :ref:`upgrade_packaged`. Installing eduMFA 1.0 or higher .................................... Before installing eduMFA 1.0 or upgrading to 1.0 you need to add the repository. .. _add_ubuntu_repository: 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 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 .. code-block:: bash mv eduMFA-Release.asc /etc/apt/trusted.gpg.d/eduMFA-Release.asc Now you need to add the repository for your release (jammy/22.04LTS or noble/24.04LTS) You can do this by running the command: .. tab:: Ubuntu 24.04LTS .. code-block:: bash add-apt-repository http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-noble .. tab:: Ubuntu 22.04LTS .. code-block:: bash add-apt-repository http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-jammy 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: .. tab:: Ubuntu 24.04LTS .. code-block:: bash deb http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-noble noble main .. tab:: Ubuntu 22.04LTS .. code-block:: bash deb http://bb-repo.zedat.fu-berlin.de/repository/edumfa-ubuntu-jammy jammy main Installation of eduMFA 1.x or higher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 :ref:`first_steps`. 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: .. tab:: edumfa .. code-block:: bash cp -r deploy/ubuntu debian .. tab:: edumfa-apache2 and edumfa-nginx .. code-block:: bash cp -r deploy/ubuntu-server debian .. tab:: edumfa-radius .. code-block:: bash cp -r deploy/ubuntu-radius debian Update the Linux distribution version in the changelog file. For Ubuntu 24.04LTS, you must also force the use of Python3.9. .. tab:: Ubuntu 24.04LTS .. code-block:: bash sed -i 's/{{CODENAME}}/noble/g' debian/changelog .. tab:: Ubuntu 22.04LTS .. code-block:: bash sed -i 's/{{CODENAME}}/jammy/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.