Guide des technologies

Installer Chef Server sur Ubuntu 17.04 (Zesty)

6 min read DevOps Mis à jour 08 Oct 2025
Installer Chef Server sur Ubuntu 17.04
Installer Chef Server sur Ubuntu 17.04

Ce guide pas à pas explique comment installer et configurer Chef Server sur Ubuntu 17.04. Vous apprendrez à mettre à jour le système, définir un FQDN, synchroniser l’heure avec NTP, installer le paquet Chef, activer l’interface web et ajouter un administrateur et une organisation. Notes de production, sécurité et dépannage incluses.

Important: Ubuntu 17.04 est une version non-LTS — préférez une version prise en charge en production ou adaptez les étapes aux versions récentes. Vérifiez toujours la page de téléchargement officielle de Chef pour obtenir la dernière version.

Intent principal et variantes

Intent principal: installer Chef Server sur Ubuntu Variantes liées: installer Chef, configurer Chef Server, Chef Manage, Chef sur Ubuntu 17.04, guide Chef Server, config gestion de configuration

Pré-requis

  • Un serveur Ubuntu 17.04 minimal (accès root). Si vous êtes utilisateur sudo, exécutez: sudo -i.
  • Accès root ou privilèges sudo.
  • Un nom de domaine pointant vers le serveur (FQDN).
  • Connexion Internet pour télécharger paquets et dépendances.

Note: adaptez les commandes si vous utilisez une autre version d’Ubuntu.

Définition rapide

Chef: outil open source de gestion de configuration écrit en Ruby et Erlang. Il permet de centraliser la gestion de nœuds (clients) depuis un Chef Server.

Mise à jour du système

Avant d’installer des paquets, mettez à jour les dépôts et paquets:

apt update && apt -y upgrade

Une fois terminé, passez à l’étape suivante.

Configurer le nom d’hôte (FQDN)

Chef exige un nom d’hôte résolvable. Utilisez un FQDN, par exemple chef.votredomaine.com.

Définissez le nom d’hôte temporairement:

hostname 'chef.yourdomain.com'

Mettez à jour le fichier /etc/hostname:

echo "chef.yourdomain.com" | tee /etc/hostname

Ajoutez l’adresse IP publique et le FQDN dans /etc/hosts:

echo "192.168.1.1 chef.yourdomain.com" >> /etc/hosts

Remplacez 192.168.1.1 et chef.yourdomain.com par vos valeurs réelles.

Synchronisation de l’heure (NTP)

Chef est sensible aux changements d’horloge; configurez NTP pour synchroniser le temps (port UDP 123).

Installation et activation de NTP:

apt install ntp
systemctl start ntp
systemctl enable ntp

Vérifiez la synchronisation:

ntpq -p

Exemple de sortie attendue (inchangée du système source):

root@chef:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
#hydrogen.consta 129.6.15.29      2 u   34   64   17  174.427   -9.145   0.751
#helium.constant 128.59.0.245     2 u   30   64   17  176.812   -8.253   0.726
#lithium.constan 18.26.4.105      2 u   33   64   17  175.435    0.357   0.684
#ntppublic.uzh.c 130.60.159.8     3 u   24   64   17  256.712    8.982   0.927
+x.ns.gin.ntt.ne 249.224.99.213   2 u   25   64   17    0.872   -1.636   0.805
-borris.netwurx. 144.92.9.22      2 u   22   64   17  163.284    0.848   1.141
-ns1.do.steersne 195.66.241.3     2 u   23   64   17  222.882   -3.528   0.965
-sircabirus.von- 36.224.68.195    2 u   28   64   17  266.005    3.502   1.173
*chobi.paina.net 131.113.192.40   2 u   26   64   17    1.280   -1.852   1.046
#213.251.53.11   193.62.22.74     2 u   27   64   17  246.940    9.920   1.405
-flightplandatab 210.240.96.206   2 u   27   64   17  258.052   -1.338   2.789
-time.platformni 118.211.218.186  2 u   27   64   17    1.592    3.394   1.127

Télécharger et installer Chef

