=?iso-8859-1?q?Prot=E9ger_ma_config?=

Bonjour,

je suis en train de mettre en place un application pour l’instant je
suis
toute seule mais plus tard il y aura d’autre developeur.
Mon DSI m’a demandé si il serait possible de protéger le fichier
database.yml
Donc il y a t il une solution pour crypter ce fichier ou autre chose. Si
chnage les droits d’acces du dossier config afin que personne ne puisse
acceder je pourrais plus utiliser mon application ?

Merci

2006/9/11, Bolo M. [email protected]:

Si chnage les droits d’acces du dossier config afin que personne ne puisse
acceder je pourrais plus utiliser mon application ?

Il faut simplement que ce fichier soit lisible pour l’utilisateur qui
démarre l’application … Donc, soit vous (si c’est avec webrick), soit
l’utilisateur qui démarre le serveur web (http, www ou www-data la
plupart
du temps). Il n’y a à ma connaissance pas de moyen de crypter ce fichier
mais je ne connais pas tous les rouages de rails en profondeur.

Bonjour Bolo

une première chose qu’il est bon de faire (si tu ne l’as pas déjà
fait) pour sécuriser, c’est de supprimer le vrai database.yml de
subversion, et de le remplacer par un database.yml.sample dans lequel
tu supprime le mot de passe voire le login. Ainsi ta gestion de
configuration ne contient pas d’élément critique (= un développeur ou
autre personne ayant accès à subversion n’aura pas d’information lui
permettant d’accéder à la prod).

Lors du déploiement tu peux copier database.yml.sample en
database.yml, et le modifier de façon à correspondre à ta
configuration de prod (au besoin tu peux automatiser cette étape).

hth

Thibaut

[blog] NEWS - Online News PortalNEWS

Donc si je comprends bien je supprime le fichier database.yml. Mais si je
fais il ne pourra faire des tests en local ?

sur les postes de développement, tu feras une copie de
database.yml.sample vers database.yml (ainsi chaque développeur peut
paramétrer le nom de sa base, le login et password).

il est souhaitable aussi de marquer ce vrai database.yml avec
svn:ignore pour qu’il ne soit pas ajouté sous subversion par erreur.

Tu peux m’en dire un peu plus sur l’automatisation ?

si tu utilises capistrano, tu peux utiliser une tache
:after_update_code pour réaliser cela:

ex:
http://svn.aviditybytes.com/rails/libs/segpub_capistrano_recipe/deploy.rb

Thibaut

Il faut simplement que ce fichier soit lisible pour l’utilisateur qui
démarre l’application … Donc, soit vous (si c’est avec webrick), soit
l’utilisateur qui démarre le serveur web

ok.

une première chose qu’il est bon de faire (si tu ne l’as pas déjÃ
fait) pour sécuriser, c’est de supprimer le vrai database.yml de
subversion, et de le remplacer par un database.yml.sample dans lequel
tu supprime le mot de passe voire le login. Ainsi ta gestion de
configuration ne contient pas d’élément critique (= un développeur ou
autre personne ayant accès à subversion n’aura pas d’information lui
permettant d’accéder à la prod).

Donc si je comprends bien je supprime le fichier database.yml. Mais si
je
fais il ne pourra faire des tests en local ?

Lors du déploiement tu peux copier database.yml.sample en
database.yml, et le modifier de façon à correspondre à ta
configuration de prod (au besoin tu peux automatiser cette étape).

Tu peux m’en dire un peu plus sur l’automatisation ?

Merci

2006/9/11, Thibaut Barrère [email protected]:

sur les postes de développement, tu feras une copie de
database.yml.sample vers database.yml (ainsi chaque développeur peut
paramétrer le nom de sa base, le login et password).

J’ai pas bien compris ta phrase. Sur le poste de développement , je
remplace database.yml "sample par le fichier database.yml ou l’inverse
?

