Utilisateur:Pierre-Marie Westeel/Brouillon
- → N'hésitez pas à publier sur le brouillon un texte inachevé et à le modifier autant que vous le souhaitez.
- → Pour enregistrer vos modifications au brouillon, il est nécessaire de cliquer sur le bouton bleu : « Publier les modifications ». Il n'y a pas d'enregistrement automatique.
Si votre but est de publier un nouvel article, votre brouillon doit respecter les points suivants :
- Respectez le droit d'auteur en créant un texte spécialement pour Wikipédia en français (pas de copier-coller venu d'ailleurs).
- Indiquez les éléments démontrant la notoriété du sujet (aide).
- Liez chaque fait présenté à une source de qualité (quelles sources – comment les insérer).
- Utilisez un ton neutre, qui ne soit ni orienté ni publicitaire (aide).
- Veillez également à structurer votre article, de manière à ce qu'il soit conforme aux autres pages de l'encyclopédie (structurer – mettre en page).
- → Si ces points sont respectés, pour transformer votre brouillon en article, utilisez le bouton « publier le brouillon » en haut à droite. Votre brouillon sera alors transféré dans l'espace encyclopédique.
Le défi que je me suis lancé n'a pas pour but de savoir quelle technologie est meilleure ou quel architecture de serveur choisir, mais de déployer ou plutôt redéployer un server et un site Web, avec Framework back et front Symfony/ReactJS, dans un délai acceptable pour une société. 5 minutes c'est pas mal ? Vous aurais compris que la copie de votre base de données de 10Terraoctet n'est pas prise en compte dans le 5 minutes. C'est un cas assez rare en plus pour les grosses entreprises qui ont es servers en parallèles et des duplications en temps réel. On va parler petit budget, donc si vous êtes DSI d'une multinationale aux milliards de clients vous pouvez vous tourner sur d'autre technologie comme le cloud.
Ah oui ! J'allais oublier, une dernière chose, 5 minutes c'est le temps de redéploiement. Ca demande un peu plus de travail en amont. Une petite trentaine de minute.
Un conseil ne pensez pas comme un programmeur ou un DSI uniquement, mettez vous dans la peau d'un hacker. Comment peut-il s'attaquer à vos données et services ?
Un petit site que j'aime bien sr la cyber sécurité : https://www.zataz.com/ (En plus c'est un voisin qui le gère. Coucou Damien Bancal :) )
J'allais oublier un prérequis pour pouvoir adapter à votre sauce ma petit recette :
https://help.ubuntu.com/community/Beginners/BashScripting#Intro
SI comme moi, vous êtes sur une machine Windows, je vous invite à découvrir ce programme : https://github.com/canonical/multipass/releases
Méthodes de sauvegarde du server et de l'application
modifierLes dépôts Github
modifierhttps://github.com/Pierre-Marie-hub
C'est mon Github perso, merci de pas me le hacker ;)
Configuration server ubuntu 20.04, le site web master et sa "préprod", le déploiement continue :
Parlons avant tout sécurité
modifierLa première étape va être de sécuriser notre serveur. On change le nom de l'utilisateur. Un server avec comme login ubuntu ou debian ou le nom de la machine s'exposant trop facilement à une attaque de type force brute.
Je vous invite à lire le cours si après, si le sujet vous intéresse et que vous voulez avoir quelques notions : https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2680183-lattaque-par-force-brute
Bien sûr cela en suffit pas, mais c'est déjà un barrière supplémentaire non négligeable. Nous parlerons ensuite du firewall et des droits d'accès au fichier plus tard dans l'article.
Le redéploiement étant une pratique très rare. Certain homologue n'en n'ont jamais penser optimiser ce cas de figure. Pourtant on va rajouter une couche de sécurité :
La vérification de l'intégrité des fichiers transféré sur le web pour éviter une attaque Men in the middle.
Alors on commence par expliquer le principe du Shell qui va automatiser notre redéploiement
modifierPlutôt que d'utiliser des produit déjà sur le marché qui font transiter des données sur le web, nous allons déployer directement depuis le se serveur. Oublions Ansible et docker pour le moment. Ca n'a pas d'intérêt pour nous.
Voici la liste des taches a réaliser pour notre mise en production en mode Flash Gordon.
Vous voyez le genre de commande coûteuse en temps dont je parle ? Recréer un utilisateur, un SFTP etc...
Pour notre redéploiement nous allons automatiser les points suivant :
- Un utilisateur sudoers comme expliqué dans le chapitre précédent
- Un pare-feu qui sera Guarddog
- Apache2 (et les fichiers de configuration)
- PHP
- Des répertoires pour accueillir nos deux sites web
- MySQL
- Le code de notre appli sur Github
- Un accès SSH
- un server mail & sms
Les fichiers Bash
modifierAfin de réutiliser au maximum les composants selon les différents sites à déployer, nous allons séparer les fichiers par fonctionnalités.
- Préparation du système d'exploitation (firewall, user, ssh)
- Serveur Apache, PHP, MySQL, script Capistrano, server mail et sms (un fichier par site Web)
- Un fichier commun pour lancer tous nos sous fichiers
Phase de test avant la mise en production