entre moi et un architecte de réseau, nous gérons un groupe de serveurs Web (FreeBSD). Il est responsable de toutes les choses liées au serveur / réseau (IPS, pare-feu, utilisateurs / groupes, etc.) et je suis responsable de tous les éléments liés au Web (Apache, PHP, MySQL). Parfois, les responsabilités se chevauchent.
Cela se passe peu de fois que certaines modifications ont été apportées aux fichiers de configuration qui ont plus ou moins affecté au serveur et que nous n'avions pas été en mesure de comprendre lequel de nous a apporté les changements et pourquoi. P> < p> I - Être un développeur Web - pense que ce serait une bonne pratique pour mettre les fichiers sous contrôle de la version (nous utilisons actuellement Subversion), de sorte que chaque fois que nous changeons tout ce que nous devons commettre un commentaire les changements. Cela résoudra tous les problèmes avec qui me demandant qui a fait quoi et pourquoi. P>
Les fichiers de configuration particuliers que je pensais étaient: p>
Je sais déjà que le contrôle de la version idée des fichiers de configuration du serveur est basé sur Autre question posée ici . Mon seul inquiétude est de savoir comment le faire correctement sur le côté du serveur Web, car les fichiers sont dans différents endroits. Mettre l'ensemble Je me demandais s'il ne crée pas de nouveau dossier, dites < CODE> / CONFIG CODE> Qui serait sous contrôle de version et contiendrait tous les fichiers de configuration dont nous avons besoin, puis remplacez les numéros d'origine avec des symboles de symboles dans le dossier la question est la suivante: / usr / local / etc code> sous la version Control semble inutile car il contient non seulement les fichiers de configuration. P>
/ Config CODE>. Par exemple: p>
3 Réponses :
Si vous utilisez GIT, puis de la poursuite de l'ensemble du Il suffit d'installer git, puis d'aller à Ajoutez ensuite les fichiers de configuration que vous souhaitez suivre:
Vos fichiers de configuration sont maintenant suivis. P> / usr / local / etc code> sous la version contrôle n'est pas inutile du tout. p>
/ usr / local / etc code> et d'écrire
git init code>. Cela créera le dossier .git dans votre position actuelle (en faisant essentiellement ce dossier un référentiel). P>
git Ajouter un pare-feu / Firewall_Config.confconfig.conf Apache2 / httpd.conf code> etc.
et commettre:
GIT COMTT -M "Configuration initiale" code> p>
Vous pourriez réellement avoir raison. Je passe à Git, mais en venant de SVN, j'ai une image de chaque sous-dossier contenant un dossier .SVN et TortoiseSVN signalant un tas de fichiers non transférés. Cela pourrait être la voie à suivre. Merci Dershodan.
Mais que se passe-t-il si les fichiers de configuration sont à différents endroits? Par exemple. Firewall Config est situé dans / etc. Je voudrais éviter d'avoir plusieurs contrôles GIT.
+1 pour la mention d'un DVCS. Un. petit. dossier. une place. (et une réponse décente aussi)
À propos des fichiers de configuration mutliples dans plusieurs emplacements: tant que vous êtes dans / etc, vous pouvez simplement ajouter les fichiers dont vous avez besoin pour le référentiel. L'autre option est que vous vous avez suggéré de déplacer des configurations pour suivre dans un dossier et remplacer les configurations d'origine par les symboles.
Avez-vous regardé l'un des outils de gestion faites pour faire ce genre de chose? Je recommande la marionnette ou le chef, les avez utilisées dans des emplois précédents pour faire ce genre de chose. P>
Comment la marionnette / chef peut-elle être utile ici? Pouvez-vous élaborer l'idée?
Depuis que vous êtes des fichiers de configuration sensibles en version Versioning, je vous recommande de configurer un serveur git interne comme Gitlab. Créez un référentiel git pour chaque serveur ou modèle de serveur / image / etc. Aller au répertoire / répertoire et 'git init'. P>
Vous pouvez être sélectif sur ce que vous avez mis sous la version de version en utilisant uniquement 'ADD / Path Git / To / Fichier pour les fichiers que vous allez personnaliser. P>
Puis, 'git -m' commettre commentaires 'et "maître d'origine de git push -u". p>