Ce que tu me conseilles si j’ai tout suivi :slight_smile:
Sur mon serveur de production d’utiliser un ficher database.yml et sur
mon serveur de test d’utiliser un autre fichier database.yml. Ce
dernier ne contenant rien de critique.

il est souhaitable aussi de marquer ce vrai database.yml avec
svn:ignore pour qu’il ne soit pas ajouté sous subversion par erreur.

à chaque fois je vois que tu parles de subversion. Je pensais que tu
parlais du dossier config mais je me trompe.
C’est quoi subversion ? Ce n’est pas la même chose que CVS ?

Merci

sur tous les postes (développement ou prod), tu copies database.yml.samplevers
database.yml

ok je comprends

et tu le modifies localement.

donc sur mon poste ou sur le poste d’un autre dévelopeur.

Un truc que je comprends pas bien avec subversion. Je crée un dossier
subversion. Je déploi mon application dedans.
Donc sur mon serveur web, il y un seul dossier “subversion” contenant
mon
application. Et c’est ce contenu que le public visualise ?
C’est ca ou je suis completement à coté la plaque ?

J’ai pas bien compris ta phrase. Sur le poste de développement , je
remplace database.yml "sample par le fichier database.yml ou l’inverse
?

sur tous les postes (développement ou prod), tu copies
database.yml.samplevers
database.yml et tu le modifies localement.

Ce que tu me conseilles si j’ai tout suivi :slight_smile:

Sur mon serveur de production d’utiliser un ficher database.yml et sur
mon serveur de test d’utiliser un autre fichier database.yml. Ce
dernier ne contenant rien de critique.

c’est ça!

il est souhaitable aussi de marquer ce vrai database.yml avec

svn:ignore pour qu’il ne soit pas ajouté sous subversion par erreur.

à chaque fois je vois que tu parles de subversion. Je pensais que tu
parlais du dossier config mais je me trompe.
C’est quoi subversion ? Ce n’est pas la même chose que CVS ?

Subversion c’est le successeur de CVS (c’est le système de gestion de
configuration le plus utilisé quand on travaille sous rails).

Tu peux en lire davantage

a+!

Thibaut

Salut,

sur tous les postes (développement ou prod), tu copies
database.yml.sample vers database.yml
ok je comprends
et tu le modifies localement.
donc sur mon poste ou sur le poste d’un autre dévelopeur.

Un truc que je comprends pas bien avec subversion. Je crée un
dossier subversion. Je déploi mon application dedans.
Donc sur mon serveur web, il y un seul dossier “subversion”
contenant mon application. Et c’est ce contenu que le public
visualise ?
C’est ca ou je suis completement à coté la plaque ?

Dans svn tu as un repository, cad une bdd gérée par svn qui est
constituée d’un dossier avec des fichiers de bdd, pas tes fichiers.
Pour mettre des fichiers sous contrôle tu dois les importer dans ta
repository (svn add et import). Puis plus tard tu mettras à jour tes
fichiers sous contrôle par des commits (svn commit). Pour accéder à
tes fichiers, il te faut les exporter (svn co).

La procédure pour mettre en place un projet svn :
1 importe tout un dossier : svn import . http://ton-repos-en-ligne-ou-
local
2 tu sors du dossier importé et tu le sauvegarde au cas ou : cd … + mv
3 tu exportes la dernière version de ton repos. (que tu viens
d’importer) : svn co http://ton-repos-en-ligne-ou-local
4 ajouter/supprimer fichier du contrôle : svn add file - svn remove file
5 enregistrer les modifs faites sur tes fichiers : svn commit -m
‘message obligatoire’

Personne ne pourra t’aider davantage ici, faut apprendre en lisant/
testant, c’est pas super amusant au départ mais ça devient très
puissant et pratique avec le temps.

Le livre gratuit sur Subversion : http://svnbook.red-bean.com/

J’imagine que quelqu’un a des docs un peu plus courtes à conseiller à
Bolo, moi je n’en connais pas…

