Vous cherchez une bonne configuration utilisateur / Groupes pour les sites sur httpd Serveur apache
Nous avons une installation dans laquelle différentes personnes se développent sur leurs machines locales pour résoudre ultérieurement les modifications du référentiel du serveur local.
Pour synchroniser les modifications apportées à notre serveur de production externe, nous lancons un script qui synchronise l'exportation de versions subversives locales.
Nous sommes confrontés à un problème lors de l'exécution de cette synchronisation, car l'utilisateur effectuant la synchronisation sur un serveur distant doit être propriétaire des fichiers distants.
Notre décision était:
Créez un utilisateur sur un serveur distant (Propriétaire du site). Lui fournir la propriété du site (chown siteowner.siteowner / var / www / site). Une addition apache Dans le groupe de propriétaires du site (Nous avons eu des problèmes de chèques htaccess, Et nous pouvons » t chown siteowner.apache, Parce que quand rsync effectue la synchronisation, il modifie les autorisations sur siteowner.siteowner)
J'ai une question ... Une telle installation semble raisonnable? Connaissez-vous quelqu'un de mieux? Merci d'avance!
Pour synchroniser les modifications apportées à notre serveur de production externe, nous lancons un script qui synchronise l'exportation de versions subversives locales.
Nous sommes confrontés à un problème lors de l'exécution de cette synchronisation, car l'utilisateur effectuant la synchronisation sur un serveur distant doit être propriétaire des fichiers distants.
Notre décision était:
Créez un utilisateur sur un serveur distant (Propriétaire du site). Lui fournir la propriété du site (chown siteowner.siteowner / var / www / site). Une addition apache Dans le groupe de propriétaires du site (Nous avons eu des problèmes de chèques htaccess, Et nous pouvons » t chown siteowner.apache, Parce que quand rsync effectue la synchronisation, il modifie les autorisations sur siteowner.siteowner)
J'ai une question ... Une telle installation semble raisonnable? Connaissez-vous quelqu'un de mieux? Merci d'avance!
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
2 réponses
Blanche
Confirmation de:
Les utilisateurs transmettent leur travail Subversion. nous
ne pas
Permettre aux développeurs
manuellement
Développer le code B. Staging et Live. Pourquoi ne pas exécuter? Parce que nous voulons qu'il imite définitivement Live. Le déploiement est effectué à travers
http://labs.peritor.com/webistrano
, qui est une interface Web pour bien connue et puissante
http://www.capify.org/
Outil de déploiement. Nous avons créé des recettes de déploiement. Cela fait sur ce qui suit:
Webistrano entre le serveur via ssh En tant qu'utilisateur deploy
Il met à jour la copie de travail à distance du cache
Il copie le flux de travail reçu dans le dossier de sortie. // Utiliser des liens durs (Pour économiser de l'espace sur le disque et augmenter la vitesse).
Lie les données client (celles. Fichiers non stockés dans Subversion) Aux bons endroits.
Le nouveau problème est changé sur 775, Fournir un groupe d'entrées.
Si toutes les étapes ci-dessus réussissent, il modifie le lien symbolique "actuel" vers le dossier. / Release //.
Il effectue "élégant apache2ctl» Nettoyer les caues (tel que realpath ()), Qui a toujours mis en cache le problème précédent.
Si un problème plus définitif est enregistré, le plus ancien est supprimé.
Le serveur Web est configuré de manière à ce que le répertoire racine de l'hôte virtuel indique la liaison symbolique "actuelle", donc au cours du déploiement de l'ancien site est visible et après le déploiement avec succès, le nouveau site apparaît instantanément.
Le code appartient deploy: deploy, Mais les catalogues de données client appartiennent deploy: upload
et
Installer leurs bits SGID en créant.
Utilisateur Apache www-data Inclus dans le groupe "Déploiement" et "Télécharger". Les développeurs ont des comptes personnels scp Sur le serveur et sont membres du groupe upload. Ce paramètre fonctionne très bien pour nous, car les développeurs ne peuvent pas interagir avec le code sauf par Webistrano. Il empêche des "fixes rapides", à l'exception des administrateurs et réduit considérablement le nombre d'accidents. Fonction de kickback intégrée Webistrano Vous permet d'annuler rapidement le déploiement erroné.
Les développeurs sont fournis avec accès aux enregistrements pour les répertoires de données client. (À cause du groupe de téléchargement), Ils peuvent donc télécharger le contenu de remplacement ou aider le client à pré-remplir le site. En fin de compte, dans svn Aucun contenu client n'est stocké. Bit SGID Les catalogues garantissent que seul l'utilisateur possédant des fichiers téléchargés est défini pour le chargement de l'utilisateur. (Fournir une petite responsabilité). La propriété du groupe reste établie SGID sur "déchargement" donc Apache Ou d'autres développeurs peuvent toujours lire et enregistrer des fichiers et des répertoires créés.
Interface compréhensible Webistrano s'est avéré être très utile et parce que Capistrano Il possède la plupart des fonctionnalités intégrées, nos recettes de déploiement comprennent seulement deux douzaines de lignes. Pour la plupart, il remplace les paramètres par défaut pour Ruby-on-Rails.
Blanche
Confirmation de:
Chaque personne peut corriger sur le serveur SVN Et au lieu de jouer avec des droits apache, Créez un utilisateur sur un serveur de fabrication et ajoutez un serveur SFTP.
Tous fonctionnent avec leurs fichiers et lors de la répartition sur le serveur SVN Terminé, ils utilisent leur client SFTP pour lancer leurs fichiers en production (Comme ils utiliseront tous le même utilisateur, vous ne vous inquiétez pas des droits).
En fait, avant de lancer en production, vous devez disposer d'un serveur supplémentaire pour se préparer à la production.
Avant chaque fixation sur le serveur de travail, ils ajouteront leurs fichiers à un serveur préliminaire, ce qui doit idéalement être une copie précise du serveur d'exploitation.
Lorsque les modifications sont confirmées, elles peuvent exécuter des fichiers en production.