Installation sur Debian/Ubuntu

Cette documentation a été traduite à l’aide de l’intelligence artificielle et peut contenir des erreurs ou des imprécisions. En cas de doute, consultez la version allemande ou anglaise.

Ce chapitre décrit l’installation d’un serveur OPSI à partir de paquets sur les systèmes Debian et Ubuntu.

Paramètres du proxy

Pour l’installation, assurez-vous de disposer d’un accès à Internet via HTTP/HTTPS.

Si vous devez accéder à Internet par un proxy HTTP, il est recommandé de configurer le proxy au niveau du système à l’aide de variables d’environnement. Inscrivez-les dans le fichier /etc/environment.

Les noms de ces variables d’environnement sont entièrement en minuscules.
  • http_proxy : configure le proxy pour les connexions HTTP. La valeur doit être une URL complète, incluant les informations d’authentification si nécessaire :
    http_proxy=http://<user>:<password>@<proxy-address>:<port>

  • https_proxy : fonctionne comme http_proxy, mais pour les connexions HTTPS :
    https_proxy=https://<proxy-address>:<port>

  • no_proxy : indique les adresses qui doivent contourner le proxy. Séparez plusieurs adresses par des virgules :
    no_proxy=127.0.0.1,localhost,mydomain.example,hostname.domain.com:8080
    Respectez les règles suivantes pour les adresses :

    • Utilisez uniquement des lettres minuscules.

    • Indiquez des adresses IP uniquement pour les accès directs par IP, car aucune résolution de noms n’est effectuée pour les exceptions.

    • La notation CIDR pour les plages d’adresses IP (comme 192.168.0.0/24) n’est pas prise en charge.

    • Prévoyez toujours des exceptions pour localhost et 127.0.0.1.

    • Les caractères génériques et les expressions régulières ne sont pas pris en charge.

    • Chaque nom est traité comme un suffixe ; ainsi, domain.com s’applique à tous les noms d’hôtes se terminant par domain.com.

    • Vous pouvez ajouter un port après un deux-points à chaque adresse pour limiter l’exception à ce port.

Voici un exemple de configuration du fichier /etc/environment :

http_proxy=http://10.1.1.1:8080
https_proxy=https://10.1.1.1:8080
no_proxy=127.0.0.1,localhost,company.tld

Pour appliquer les modifications au shell en cours d’exécution, exécutez les commandes suivantes :

set -a; source /etc/environment; set +a
Pour les distributions Suse, adaptez le paramètre NO_PROXY dans le fichier /etc/sysconfig/proxy. Définissez NO_PROXY=127.0.0.1,localhost,company.tld selon votre environnement.

Si l’accès à opsiconfd passe par un proxy, les requêtes adressées au service semblent provenir de l’adresse IP du proxy. Par conséquent, toutes les fonctionnalités qui reposent sur l’adresse IP du client, telles que networks, admin-networks, update-ip ou max-session-per-ip, risquent de ne pas fonctionner correctement. Pour y remédier, vous pouvez définir les adresses des proxys de confiance à l’aide du paramètre trusted-proxies. Lorsqu’une connexion provient d’un proxy de confiance, le serveur utilise l’en-tête X-Forwarded-For pour déterminer l’adresse IP réelle du client.

Exemple :

admin-networks=[192.168.10.0/24]
trusted-proxies=[192.178.16.27]

Configuration des dépôts

Commencez par installer les paquets suivants :

sudo apt --yes install host apt-transport-https curl gpg

Assurez-vous que le répertoire /usr/local/share/keyrings existe :

sudo mkdir -p /usr/local/share/keyrings

Ajoutez le dépôt Grafana :

REPO_URL=https://apt.grafana.com
REPO_KEY=/usr/local/share/keyrings/grafana.gpg
curl -fsSL ${REPO_URL}/gpg.key | gpg --dearmor | sudo tee ${REPO_KEY} > /dev/null
echo "deb [signed-by=${REPO_KEY}] ${REPO_URL} stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Ajoutez le dépôt OPSI correspondant à votre distribution :

Debian 13, Trixie :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/Debian_13
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
cat << __EOF__ | sudo tee /etc/apt/sources.list.d/opsi.sources
Types: deb
URIs: $REPO_URL
Suites: /
Signed-By: /usr/local/share/keyrings/opsi-obs.gpg
__EOF__
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Debian 12, Bookworm :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/Debian_12
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Debian 11, Bullseye :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/Debian_11
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Debian 10, Buster :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/Debian_10
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 24.04 LTS, Noble Numbat :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/xUbuntu_24.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 22.04 LTS, Jammy Jellyfish :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/xUbuntu_22.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Ubuntu 20.04 LTS, Focal Fossa :

REPO_URL=https://download.opensuse.org/repositories/home:/uibmz:/opsi:/4.3:/stable/xUbuntu_20.04
REPO_KEY=/usr/local/share/keyrings/opsi-obs.gpg
echo "deb [signed-by=$REPO_KEY] $REPO_URL/ /" | sudo tee /etc/apt/sources.list.d/opsi.list
curl -fsSL $REPO_URL/Release.key | gpg --dearmor | sudo tee $REPO_KEY > /dev/null

Pour vérifier que l’importation de la clé GnuPG a réussi, vous pouvez exécuter la commande suivante :

gpg --show-keys /usr/local/share/keyrings/opsi-obs.gpg 2>/dev/null

La sortie de la commande devrait contenir des lignes semblables aux suivantes :

pub   rsa2048 2017-09-30 [SC] [expires: 2025-11-19]
      2E98F7B5A5B2C8FE7F609705D1F933E6D8361F81
uid           home:uibmz:opsi OBS Project <home:uibmz:opsi@build.opensuse.org>

Installation des paquets

Installez le paquet opsi-server-full :

sudo apt update
sudo apt --yes install opsi-server-full
Sur Debian 13, vous pouvez télécharger et exécuter le script opsi-secure en tant que root pour appliquer des paramètres de sécurité :
curl -fsSL https://tools.43.opsi.org/experimental/opsi-secure -o /tmp/opsi-secure && opsi-python /tmp/opsi-secure harden

Le script est actuellement en phase de test. Les paramètres qu’il applique peuvent également être appliqués sur tous les autres systèmes.

À la place du paquet opsi-server-full, vous pouvez installer opsi-server ou opsi-server-expert. Ces paquets se distinguent par leurs dépendances et conviennent aux situations où vous préférez exécuter MySQL, Redis ou Grafana sur des serveurs distincts. Bien que opsi-server et opsi-server-expert offrent davantage de souplesse, ils s’adressent surtout aux administrateurs Linux expérimentés.
Assurez-vous que la configuration de votre pare-feu et de SELinux autorise les connexions sur les ports 69/UDP (TFTP), 4447/TCP et 4441/TCP (opsi). Vous trouverez davantage d’informations sur SELinux dans SELinux (en anglais).

Le serveur OPSI est désormais installé et prêt pour les étapes suivantes.