Good luck,
NP_______________________________________________
Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Je me suis peut être mal fait comprendre. Je ne demandais de faire qqch
pour
moi. Mais simplement de comprendre l’interet de subversion dans un
projet
Rails

Utiliser subversion permet de travailler à plusieur si j’ai bien
compris.Donc j’ai bien compris également qu’il fallait mettre le fichier
sample databse.yml. Ainsi qd qqn récupère la dernière version de
l’application. Il ne possède pas les données critiques liés a la bdd

Quand je déploirais mon application avec Capistrano ( si j’ai tout
suivi),
C’est à ce moment la que je met le bon fichier database.yml
C’est ca que je voudrais savoir, si j’ai compris le mécanisme

ps: Peut on déployer une partie de l’application avec Capistrano. Tout
sauf
le fichier database.yml

J’avais trouvé ce lien dans le wiki
http://wiki.rubyonrails.org/rails/pages/HowtoUseRailsWithSubversion

Le 11/09/06, Zambra [email protected] a écrit :

Utiliser subversion permet de travailler à plusieur si j’ai bien
compris.Donc j’ai bien compris également qu’il fallait mettre le fichier
sample databse.yml. Ainsi qd qqn récupère la dernière version de
l’application. Il ne possède pas les données critiques liés a la bdd

Subversion joue le même rôle que CVS : il sert à stocker les sources de
l’application et se souvient de leur historique. Mais il est plus évolué
que
SVN et corrige les lacunes de ce dernier.

Tu ne stockes en effet (dans ma suggestion en tout cas) qu’un
database.yml.sample. Ainsi un développeur qui arrive sur le projet
récupère
le code source le plus récent depuis Subversion, et dispose d’un modèle
(
database.yml.sample) à partir de laquelle il peut créer facilement le
vrai
fichier de configuration (database.yml).

Quand je déploirais mon application avec Capistrano ( si j’ai tout
suivi),

C’est à ce moment la que je met le bon fichier database.yml
C’est ca que je voudrais savoir, si j’ai compris le mécanisme

Capistrano sert en effet à déployer les applications rails (c’est
vraiment
le moyen recommandé).

Si tu t’en sers (ce que je te conseille, sauf si ton serveur de prod est
sous windows car capistrano ne gère pas windows comme plateforme de
déploiement), tu pourras l’utiliser pour placer le bon fichier
database.ymlou le créer (on peut faire plein de choses avec
capistrano).

Si tu ne t’en sers pas, tu pourras quand même réaliser la même opération
Ã
la main, ça fonctionne aussi.

voilà j’espère que c’est plus clair!

Thibaut

Merci,thibaut
j’ai tout compris :slight_smile:

2006/9/11, Thibaut Barrère [email protected]:

Le livre gratuit sur Subversion : http://svnbook.red-bean.com/

J’imagine que quelqu’un a des docs un peu plus courtes à conseiller à
Bolo, moi je n’en connais pas…

Il y a celui là qui est pas mal pour windows :

et en anglais avec Eclipse (pour ceux qui utilisent Radrails) :
http://www-128.ibm.com/developerworks/opensource/library/os-ecl-subversion/

Pas toutes et rajoute ses propres problèmes (mais c’est une autre
discussion).

tout à fait d’accord (tout à fait d’accord aussi).

merci pour le lien vers ton papier!

Thibaut

On 9/11/06, Thibaut Barrère [email protected] wrote:

l’application et se souvient de leur historique. Mais il est plus évolué que
SVN et corrige les lacunes de ce dernier.

Pas toutes et rajoute ses propres problèmes (mais c’est une autre
discussion).

Les gens intéressés par ce genre de discussion peuvent lire mon papier
sur FreeBSD et Mercurial (http://www.keltia.net/freebsd/) mais pas ici
pour ne pas polluer.

Résumé : si le problème est CVS, la réponse n’est pas forcément SVN… :slight_smile: