auto-heber:serveur_linux
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | auto-heber:serveur_linux [2024/01/28 23:48] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | **// | ||
+ | |||
+ | ====== Autohébergement maison de Hypriot avec Portainer et Docker sur un serveur Linux ====== | ||
+ | On peut profiter des avantages de l’autohébergement de nos services à la maison sans toutefois disposer d'un Raspberry Pi. La solution consiste en l' | ||
+ | |||
+ | ===== Le matériel de votre ordinateur est-il compatible ? ===== | ||
+ | {{: | ||
+ | D' | ||
+ | |||
+ | Si vous ne savez pas le type de processeur, cherchez-le sur le site de votre fabricant. | ||
+ | |||
+ | Quand vous savez le modèle de votre processeur et son constructeur, | ||
+ | |||
+ | __Exemple: | ||
+ | - Je vais sur le site de [[https:// | ||
+ | - À la section " | ||
+ | - Puisque c'est un vieux modèle, il risque d' | ||
+ | - Donc simplement, sur Google, je cherche : **intel e6750 specs** qui m' | ||
+ | - Ensuite je cherche la spécification **technologie de virtualisation** et je constate que c'est à **oui**, donc je peut utiliser cet ordinateur pour y installer __Docker qui nécessite la virtualisation__. :-P | ||
+ | ===== Téléchargement de l' | ||
+ | {{: | ||
+ | - [[https:// | ||
+ | - À partir du fichier **ubuntu-18.04-live-server-amd64.iso** sur un poste de travail Linux, ouvrir ce fichier avec **Brasero** (ou autre logiciel de votre choix). | ||
+ | - Si l' | ||
+ | |||
+ | ===== Graver l' | ||
+ | Hé oui, je suis de la vieille école qui n' | ||
+ | - Démarrez Brasero, " | ||
+ | - Après la gravure, " | ||
+ | {{: | ||
+ | |||
+ | ===== Installer Ubuntu Server 18.04 sur votre ordinateur ===== | ||
+ | - Copier les informations que vous souhaitez conserver du système actuellement installé, le cas échéant. | ||
+ | - Insérer le DVD, redémarrer l' | ||
+ | - Brancher à Internet. | ||
+ | - Suivre les étapes d' | ||
+ | |||
+ | ===== Configuration initiale de votre serveur ===== | ||
+ | {{: | ||
+ | - Aller à la page [[https:// | ||
+ | - Suivez toutes les étapes (encore une fois, le club LinuQ est là pour vous assister, au besoin, lors d'une de ses activités) ; | ||
+ | - Étape 1 - Connexion root | ||
+ | - Étape 2 - Créer un nouvel utilisateur | ||
+ | - Étape 3 - Donner à cet utilisateur les privilèges d' | ||
+ | - Étape 4 - Ajouter une clé publique d' | ||
+ | - Étape 5 - Désactiver l' | ||
+ | - Étape 6 - Essais de connexion | ||
+ | - Étape 7 - Installer un pare-feu de base (//UFW firewall//) | ||
+ | Vous avez maintenant une base solide pour votre serveur. | ||
+ | Vous pouvez maintenant installer n' | ||
+ | |||
+ | ===== Installation de l' | ||
+ | {{: | ||
+ | * Source : [[https:// | ||
+ | |||
+ | Docker est une application qui simplifie et accélère l' | ||
+ | |||
+ | * Nous installerons Docker sur une installation existante de Ubuntu 18.04. | ||
+ | * Assurez-vous d' | ||
+ | * Toutes les commandes de ce tutoriel devraient être exécutées avec un compte non administrateur. Si des accès // | ||
+ | * Nous travaillerons à partir d'un poste de travail utilisant une connexion SSH sécurisée vers le serveur Ubuntu. Vous pourrez alors au besoin, lors du prochain arrêt, le déplacer, retirer l' | ||
+ | * Se connecter | ||
+ | * Si "* System restart required *" s' | ||
+ | * Pour seulement arrêter le serveur, faire **sudo halt** ou **sudo init 0** | ||
+ | * Nous allons mettre à jour les paquets de Ubuntu (un message comme "54 packages can be updated. 3 updates are security updates." | ||
+ | * **sudo apt update** | ||
+ | * **sudo apt upgrade** | ||
+ | * Attendre la fin des mises à jour (env 5 min, voir la barre de progression) | ||
+ | |||
+ | - Aller à la page [[https:// | ||
+ | - Suivez toutes les étapes (identiques pour la version 18.04) (avons-nous besoin de le répéter, le club LinuQ est là pour vous assister, au besoin, lors d'une de ses activités) ; | ||
+ | - **Étape 1 - Installation de Docker** | ||
+ | * L' | ||
+ | - **Étape 2 - Exécution de la commande Docker sans privilège sudo** | ||
+ | * Le reste de ce tutoriel suppose que vous exécutez la commande docker en tant qu' | ||
+ | - **Étape 3 - Utilisation de la commande Docker** | ||
+ | * Les conteneurs Docker sont exécutés à partir d' | ||
+ | - **Étape 4 - Utilisation des images Docker** | ||
+ | * Les conteneurs Docker sont lancés (exécutés) à partir d' | ||
+ | * Comme vous le verrez plus tard dans ce tutoriel, les images que vous utilisez pour lancer des conteneurs peuvent être modifiées et utilisées pour générer de nouvelles images, qui peuvent ensuite être publiées | ||
+ | - **Étape 5 - Lancer un conteneur Docker** | ||
+ | * Les conteneurs sont très utiles, interactifs (similaires à des machines virtuelles) | ||
+ | * Lisez cette section pour information seulement. Nous n' | ||
+ | - **Étape 6 - Modifier un conteneur et le sauvegarder sous une nouvelle image Docker** | ||
+ | * Lorsque vous démarrez une image Docker, vous pouvez créer, modifier et supprimer des fichiers comme vous le feriez avec une machine virtuelle. Les modifications que vous apportez s' | ||
+ | * Cette section montre comment enregistrer l' | ||
+ | * Lisez cette section pour information seulement. | ||
+ | * On y mentionne que les images peuvent également être construites à partir de ce qu'on appelle un **Dockerfile** (processus qui dépasse la portée de cet article). | ||
+ | - **Étape 7 - Lister les conteneurs Docker** | ||
+ | * Après avoir utilisé Docker pendant un certain temps, vous aurez de nombreux conteneurs actifs (en cours d' | ||
+ | * Lisez cette section pour information seulement. | ||
+ | * Pour voir les conteneurs actifs : **docker ps** | ||
+ | * Pour voir tous les conteneurs (actifs et inactifs) : **docker ps -a** | ||
+ | * Pour voir le dernier conteneur créé : **docker ps -l** | ||
+ | * Pour arrêter un conteneur en exécution ou actif : **docker stop // | ||
+ | - **Étape 8 - Publier des images Docker dans un Registre Docker (Repository Docker)** | ||
+ | * La prochaine étape logique après la création d'une nouvelle image à partir d'une image existante consiste à la partager avec certains de vos amis, le monde entier sur Docker Hub ou un autre registre Docker auquel vous avez accès. Pour pousser une image vers Docker Hub ou tout autre registre Docker, vous devez y avoir un compte. | ||
+ | * Cette section vous montre comment transférer une image Docker vers Docker Hub. | ||
+ | * Lisez cette section pour information seulement. | ||
+ | * On donne aussi un lien pour savoir [[https:// | ||
+ | - **Conclusion** | ||
+ | * Docker contient beaucoup plus que ce qui a été donné dans cette page, mais cela devrait suffire à vous aider à travailler avec Ubuntu 18.04. Comme la plupart des projets open source, Docker est construit à partir d'une base de code en développement rapide, alors prenez l' | ||
+ | * Consultez également les [[https:// | ||
+ | * La prochaine étape consiste en l' | ||
+ | |||
+ | ===== Initialisation de Dockerswarm et lancement de la pile Portainer (incluant client agent et Traefik) ===== | ||
+ | * Dans cette section, nous supposons que vous avez lu, voir expérimenté, | ||
+ | |||
+ | Connectez-vous à votre serveur (via son adresse IP) avec un compte utilisateur administrateur par SSH à partir d'un ordinateur connecté au même réseau que votre serveur, par exemple : | ||
+ | < | ||
+ | |||
+ | |||
+ | S' | ||
+ | < | ||
+ | |||
+ | S' | ||
+ | ^Name ^Protocol | ||
+ | ^Virtual Server HTTP |TCP 80/80 | ||
+ | ^Virtual Server HTTPS |TCP 443/443 |192.168.10.103 | | ||
+ | ^SSH |TCP 22/22 | ||
+ | |||
+ | |||
+ | J' | ||
+ | < | ||
+ | $ wget https:// | ||
+ | </ | ||
+ | Message : " | ||
+ | < | ||
+ | $ wget https:// | ||
+ | </ | ||
+ | Message : " | ||
+ | Avant d' | ||
+ | 1- "Host name for Portainer service: " adresse pour rejoindre l' | ||
+ | 2- "Host name for Traefik service: " adresse pour rejoindre l' | ||
+ | 3- "Email for Lets' | ||
+ | 4- "Email for your Cloudflare account: " adresse utilisée quand vous avez créé votre compte chez Cloudflare (ex: joe_bloe@gmail.com) | ||
+ | 5- " | ||
+ | 6- " | ||
+ | |||
+ | Permettre l' | ||
+ | < | ||
+ | chmod +x install.sh | ||
+ | </ | ||
+ | Lancer le script : | ||
+ | < | ||
+ | $ ./ | ||
+ | </ | ||
+ | Message : | ||
+ | < | ||
+ | Automated installation of Portainer/ | ||
+ | |||
+ | To be able to complete this installation, | ||
+ | installed Hypriot on your Raspberry-pi (3 or better recommanded). | ||
+ | You must also have registered an internet domaine name and | ||
+ | open an account at Cloudflare and transfer your DNS server (FREE) there. | ||
+ | |||
+ | Did you get your internet domain name and your Cloudflare account info? ([y]es or [n]o): | ||
+ | </ | ||
+ | Répondre " | ||
+ | Répondre aux 6 questions tel que décrit ci-dessus. | ||
+ | |||
+ | Réponse du script : | ||
+ | < | ||
+ | Did you get your internet domain name and your Cloudflare account info? ([y]es or [n]o): y | ||
+ | Host name for Portainer service: rpi01 | ||
+ | Host name for Traefic service: traefik01 | ||
+ | Email for Lets' | ||
+ | Email for your Cloudflare account: joe_bloe@gmail.com | ||
+ | Cloudflare Global API Key: 59766315cdd5d7793e08e438e7d5b88945176 | ||
+ | Domaine name for the Docker network: (votredomaine) | ||
+ | Swarm initialized: | ||
+ | |||
+ | To add a worker to this swarm, run the following command: | ||
+ | |||
+ | docker swarm join --token SWMTKN-1-0pfq9zijgzbb4t56eqo1q18c5q6r5prlhhr9u02chv8vfed8v4-60i4kvi1wpxcdnqst1l7nj7ii 192.168.10.109: | ||
+ | |||
+ | To add a manager to this swarm, run ' | ||
+ | |||
+ | w00380tla27fc74kjqx7gtck4 | ||
+ | Creating network maestro_agent_network | ||
+ | Creating service maestro_proxy | ||
+ | Creating service maestro_agent | ||
+ | Creating service maestro_portainer | ||
+ | Installation complete, take a coffee and then navigate to your server URL : | ||
+ | HTTPS:// | ||
+ | Create you administrative user and then enjoy free hosting your life yourself | ||
+ | |||
+ | Any bugs can be reported here : https:// | ||
+ | French documentation of the projet is here : https:// | ||
+ | </ | ||
+ | |||
+ | Lister les services disponibles : | ||
+ | < | ||
+ | < | ||
+ | $ docker service ls | ||
+ | ID NAME MODE REPLICAS | ||
+ | slahlcbtosav | ||
+ | 7zpp5m2khdc9 | ||
+ | dl76rp129dqv | ||
+ | </ | ||
+ | |||
+ | Et voilà, Portainer est lancé! :-) | ||
+ | Notez le port alloué à Portainer est < | ||
+ | |||
+ | Maintenant, toujours d'un ordinateur dans le même réseau, ouvrez votre navigateur et donnez-lui votre adresse et le port 30000 : | ||
+ | < | ||
+ | |||
+ | Portainer devrait vous assister dans la création de votre compte administrateur... | ||
+ | |||
+ | {{: | ||
+ | * N' | ||
+ | * Choisissez un mot de passe de 8 caractères ou plus. | ||
+ | * Bouton " | ||
+ | |||
+ | * Dans votre compte Cloudflare, saisir un A Name : rpi01 / 192.222.228.220 / Automatic | ||
+ | * Dans Portainer, la première chose à faire est d' | ||
+ | * Désactiver la demande de donation activer ("< | ||
+ | * Activez "Use custom logo", changez le logo par utilisez un des logos de LinuQ, soit le Tux patriote : allez sur la page [[site: | ||
+ | < | ||
+ | * Activer l' | ||
+ | Remplacer l'URL du template par défaut (**attention différente du Pi car contient .pc.json**) : | ||
+ | < | ||
+ | par celle-ci : | ||
+ | < | ||
+ | (à changer dans sa forme finale) dans le champs URL. | ||
+ | * Par sécurité, activez " | ||
+ | * Par sécurité, activez " | ||
+ | * Sauvegarder (bouton "Save settings" | ||
+ | |||
+ | * Vous verrez le logo choisi s' | ||
+ | * Un " | ||
+ | * Valider en cliquant sur le bouton " | ||
+ | * La prochaine étape sera de choisir une image Docker pour PC répondant un besoin et de l' | ||
+ | |||
+ | ===== Installation de l' | ||
+ | {{: | ||
+ | |||
+ | * Voir la section [[auto-heber: | ||
+ | |||
+ | (section interrompue ici) | ||
+ | |||
+ | |||
+ | [[auto-heber: | ||