Récupérez le paquet Chef Server pour Ubuntu (exemple dans le tutoriel):

wget https://packages.chef.io/files/stable/chef-server/12.15.8/ubuntu/16.04/chef-server-core_12.15.8-1_amd64.deb

Remarque: visitez la page de téléchargement officielle de Chef pour obtenir le lien de la version la plus récente.

Installez le paquet .deb:

dpkg -i chef-server-*.deb

Après l’installation, il est nécessaire de configurer les services.

Configurer Chef Server

Pour démarrer et configurer tous les services Chef:

chef-server-ctl reconfigure

Cette étape peut prendre plusieurs minutes. À la fin, vous verrez un message confirmant la reconfiguration, par exemple:

Chef Client finished, 491/1096 resources updated in 03 minutes 13 seconds
Chef Server Reconfigured!

Vérifiez l’état des services:

chef-server-ctl status

Exemple d’état attendu (issue du source):

root@chef:~# chef-server-ctl status
run: bookshelf: (pid 6030) 87s; run: log: (pid 6047) 86s
run: nginx: (pid 5859) 91s; run: log: (pid 6387) 82s
run: oc_bifrost: (pid 5766) 92s; run: log: (pid 5842) 92s
run: oc_id: (pid 5849) 91s; run: log: (pid 5854) 91s
run: opscode-erchef: (pid 6244) 84s; run: log: (pid 6108) 85s
run: opscode-expander: (pid 5926) 88s; run: log: (pid 6010) 87s
run: opscode-solr4: (pid 5895) 89s; run: log: (pid 5912) 89s
run: postgresql: (pid 5718) 93s; run: log: (pid 5745) 92s
run: rabbitmq: (pid 5239) 101s; run: log: (pid 5099) 105s
run: redis_lb: (pid 5036) 121s; run: log: (pid 6361) 83s

Installer l’interface web (Chef Manage)

Chef Manage offre une console graphique pour administrer le serveur.

Installation:

chef-server-ctl install chef-manage
chef-server-ctl reconfigure
chef-manage-ctl reconfigure

Pour accepter automatiquement la licence:

chef-manage-ctl reconfigure --accept-license

Créer un administrateur et une organisation

Créez un répertoire pour stocker les clés RSA générées:

mkdir ~/.chef

Créer un utilisateur administrateur (exemple):

chef-server-ctl user-create admin Chef Administrator [email protected] StrongPassword -f ~/.chef/admin.pem

Remplacez les champs par vos valeurs (nom d’utilisateur, nom, email, mot de passe, chemin de clé).

Créer une organisation:

chef-server-ctl org-create my_org 'My Organization' --association_user admin -f ~/.chef/my_org.pem

Remplacez my_org, My Organization et admin selon votre contexte.

Accéder à la console web

Ouvrez dans votre navigateur:

http://Your-Server-IP

ou utilisez votre nom de domaine (FQDN). Vous devriez voir l’écran de connexion.

Écran de connexion Chef

Connectez-vous avec le compte administrateur créé. Après connexion, vous verrez le tableau de bord.

Tableau de bord CHEF

Plugins optionnels

Rapports (Reporting):

chef-server-ctl install opscode-reporting
chef-server-ctl reconfigure
opscode-reporting-ctl reconfigure
opscode-reporting-ctl test

Push Jobs (exécution de tâches ad hoc):

chef-server-ctl install opscode-push-jobs-server
chef-server-ctl reconfigure
opscode-push-jobs-server-ctl reconfigure

Checklist d’exploitation (role-based)

Administrateur système:

  • Valider FQDN et entrée DNS
  • Vérifier NTP et synchronisation horaire
  • Exécuter chef-server-ctl status
  • Sauvegarder les fichiers PEM (~/.chef/*.pem) et restreindre les permissions

Ingénieur DevOps:

  • Installer Cookbooks nécessaires
  • Configurer environnements et rôles
  • Tester run-lists sur nœuds de staging

Sécurité/Compliance:

  • Restreindre accès à la console via firewall
  • Forcer HTTPS (nginx) en production
  • Rotations de clés et révocation périodique

Mini-méthodologie pour un déploiement en production

  1. Préparer une VM ou instance LTS (préférer Ubuntu LTS).
  2. Appliquer durcissement réseau (groupes de sécurité / firewall).
  3. Installer et vérifier NTP.
  4. Installer Chef Server sur environnement de test.
  5. Valider intégration avec CI/CD, sauvegardes et monitoring.
  6. Promouvoir en production lors d’une fenêtre de maintenance.

Sécurité et durcissement

  • Activez HTTPS (certificat valide) pour la console web (nginx géré par Chef Server).
  • Limitez l’accès SSH et à la console aux adresses IP fiables.
  • Protégez les clés privées ~/.chef/*.pem (chmod 600).
  • Surveillez les logs (nginx, postgresql, rabbitmq) et configurez alertes.

Compatibilité et migration

  • Le paquet d’exemple ciblait Ubuntu 16.04 en nom de chemin; assurez-vous que la version du paquet est compatible avec votre distribution.
  • Pour migrer vers une version plus récente d’Ubuntu, testez la procédure sur un clone et consultez la documentation officielle Chef pour les notes de version et compatibilité.

Dépannage courant

  • Si chef-server-ctl reconfigure échoue, relire la sortie du terminal et vérifier les logs dans /var/log/ (nginx, postgresql, rabbitmq).
  • Vérifiez l’espace disque: un manque d’espace peut empêcher le démarrage des services.
  • Si la console web ne répond pas, validez chef-server-ctl status et systemctl status nginx.

Exemples de commandes utiles:

chef-server-ctl tail
chef-server-ctl test

Contre-exemples et limites

  • Ce guide installe Chef Server «sur site». Dans de petites équipes ou pour des environnements cloud natifs, une solution managée (SaaS) ou des outils plus légers (Ansible, Terraform pour provisioning) peuvent être préférables.
  • Chef est conçu pour gérer de grands parcs de nœuds. Pour un seul serveur, l’overhead d’un Chef Server peut être excessif.

Critères d’acceptation

  • Chef Server répond sur l’URL configurée via HTTPS/HTTP interne.
  • L’utilisateur administrateur peut se connecter via la console web.
  • Les fichiers PEM pour l’admin et l’organisation sont présents dans ~/.chef et lisibles uniquement par root/utilisateur prévu.
  • Les services essentiels (nginx, postgresql, rabbitmq) sont run selon chef-server-ctl status.

FAQ

Q: Puis-je utiliser ce guide pour Ubuntu 18.04/20.04 ?
A: Les étapes générales s’appliquent, mais adaptez le paquet Chef à votre distribution et préférez une version LTS en production.

Q: Où trouver la dernière version de Chef Server ?
A: Sur la page officielle de téléchargement de Chef (packages.chef.io).

Q: Que faire si chef-server-ctl reconfigure échoue ?
A: Consultez les logs, vérifiez les dépendances, l’espace disque et la configuration DNS/FQDN.

Résumé

  • Chef Server centralise la gestion de configuration pour de nombreux nœuds.
  • Ce guide couvre la préparation du système, l’installation, la configuration web et les extensions (Reporting, Push Jobs).
  • Pour la production, durcissez le serveur, utilisez HTTPS et testez la migration sur un environnement de staging.
Auteur
Édition

Matériaux similaires

Barres de défilement Windows : agrandir et personnaliser
Windows

Barres de défilement Windows : agrandir et personnaliser

Mises à jour automatiques de sécurité Ubuntu 16.04
Sécurité

Mises à jour automatiques de sécurité Ubuntu 16.04

Restreindre les autorisations Android après root
Sécurité Android

Restreindre les autorisations Android après root

Installer Chef Server sur Ubuntu 17.04
DevOps

Installer Chef Server sur Ubuntu 17.04

Erreur 500 Microsoft Teams : guide de résolution
Support

Erreur 500 Microsoft Teams : guide de résolution

Courtier en ligne fiable : 6 étapes essentielles
Finance

Courtier en ligne fiable : 6 étapes essentielles