Forum Programmation.shell automatiser installation de paquets (apt-get) et modification fichiers de confiG

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
31
déc.
2014

Bonjour à tous,

Je reviens vers vous pour un petit renseignement. Est-il possible de créer un script qui automatiserait l'installation de plusieurs paquets via la commande apt-get? Genre un script qui installerait apache2, php5 et mysql?
De plus toujours avec celui-ci, puis-je copier certains fichiers de confiG (pour en garder une trace en cas de bug) et remplacer ceux_ci par mes propres fichiers de config?
En gros, je cherche à accélérer l'installation d'un serveur LAMP.
Si tout cela est possible, pouvez-vous me donner une ébauche de script ou le gros de la structure que je tenterais d'adapter à ma situation?

Merci.

  • # Gestion de config ?

    Posté par  (site web personnel) . Évalué à 2.

    Tu peux évidemment scripter tout cela avec n'importe quel langage de script (shell ou autre) mais il y a des outils spécialisés pour ce type d'opérations : les logiciels de gestion de config. Plusieurs examples : puppet, cfengine, ansible, salstack, etc…

    Le ticket d'entrée est un peu plus lourd qu'un simple script mais au fur et à mesure qu'on ajoute des éléments à son infra, ça devient bien plus fiable et maintenable.

    • [^] # Re: Gestion de config ?

      Posté par  . Évalué à 1.

      Merci pour cette réponse mais je pense que cette solution est un peu trop élaborée et trop complexe pour mon cas!!
      En effet, ce que je cherche est de bien plus petite envergure^
      Je cherche juste un script qui me permettrait de remonter mon serveur web rapidement, en cas de bug.
      Je bosse sur des machines virtuels. Du coup, ce que je cherche c'est qu'en cas de dysfonctionnement de mon serveur, je puisse remonter un Debian(par exemple) depuis le panneau d'admin de mon hébergeur (quelques minutes), que j'y balance mon script pour avoir mon serveur web paramétrer et configurer selon mes besoins.
      Ensuite, je balancerais les fichiers de mon site et hop le tour est joué et mon site internet est de nouveau OP…

      • [^] # Re: Gestion de config ?

        Posté par  (site web personnel) . Évalué à 4.

        Vu que ce sont des paquets, il est peut-être possible de créer un "méta paquet" qui dépende de mysql, etc et qui par la suite applique tes fichiers de config (je n'ai fait ça qu'avec des RPMs, mais ça doit marcher pareil avec les .deb).

        Après tu pourrais appliquer automatiquement ton paquet ? A moins que ça ne marche pas comme ça ?

        • [^] # Re: Gestion de config ?

          Posté par  . Évalué à 2.

          Je ne suis pas convaiuncu qu'un paquet soit la bonne solution dans ce cas. A chaque modification de ligne de conf, il faudrait recréer un paquet. Si ça pourrait se faire, mais il faudrait décoreller la conf du paquet, et avoir un script permettant de récupérer celle-ci par une autre méthode. Celà dit, la création de paquet pour un débutant n'a rien de trivial, je ne conseillerais pas cette méthode dans un premier temps.

          • [^] # Re: Gestion de config ?

            Posté par  . Évalué à 2.

            A chaque modification de ligne de conf, il faudrait recréer un paquet. Si ça pourrait se faire, mais il faudrait décoreller la conf du paquet, et avoir un script permettant de récupérer celle-ci par une autre méthode.

            C'est faisable sans refaire un paquet à chaque fois.

            Il suffit de faire dépendre le méta-paquet d'un outil qui ira chercher les fichiers de conf, et d'appliquer un script dans post-inst, ou un truc du genre.
            Je ne dis pas que c'est une bonne idée, parce qu'aller chercher un truc changeant automatiquement sur le réseau lors d'une intall, ça me paraît un peu… dangereux, mais ça me semble faisable.

      • [^] # Re: Gestion de config ?

        Posté par  . Évalué à 2. Dernière modification le 31 décembre 2014 à 12:08.

        Ca devrait être assez simple à scripter.

        • tu sauvegardes la liste des paquets installés : comme ça en cas de crash, tu peux les restaurer. Tu mets ça en cron par exemple, et tu le sauvegardes sur une machine distante.

        • tu sauvegardes les host-keys ssh

        • tu crées un dépot git pour /etc (ce qui te permet de gérer les versions), ou un dépot GIT par conf de soft utilisé

        • lorsque tu modifies ta config, tu commit dans GIT, et tu fais une synchro (push) avec une copie de ton dépot sur un site distant ( il y a peut-être moyen d'automatiser ça avec les hooks git - à voir). Tu fais la même chose pour toutes les configs qui ne seraient pas dans /etc. Si ce n'est possible via un hook, tu mets en place un cron qui compare le dépot de référence et ton dépot courant, et qui lance un push s'il y a un diff.

        Si c'est possible, tu geres l'arborescence de ton site avec GIT : par contre tu le fais de l'autre sens : tu développes sur ton serveur de dev, et lorsque tout est ok, tu balances le tout sur ton site de prod (push de dev vers prod ou pull sur le serveur de prod à partir du serveur de dev) .

        Comme ça le jour ou ça pête :
        - tu demandes à ton hébergeur de restaurer ton serveur
        - tu restaures les paquets via la méthode indiqué plus haut dans le lien.
        - tu utilise GIT pour récupérer tes confs, et pour récupérer tes données.

        En tout cas c'est comme ça que je m'y prendrais : tutes ces étapes peuvent être automatisées assez facilement je pense. Si tu as besoin d'aide complémentaire n'hésite pas.

        • [^] # Re: Gestion de config ?

          Posté par  (site web personnel) . Évalué à 2.

          tu crées un dépot git pour /etc (ce qui te permet de gérer les versions), ou un dépot GIT par conf de soft utilisé

          Il y a même un paquet qui te permet d'automatiser ça : etckeeper. Par contre, je ne crois pas que ça fasse un push automatique vers un dépôt distant, mais ça c'est réglé rapidement avec un cron :-)

          Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

        • [^] # Re: Gestion de config ?

          Posté par  . Évalué à 3.

          J'ai oublié dans le lot la restauration des host key ssh. Il serait judicieux de le faire au début du process, sauf si la sécurité du serveur a été corrompue et que tu as subi une attaque. Normalement les clés devraient être restaurées avec la récupération de /etc via git, mais tu risques d'avoir des messages d'erreur pendant la phase transitoire.

          • [^] # Re: Gestion de config ?

            Posté par  . Évalué à 1. Dernière modification le 31 décembre 2014 à 17:31.

            Oula je suis un peu perdu là…. :/
            Moi je pensais plutôt à un truc beaucoup plus simple, un script du genre:

            #!/bin/bash
            apt-get install -y apache2
            apt-get install -y php5
            apt-get install -y mysql etc....
            exit 0

            et si c'est possible déplacer les fichiers de config (ex: /etc/apache2/apache2.conf) pour garder une copie de sécurité au cas ou si ça bug et remplacer ce fichier de config par un un que que j'ai modifié, via les commandes:

            mv /etc/apache2/apache2.conf sauvegarde/ #(qui déplacerait le fichier de config d'apache dans un dossier de sauvegarde)

            puis :

            cp /home/apache2.conf(perso) /etc/apache2/

            Mais quand j'essaye de faire de cette manière, j'obtiens des erreurs et cela ne marche pas??

            • [^] # Re: Gestion de config ?

              Posté par  . Évalué à 2. Dernière modification le 31 décembre 2014 à 12:45.

              apt-get install -y apache2
              apt-get install -y php5
              apt-get install -y mysql etc….

              Tu fais tout ça en 1 seule commande :

              sudo dpkg --set-selections < /home//liste-des-paquets
              sudo apt-get -u dselect-upgrade

              Mais ça nécessite au préalable d'avoir fait :

              dpkg --get-selections > /home//liste-des-paquets

              Tu insères cette commande en cron pour générer le fichier toutes les heures par exemple (ou alors il ne faut pas l'oublier à chaque fois que tu installes un paquet)

              Deuxième solution :

              • tu génère une liste dans laquelle tu indique tous les paquets que tu as installé, puis tu fais un truc du genre :

              for i in $(cat )
              do
              apt-get install $i || exit 1

              done

              Si tu veux pouvoir mettre des commentaires (#)

              for i in $(awk -F# '{print $1}' toto.txt ); do
              apt-get install $i || exit 1

              done

              Cette solution t'impose de mettre à jour manuellement la liste de paquets.

              et si c'est possible déplacer les fichiers de config (ex: /etc/apache2/apache2.conf) pour garder une copie de sécurité au cas ou si ça bug et remplacer ce fichier de config par un un que que j'ai modifié, via les commandes:
              mv /etc/apache2/apache2.conf sauvegarde/ (qui déplacerait le fichier de config d'apache dans un dossier de sauvegarde)
              puis :
              cp /home/apache2.conf(perso) /etc/apache2/

              Utilise un gestionnaire de versions tel que Git ou Mercurial : dans ton cas tu n'as que quelques commandes à apprendre :
              - git init (pour initialiser le dépot)
              - git clone ( pour
              - git add
              - git commit
              - git push
              - git revert pour revenir en arrière.

              Tu peux trouver des introductions à GIT (exemple : http://openclassrooms.com/courses/gerez-vos-codes-source-avec-git ).

              Note que n'importe comment, tu seras obligé d'avoir une copie de tes confs à l'extérieur de ton serveur: soit tu le fais manuellement, soit tu l'automatises.

              Mais quand j'essaye de faire de cette manière, j'obtiens des erreurs et cela ne marche pas??

              Quelles erreurs ?

              • [^] # Re: Gestion de config ?

                Posté par  . Évalué à 1. Dernière modification le 31 décembre 2014 à 17:32.

                bin voila mon script actuel, nommé script.sh:

                #!/bin/bash
                apt-get install -y apache2
                exit 0

                pour le lancer je tape: bash script.sh et voilà en retour ce que j'obtiens:

                (#)>> bash script.sh
                Lecture des listes de paquets... Fait
                Construction de l'arbre des dépendances
                Lecture des informations d'état... Fait
                E: Impossible de trouver le paquet apache2
                • [^] # Re: Gestion de config ?

                  Posté par  . Évalué à 2. Dernière modification le 31 décembre 2014 à 13:21.

                  pour avoir le nom du paquet exact :

                  apt-cache search apache2 .

                  Il te donnera le nom exact du paquet.

                  Si tu ne le trouves pas, essaie un apt-get update avant.

                  • [^] # Re: Gestion de config ?

                    Posté par  . Évalué à 1. Dernière modification le 31 décembre 2014 à 17:33.

                    ok mais quand je tape cette commande, il s'affiche tout plein de lignes, relatif à apache:

                    (#)>> apt-cache search apache2
                    adzapper - proxy advertisement zapper add-on
                    libapache2-mod-auth-ntlm-winbind - apache2 module for NTLM authentication against Winbind
                    libapache2-mod-upload-progress - upload progress support for the Apache web server
                    apache2 - Apache HTTP Server metapackage
                    apache2-dbg - Apache debugging symbols
                    apache2-doc - Apache HTTP Server documentation
                    apache2-mpm-event - Apache HTTP Server - event driven model
                    apache2-mpm-itk - multiuser MPM for Apache 2.2
                    apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model
                    apache2-mpm-worker - Apache HTTP Server - high speed threaded model
                    apache2-prefork-dev - Apache development headers - non-threaded MPM
                    apache2-suexec - Standard suexec program for Apache 2 mod_suexec
                    apache2-suexec-custom - Configurable suexec program for Apache 2 mod_suexec
                    apache2-threaded-dev - Apache development headers - threaded MPM
                    apache2-utils - utility programs for webservers
                    apache2.2-bin - Apache HTTP Server common binary files
                    apache2.2-common - Apache HTTP Server common files
                    libapache2-mod-apparmor - changehat AppArmor library as an Apache module
                    cortado - streaming applet for Ogg formats
                    libapache2-mod-dacs - Distributed Access Control System (DACS) - Apache Module
                    gitweb - fast, scalable, distributed revision control system (web interface)
                    libapache2-mod-auth-kerb - apache2 module for Kerberos authentication
                    libapache2-mod-auth-radius - Apache 2.x module for RADIUS authentication
                    libapache2-mod-evasive - evasive module to minimize HTTP DoS or brute force attacks
                    libapache-mod-jk-doc - Documentation of libapache2-mod-jk package
                    libapache2-mod-jk - Apache 2 connector for the Tomcat Java servlet engine
                    libapache2-mod-layout - Apache web page content wrapper
                    libapache2-mod-log-sql - Use SQL to store/write your Apache queries logs - Base
                    libapache2-mod-log-sql-dbi - Use SQL to store/write your Apache queries logs - DBI interface
                    libapache2-mod-log-sql-mysql - Use SQL to store/write your Apache queries logs - MySQL interface
                    libapache2-mod-log-sql-ssl - Use SQL to store/write your Apache queries logs - SSL extension
                    libapache2-mod-musicindex - Browse, stream, download and search through MP3/Ogg/FLAC/MP4 files
                    mod-musicindex-common - Common files for mod-musicindex
                    libapache2-mod-random - Create random ads, quotes and redirects
                    libapache2-mod-removeip - Module to remove IP from apache2's logs
                    libapache2-authcassimple-perl - Apache2 module to authentificate trough a CAS server
                    libapache2-authcookie-perl - Perl Authentication and Authorization via cookies
                    libapache2-authenntlm-perl - Perform Microsoft NTLM and Basic User Authentication
                    libapache2-mod-auth-cas - CAS authentication module for Apache2
                    libapache2-mod-auth-memcookie - Apache2 authentication and authorization module.
                    libapache2-mod-auth-openid - OpenID authentication module for Apache2
                    libapache2-mod-auth-pam - module for Apache2 which authenticate using PAM
                    libapache2-mod-auth-sys-group - Module for Apache2 which checks user against system group
                    libapache2-mod-auth-pgsql - Module for Apache2 which provides pgsql authentication
                    libapache2-mod-auth-plain - Module for Apache2 which provides plaintext authentication
                    libapache2-mod-auth-pubtkt - key-based single-sign-on authentication module for Apache
                    libapache2-mod-auth-tkt - lightweight single-sign-on authentication module for Apache
                    libapache2-mod-authn-sasl - SASL authentication backend provider for Apache
                    libapache2-mod-authn-yubikey - Yubikey authentication provider for Apache
                    libapache2-mod-authnz-external - authenticate Apache against external authentication services
                    libapache2-mod-authz-unixgroup - access control based on on unix group membership for Apache
                    libapache2-mod-bw - bandwidth limiting module for apache2
                    libapache2-mod-defensible - module for Apache2 which provides DNSBL usage
                    libapache2-mod-encoding - Apache2 module for non-ascii filename interoperability
                    libapache2-mod-fcgid - an alternative module compat with mod_fastcgi
                    libapache2-mod-fcgid-dbg - debugging symbols for mod_fcgid
                    libapache2-mod-geoip - GeoIP support for apache2
                    libapache2-mod-ldap-userdir - Apache module that provides UserDir lookups via LDAP
                    libapache2-mod-ldap-userdir-dbg - Debugging symbols for mod_ldap_userdir
                    libapache2-mod-lisp - An Apache2 module that interfaces with Lisp environments
                    libapache2-mod-macro - Create macros inside Apache config files
                    libapache2-mod-nss - NSS-based SSL module for Apache2
                    libapache2-mod-perl2 - Integration of perl with the Apache2 web server
                    libapache2-mod-perl2-dev - Integration of perl with the Apache2 web server - development files
                    libapache2-mod-perl2-doc - Integration of perl with the Apache2 web server - documentation
                    libapache2-mod-python - Python-embedding module for Apache 2
                    libapache2-mod-python-doc - Python-embedding module for Apache 2 - documentation
                    libapache2-mod-qos - quality of service module for the apache2
                    libapache2-mod-rivet - Server-side Tcl programming system combining ease of use and power
                    libapache2-mod-rivet-doc - Documentation for Rivet, a server-side Tcl programming system
                    libapache2-mod-rpaf - module for Apache2 which takes the last IP from the 'X-Forwarded-For' header
                    libapache2-mod-ruid2 - suexec module for Apache 2
                    libapache2-mod-xsendfile - Serve large static files efficiently from web applications
                    libapache2-reload-perl - module for reloading Perl modules when changed on disk
                    libapache2-sitecontrol-perl - perl web site authentication/authorization system
                    libapr-memcache-dev - memcache client library development files
                    libapr-memcache0 - memcache client library
                    libapache2-mod-apreq2 - generic Apache request library - Apache module
                    libapache2-request-perl - generic Apache request library - Perl modules
                    libfile-mmagic-xs-perl - Perl module to guess file type (à la mod_mime_magic)
                    libapache2-mod-auth-mysql - Apache 2 module for MySQL authentication
                    libapache2-mod-authn-webid - WebID FOAF+SSL authentication module for Apache
                    libapache2-mod-dnssd - Zeroconf support for Apache 2 via avahi
                    libapache2-mod-gnutls - Apache module for SSL and TLS encryption with GnuTLS
                    libapache2-mod-mime-xattr - Apache2 module to get MIME info from filesystem extended attributes
                    libapache2-mod-mono - Apache module for running ASP.NET applications on Mono
                    libapache2-mod-proxy-html - Apache2 filter module for HTML links rewriting
                    libapache-ruby1.8 - Ruby libraries for mod_ruby
                    libapache2-mod-ruby - Embedding Ruby in the Apache2 web server
                    libapache2-mod-spamhaus - Apache DNSBL module that blocks listed IP addresses
                    libapache2-mod-vhost-hash-alias - Fast and efficient way to manage virtual hosting
                    libapache2-mod-vhost-ldap - Apache 2 module for Virtual Hosting from LDAP
                    libapache2-mod-wsgi - Python WSGI adapter module for Apache
                    libapache2-mod-wsgi-py3 - Python 3 WSGI adapter module for Apache
                    libapache2-modsecurity - Tighten web applications security for Apache
                    libapache2-mod-neko - Apache module for running server-side Neko programs
                    libapache2-mod-ocamlnet - OCaml application-level Internet libraries - netcgi2 Apache2 connector
                    libocamlnet-ocaml-dev - OCaml application-level Internet libraries - core development libraries
                    libapache2-mod-parser3 - Parser 3, HTML-embedded scripting language (Apache2 module)
                    libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module)
                    libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module)
                    php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
                    php5-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
                    radicale - simple calendar server - daemon
                    rt4-apache2 - Apache 2 specific files for request-tracker4
                    libapache2-mod-passenger - Rails and Rack support for Apache2
                    ruby-passenger - Rails and Rack support for Apache2 and Nginx
                    ruby-passenger-doc - Rails and Rack support for Apache2 - Documentation
                    libapache2-mod-scgi - Apache module implementing the SCGI protocol
                    libapache2-mod-shib2 - Federated web single sign-on system (Apache module)
                    libapache2-mod-speedycgi - apache2 module to speed up perl scripts by making them persistent
                    libapache2-svn - Subversion server modules for Apache
                    libapache2-mod-suphp - Apache2 module to run PHP scripts with the owner permissions
                    torrus-apache2 - Universal front-end for Round-Robin Databases (for apache 2.x) (deprecated)
                    libapache2-mod-ruwsgi - uwsgi module for Apache2 (mod_Ruwsgi)
                    libapache2-mod-ruwsgi-dbg - debugging symbols for Apache2 mod_Ruwsgi
                    libapache2-mod-uwsgi - uwsgi module for Apache2 (mod_uwsgi)
                    libapache2-mod-uwsgi-dbg - debugging symbols for Apache2 mod_uwsgi
                    libapache2-webauth - Apache 2 modules for WebAuth authentication
                    libapache2-webkdc - Apache 2 modules for a WebAuth authentication KDC
                    mono-apache-server2 - ASP.NET 2.0 backend for mod_mono2 Apache module
                    mono-apache-server4 - ASP.NET 1.1 backend for mod_mono Apache module
                    mono-fastcgi-server2 - ASP.NET 2.0 backend for FastCGI webservers
                    mono-fastcgi-server4 - ASP.NET 4.0 backend for FastCGI webservers
                  • [^] # Re: Gestion de config ?

                    Posté par  . Évalué à 1.

                    et ce qui est très bizarre c'est que si je tape dans la console :
                    apt-get install apache2
                    y'a pas de soucis, apache s'installe normallement??

                    • [^] # Re: Gestion de config ?

                      Posté par  . Évalué à 2.

                      Ca c'est curieux, effectivement…

                      Essaie de faire apt-cache search apache2 via un script shell pour voir ?

                      • [^] # Re: Gestion de config ?

                        Posté par  . Évalué à 1.

                        C'est bon c'est OK de mon côté!! En fait un problème de format de fichier…. mon script avait été édité via Notepad++ et du coup problème de format d'enregistrement^
                        Un grand merci pour tous les conseils!! ;)

                      • [^] # Re: Gestion de config ?

                        Posté par  . Évalué à 1.

                        Je vais maintenant me pencher sur le gestionnaire de versions…..
                        mais je pense que mon astuce de préparer mes fichiers de confiG perso dans un répertoire et de les copier à la place de ceux crées par défaut va fonctionner plus simplement!! :)
                        Merci.

                        • [^] # Re: Gestion de config ?

                          Posté par  . Évalué à 2. Dernière modification le 31 décembre 2014 à 14:44.

                          Je pensais ça aussi à une époque, comme beaucoup de monde, mais j'en suis revenu … :)

                          Ah, et comment comptes-tu faire "sortir" tes sauvegardes ou tes scripts de ta VM ?

                          • [^] # Re: Gestion de config ?

                            Posté par  . Évalué à 0.

                            je pense que dans ma situation la manip de modification de fichiers de confiG pourra passer car je suis sur un tout petit serveur web, il y a juste d'installer:
                            - apache2
                            - php5
                            - mysql
                            -phpmyadmin
                            - mysecure shell
                            - postfix
                            - courier-imap
                            - squirrelmail
                            - iptable + fail2ban + rkhunter
                            - Suexec + suphp
                            - logwatch + munin + webmin
                            et en plus pour les sauvegardes backup manager

                            Pour mes scripts et sauvegardes tout va se faire en sFPT.

                          • [^] # Re: Gestion de config ?

                            Posté par  . Évalué à 2.

                            Il n'y à rien de mal à ce bon vieux VCS cpold :p (à condition bien sûr d'aimer devoir trier des noms de dossier genre "copie de copie de copie de copie de copie de foobar" pour windows ou "foobar.bak.bak.bak.bak.bak.bak.bak"…)

      • [^] # Re: Gestion de config ?

        Posté par  . Évalué à 2.

        Merci pour cette réponse mais je pense que cette solution est un peu trop élaborée et trop complexe pour mon cas!!

        Tu as raison : cette solution présente de nombreux avantages lorsque tu dois déployer des configs sur plusieurs serveurs, et tu pourras t'y intéresser si ton serveur vient à être limite en charge par exemple, et qu'il te devienne nécessaire de déployer d'autres serveurs pour l'épauler. En commençant par simple, tu te trouveras confrontés à des problématiques que tu retrouveras avec un outil comme Chef ou Puppet, mais tu n'aura pas en plus à gérer l'apprentissage de ces outils.

      • [^] # Re: Gestion de config ?

        Posté par  . Évalué à 3.

        Je bosse sur des machines virtuels. Du coup, ce que je cherche c'est qu'en cas de dysfonctionnement de mon serveur, je puisse remonter un Debian(par exemple)

        deja evoqué hier, il n'y a pas un systeme de backup avec ton serveur de machine virtuelle ?

        tu fais alors un backup de la VM, et en cas de dysfonctionnement, tu reinstalles le backup.

        sinon, oui, aujourd'hui les outils comme cfengine, puppet, te semble overkill pour "une" machine.
        mais si demain tu en as 25, tu apprecieras d'autant plus de ne pas avoir à refaire des 25 scripts d'installation.

        • [^] # Re: Gestion de config ?

          Posté par  . Évalué à 4.

          Je pense la même chose. S'il a la main sur l'hôte il doit être possible (est-ce viable ?) de faire un snapshot à intervalle régulier et d'effacer automatiquement les plus vieux, en gardant par exemple les trois derniers. En cas de problème tu reboot sur le snapshot, ça va nettement plus vite que de réinstaller le serveur, quelque soit le degré d'automatisation employé.

          S'il n'a pas la main sur l'hôte mais seulement accès à la VM (une VM chez un hébergeur…) ça ne va pas être possible, ou aussi souple, comme solution.

          • [^] # Re: Gestion de config ?

            Posté par  . Évalué à 4.

            Au vu de mon expérience, il est toujours sain d'avoir une méthode de réinstallation complête from scratch.

            • [^] # Re: Gestion de config ?

              Posté par  . Évalué à 2.

              une méthode de réinstallation complête from scratch.

              qui se basera quand meme sur des backups :
              - des fichiers des sites webs
              - des fichiers de base de données

              etc

              • [^] # Re: Gestion de config ?

                Posté par  . Évalué à 3.

                on est d'accord là dessus, ça ne dispense pas de sauvegardes non plus. L'idée est que parfois on peut trainer des choses "pas propres" au fur et à mesure des installations ( partitionnement inadapté, et/ou système de fichiers vétustes, paquets installés devenus inutiles mais qui sont restés, etc …). Autre point important, il peut être vital de devoir réinstaller une machine from scratch (d'un point de vue système) si celle-ci a été corrompue et qu'on est pas sûr que les sauvegardes ne le sont pas non plus : dans ce cas, avoir une méthode de réinstallation rapide peut être pratique et permet de gagner du temps.

        • [^] # Re: Gestion de config ?

          Posté par  . Évalué à 1.

          il y a bien un système de backup prévu sur ma VM, une chaque jour est prévue! Cependant, moi, je souhaiterais pouvoir en faire une perso de ma machine propre, avant même l'import des fichiers de mon site internet. Comme ça en cas de bug, je pourrais faire une install rapide sur une nouvelle VM à partir de cette copie. Il y a 14 jours de backup ce qui fait que la backup de départ va disparaître au bout de ces 14 jours!! :/ De plus, il faut faire une demande auprès de mon hébergeur pour restaurer une backup (= perte de temps)
          Mais oui,je vais me pencher sur les outils proposés (cfengine, puppet….), en effet, c'est jamais une perte de temps d'apprendre à maîtriser de nouvelles choses!! :)

          Merci pour toutes ces informations.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.