Turnkeys Linux
Turnkey Linux est une distribution basée sur Debian qui propose des solutions prêtes à l'emploi sous forme d'appliances.
Ces appliances sont des systèmes préconfigurés qui permettent d'installer rapidement des services comme :
- un serveur Web,
- une base de données
- ou un outil de gestion de contenu.
L'objectif principal de Turnkey Linux est de simplifier le déploiement d'applications en fournissant des images prêtes à l'emploi pour diverses plateformes, notamment les machines virtuelles, les conteneurs et les services cloud.
Ces images incluent non seulement le système d'exploitation, mais aussi toutes les dépendances et configurations nécessaires pour que l'application fonctionne immédiatement après l'installation.
Caractéristiques principales de Turnkey Linux
- Basé sur Debian : garantit une stabilité et une compatibilité avec un large éventail de logiciels.
- Appliances prêtes à l'emploi : chaque appliance est conçue pour un usage spécifique (exemple : serveur WordPress, serveur Nextcloud, etc.).
- Facilité d'installation : disponible sous forme d'ISO, de conteneurs Docker et d'images pour le cloud.
- Gestion simplifiée : inclut des outils d'administration comme Webmin et SSH préconfigurés.
- Sécurité intégrée : les appliances sont régulièrement mises à jour et incluent des configurations sécurisées par défaut.
Avantages de Turnkey Linux
- Gain de temps : évite les longues étapes d’installation et de configuration des logiciels.
- Facilité de maintenance : les mises à jour et les sauvegardes sont simplifiées grâce aux outils intégrés.
- Flexibilité : possibilité de déployer les appliances sur différentes infrastructures (locales ou cloud).
- Accessibilité : adapté aux débutants comme aux administrateurs expérimentés.
Exemple pratique
Il est possible de déployer une appliance Turnkey Linux sur une machine virtuelle en utilisant VirtualBox.
Voici les étapes pour installer un serveur WordPress Turnkey Linux :
- Télécharger l'image ISO de l'appliance WordPress depuis le site officiel :
https://www.turnkeylinux.org/wordpress - Installer VirtualBox sur l'ordinateur si ce n'est pas encore fait.
- Créer une nouvelle machine virtuelle dans VirtualBox :
- Sélectionner "Linux" comme type de système.
- Choisir "Debian (64-bit)" comme version.
- Allouer au moins 1 Go de RAM.
- Créer un disque dur virtuel d'au moins 10 Go.
- Monter l'ISO téléchargée comme disque d'installation.
- Démarrer la machine virtuelle et suivre les instructions d'installation :
- Configurer le réseau.
- Définir un mot de passe administrateur.
- Finaliser l’installation.
- Une fois l’installation terminée, accéder à l’interface Web de WordPress depuis un navigateur en entrant l'adresse IP de la machine virtuelle.
- Se connecter avec les identifiants fournis lors de l’installation et commencer à utiliser WordPress.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Ce TP consiste à déployer une appliance Symfony en utilisant un conteneur LXC sur Proxmox.
L'objectif est d'utiliser LXC, une solution légère et performante pour exécuter Symfony dans un service isolé.
Étape 1 : Préparer l'environnement Proxmox
Avant de commencer, il est nécessaire de s'assurer que Proxmox est installé et accessible.
Il faut également vérifier que le support des conteneurs LXC est activé.
- Se connecter à l'interface Web de Proxmox via un navigateur en entrant l'adresse IP du serveur.
- Vérifier que le stockage est suffisant pour héberger un conteneur LXC.
- S'assurer que le serveur dispose d'un accès à Internet pour télécharger les templates nécessaires.
Une solution
Vous devez être connecté pour voir le contenu.
Étape 2 : Télécharger le template LXC Debian
L'image de Turnkey Linux pour Symfony est désormais obsolète :
https://github.com/turnkeylinux-apps/symfony
Il faut donc utiliser une base Debian et y installer Symfony manuellement.
- Aller dans l'onglet Stockage de Proxmox.
- Sélectionner CT Templates et cliquer sur Templates.
- Rechercher et télécharger Debian 12 (Bookworm).
Une solution
Vous devez être connecté pour voir le contenu.
Étape 3 : Créer un conteneur LXC
Une fois le template Debian téléchargé, il est possible de créer un conteneur LXC.
- Aller dans Datacenter → Node Proxmox → Create CT.
- Donner un nom au conteneur, par exemple
symfony-container
. - Sélectionner le template Debian 12 précédemment téléchargé.
- Allouer au conteneur :
- 2 CPU
- 2 Go de RAM
- 10 Go de stockage
- Configurer le réseau :
- Mode : DHCP ou IP statique selon le besoin.
- Vérifier que l’accès Internet fonctionne après l’installation.
Une solution
Vous devez être connecté pour voir le contenu.
Étape 4 : Installer Symfony et ses dépendances
Une fois le conteneur en cours d'exécution, il faut installer Symfony et ses dépendances.
- Se connecter en SSH au conteneur :
ssh root@adresse_ip_du_conteneur
- Mettre à jour les paquets :
apt update && apt upgrade -y
- Installer les dépendances nécessaires :
apt install -y curl git unzip php-cli php-xml php-mbstring php-curl php-zip php-bcmath php-tokenizer php-intl composer
- Installer Symfony CLI :
curl -sS https://get.symfony.com/cli/installer | bash
mv /root/.symfony*/bin/symfony /usr/local/bin/symfony
- Vérifier l'installation :
symfony -v
Une solution
Vous devez être connecté pour voir le contenu.
Étape 5 : Créer un projet Symfony
Maintenant que Symfony est installé, il est possible de créer un projet.
- Se placer dans le répertoire
/var/www
:
cd /var/www
- Créer un nouveau projet Symfony :
symfony new my_project --webapp
- Accorder les permissions nécessaires :
chown -R www-data:www-data my_project
chmod -R 755 my_project
- Lancer le serveur Symfony :
cd my_project
symfony serve -d
- Accéder à l’application depuis un navigateur en entrant
http://adresse_ip_du_conteneur:8000
.
Une solution
Vous devez être connecté pour voir le contenu.
Étape 6 : Sécuriser l’installation
Pour sécuriser l’installation, il est recommandé de :
- Désactiver l’accès root en SSH :
nano /etc/ssh/sshd_config
- Modifier
PermitRootLogin yes
enPermitRootLogin no
. - Sauvegarder et redémarrer SSH :
systemctl restart ssh
- Installer un pare-feu :
apt install ufw -y
ufw allow 22
ufw allow 8000
ufw enable
Une solution
Vous devez être connecté pour voir le contenu.
Variante du TP avec une VM Proxmox
Ce TP propose de déployer une appliance Symfony en utilisant Turnkey Linux sur un environnement virtualisé avec Proxmox.
L'objectif est de comprendre comment utiliser Proxmox pour gérer des machines virtuelles et installer une appliance spécifique.
Étape 1 : Préparer l'environnement Proxmox
Avant d'installer l'appliance Symfony, il est nécessaire de configurer Proxmox et de s'assurer que l'environnement est prêt.
- Installer Proxmox sur un serveur ou une machine virtuelle dédiée.
- Accéder à l'interface web de Proxmox via un navigateur en entrant l'adresse IP du serveur.
- Ajouter un stockage pour héberger les images ISO si ce n'est pas encore fait :
- Aller dans Datacenter > Stockage.
- Ajouter un stockage de type Directory ou NFS selon l'infrastructure disponible.
- Vérifier que le stockage est bien monté et accessible.
Proxmox peut être installé sur un serveur physique ou une machine virtuelle. Une fois installé, l'accès se fait via l'interface web en entrant l'adresse IP du serveur dans un navigateur.
Pour ajouter un stockage, il faut aller dans Datacenter > Stockage, puis cliquer sur Ajouter et choisir un type de stockage adapté (par exemple, un disque local ou un partage réseau NFS).
Une fois ajouté, le stockage doit apparaître dans la liste et être accessible pour stocker des fichiers ISO.
Étape 2 : Télécharger et importer l’image ISO de Turnkey Symfony
L’image ISO de Turnkey Symfony doit être téléchargée et ajoutée à Proxmox.
- Télécharger l’image ISO de Turnkey Symfony depuis le site officiel :
https://www.turnkeylinux.org/symfony - Transférer l’image ISO sur le serveur Proxmox en utilisant scp ou l’interface web :
- Avec
scp
:scp turnkey-symfony.iso root@adresse_ip:/var/lib/vz/template/iso/
- Avec l’interface web :
- Aller dans Datacenter > Stockage > ISO Images.
- Cliquer sur Upload et sélectionner le fichier ISO téléchargé.
- Avec
L’image ISO de Turnkey Symfony est disponible sur le site officiel de Turnkey Linux.
Elle peut être transférée sur le serveur Proxmox via scp en ligne de commande ou via l’interface web en allant dans Datacenter > Stockage > ISO Images et en cliquant sur Upload.
Une fois l’ISO transférée, elle doit apparaître dans la liste des images disponibles.
Étape 3 : Créer une machine virtuelle sur Proxmox
Une machine virtuelle doit être créée pour héberger l’appliance Symfony.
-
Aller dans Datacenter > Node > Virtual Machines.
-
Cliquer sur Créer une VM.
-
Configurer la machine virtuelle :
- Nom :
Turnkey-Symfony
- Type de système : Linux
- Image ISO : Sélectionner
turnkey-symfony.iso
- Disque dur : 10 Go (extensible si nécessaire)
- RAM : 2 Go minimum
- Processeurs : 2 vCPU
- Réseau : Sélectionner le bridge réseau pour avoir un accès externe
- Nom :
-
Valider et lancer la création de la VM.
Dans Proxmox, la création d’une VM se fait via l’interface web en cliquant sur Créer une VM.
Il faut donner un nom à la VM, choisir Linux comme type de système, sélectionner l’image ISO de Turnkey Symfony et configurer les ressources (disque, RAM, CPU, réseau).
Une fois la configuration terminée, la VM est créée et apparaît dans la liste des machines virtuelles.
Étape 4 : Installer et configurer Turnkey Symfony
Une fois la VM créée, il faut démarrer l’installation de Turnkey Symfony.
-
Démarrer la VM et suivre les étapes d’installation :
- Sélectionner Install to hard disk.
- Accepter les paramètres par défaut.
- Configurer le mot de passe administrateur.
- Définir un domaine ou une adresse IP statique si nécessaire.
- Laisser l’installation se terminer.
-
Une fois l’installation terminée, redémarrer la machine et noter l’adresse IP attribuée.
L’installation de Turnkey Symfony se fait via l’interface de la VM après son démarrage.
Il faut choisir Install to hard disk, configurer le mot de passe administrateur et éventuellement définir un domaine ou une IP statique.
Une fois l’installation terminée, la machine redémarre et affiche l’adresse IP qu’elle a reçue.
Étape 5 : Accéder à l’interface Symfony
Après l’installation, il est possible d’accéder à l’interface Symfony via un navigateur.
- Ouvrir un navigateur et entrer l’adresse IP de la VM.
- Vérifier que la page d’accueil de Symfony s’affiche.
- Se connecter avec les identifiants configurés lors de l’installation.
- Tester l’environnement en créant un projet Symfony simple.
L’interface Symfony est accessible en entrant l’adresse IP de la VM dans un navigateur.
Si tout est bien configuré, la page d’accueil de Symfony doit s’afficher.
Il est possible de se connecter avec les identifiants définis lors de l’installation et de tester l’environnement en créant un projet Symfony.
Étape 6 : Sécuriser et administrer l’appliance
Pour assurer la sécurité et la gestion de l’appliance, il est recommandé de :
- Activer les mises à jour automatiques :
apt update && apt upgrade -y
- Configurer un accès SSH sécurisé :
- Modifier le fichier
/etc/ssh/sshd_config
pour désactiver l’accès root direct. - Redémarrer le service SSH :
systemctl restart ssh
- Modifier le fichier
- Vérifier les logs et les connexions :
journalctl -u ssh
Il est important de sécuriser l’appliance en activant les mises à jour automatiques avec apt update && apt upgrade -y
.
L’accès SSH peut être sécurisé en modifiant /etc/ssh/sshd_config
pour désactiver l’accès root direct, puis en redémarrant le service SSH.
Les logs et connexions peuvent être surveillés avec journalctl -u ssh
pour détecter d’éventuelles tentatives d’intrusion.