Pix, Unix, Agility & Co

Aller au contenu | Aller au menu | Aller à la recherche

samedi 2 février 2013

Commandes utiles pour activer un compte github

Pour protéger les synchronisations entre le dépot git local et celui stocké sur github nous utilisons une paire de clé publique/privée. Pour générer ce couple de clés on peut utiliser la commande :

$ ssh-keygen -t rsa -C "mon-nom@mondomaine.fr" -f githubrsa

Il nous faut ensuite déposer la clé publique dans le compte github au moyen de l'interface web. La clé privée est déposée dans : ~/.ssh/

Pour faciliter l'utilisation on définit un alias grace au fichier de config : ~/.ssh/config

 Host github
      Hostname github.com
      Port 22
      User git
      IdentityFile ~/.ssh/githubrsa

jeudi 5 juillet 2012

Installer un MoinMoin wiki sur RHEL 6.2

Une rapide recherche avec yum et c'est la déception :

 # yum search moin
 ...
 ================================= Matched: moin =================================
 lx.x86_64 : Converts PBM data to Lexmark 1000 printer language
 #

Il faut donc se résoudre à travailler à l'ancienne à partir de l'archive tgz. Le site de référence est alors la principale source d'information : http://moinmo.in/ J'ai ensuite travaillé avec la version 1.9.4 de moin moin et le HowTo Quick MoinMoin on CentOS qui s'approche sûrement le plus de ce que je vais rencontrer sur la RHEL.


Pré-requis

Je travaille sur RHEL 6 x86_64 sur laquelle apache 2.2.x et python dans mon cas 2.6.x sont déjà présents. Je vais ajouter mod_wsgi pour servir des applications web basées sur python :

 # yum install mod_wsgi
 ...
   Installed:
   mod_wsgi.x86_64 0:3.2-1.el6                                                                                                                                
 Complete!
 #


Installation MoinMoin

Je me place dans un répertoire MoinMoinWiki dans mon home qui servira de base à l'installation et je travaille en tant que root.

 # wget http://static.moinmo.in/files/moin-1.9.4.tar.gz
 # tar xzvf moin-1.9.4.tar.gz
 # cd moin-1.9.4
 # ls -rtl
 total 72
 -rw-rw-r--  1 1000 1000  1025  7 févr. 22:36 MANIFEST.in
 -rw-rw-r--  1 1000 1000 13704  7 févr. 22:36 setup.py
 -rw-rw-r--  1 1000 1000   238  7 févr. 22:36 setup.cfg
 -rw-rw-r--  1 1000 1000  2458  7 févr. 22:36 README
 -rw-rw-r--  1 1000 1000  1992  7 févr. 22:36 moin.spec
 -rwxrwxr-x  1 1000 1000  1251  7 févr. 22:36 wikiserver.py
 -rw-rw-r--  1 1000 1000   818  7 févr. 22:36 wikiserverlogging.conf
 -rw-rw-r--  1 1000 1000  3087  7 févr. 22:36 wikiserverconfig.py
 -rw-rw-r--  1 1000 1000  2259  7 févr. 22:36 wikiconfig.py
 drwxrwxr-x  6 1000 1000  4096  7 févr. 22:39 wiki
 -rw-rw-r--  1 1000 1000  3203  7 févr. 22:39 PKG-INFO
 drwxrwxr-x 29 1000 1000  4096  7 févr. 22:39 MoinMoin
 drwxrwxr-x  3 1000 1000  4096  7 févr. 22:39 jabberbot
 drwxrwxr-x  3 1000 1000  4096  7 févr. 22:39 docs
 drwxrwxr-x 10 1000 1000  4096  7 févr. 22:39 contrib
 #

On remarque le répertoire docs et notamment docs/README_FIRST qui est la source d'information pour les détails sur l'installation et enfin on lance l'installation au moyen du script python setup.py :

 #python setup.py install --force --prefix /usr/local --record=install.log


Configuration du serveur

 # cd /usr/local/share/moin/
 # ls -rtl
 total 16
 drwxr-xr-x 5 root root 4096  5 juil. 11:55 config
 drwxr-xr-x 3 root root 4096  5 juil. 11:55 underlay
 drwxr-xr-x 2 root root 4096  5 juil. 11:55 server
 drwxr-xr-x 7 root root 4096  5 juil. 11:55 data
 #

On copie le répertoire /usr/local/share/moin et sa sous-arborescence dans un dossier spécifique à l'instance que l'on veut créer par exemple /appli/wikis/da/ (étape facultative) :

 # cp -pR /usr/local/share/moin /appli/wikis/da/

On active les fichiers de configuration en les copiant dans le dossier père :

 # cd /appli/wikis/da/moin
 # cp server/moin.wsgi .
 # cp config/wikiconfig.py .


Le VirtualHost apache

Il nous faut maintenant modifier la configuration apache :

 # cd /etc/httpd/conf

après une petite sauvegarde du httpd.conf on peut l'éditer pour ajouter en fin de fichier :

 #
 #  MoinMoin WSGI configuration
 #
 <VirtualHost wiki-da.mondomaine.fr:80>
    ServerName wiki-da.mondomaine.fr
    ServerAdmin admin@wiki-da.mondomaine.fr
    LoadModule wsgi_module modules/mod_wsgi.so
    # you will invoke your moin wiki at the root url, like http://wiki-da.mondomaine.fr/FrontPage:
    WSGIScriptAlias /   /usr/local/share/moin/moin.wsgi
    # create some wsgi daemons - use user/group same as your data_dir:
    WSGIDaemonProcess moin user=apache group=apache processes=5 threads=10 maximum-requests=1000 umask=0007
    # use the daemons we defined above to process requests!
    WSGIProcessGroup moin
    # WSGISocketPrefix
    WSGISocketPrefix /var/run/moin-wsgi
 </VirtualHost>

Ne pas oublier de demande à Apache d'écouter sur le port sur lequel on a configuré le VirtualHost.


Le mod_wsgi

On édite :

 # vim /appli/wikis/da/moin/moin.wsgi

Pour y ajouter les lignes suivantes :

* paragraphe a1) :
 sys.path.insert(0, '/usr/local/lib/python2.6/site-packages')
* paragraphe a2) :
 sys.path.insert(0, '/appli/wikis/da/moin')

On doit ensuite penser à ajuster les droits :

 # cd /usr/local/share
 # chown -R apache:apache moin
 # chmod -R 0770 moin

et de la même façon pour /appli/wikis/da/moin.

On redémarre apache avant de tester voir si tout cela a servi à quelque chose :

 # /etc/init.d/httpd restart


Configuration de base de l'application MoinMoin

Dans le fichier /appli/wikis/da/moin/wikiconfig.py on décommente les lignes suivantes :

 vim wikiconfig.py

Pour activer l'affichage de la page d'accueil du wiki :

 page_front_page = u"FrontPage"

Pour déterminer le compte administrateur fonctionnel :

 superuser = [u"WikiAdmin", ]

Pour que les modifications soient prises en compte il faut sauvegarder le fichier et relancer le serveur apache.


Ajouter une authentification basée sur un LDAP

Je m'appuie sur la documentation fournie sur le site officiel : http://moinmo.in/HelpOnAuthentication qui décrit différents mécanisme d'authentification dont un travaille avec la classe MoinMoin.auth.ldap_login.LDAPAuth.

jeudi 23 février 2012

Sauvegarde et restauration d'un dépot de code sous Subversion

En supposant que je sauvegarde ainsi le contenu de mon dépot de cote :

/usr/bin/svnadmin dump /var/svn/repos > /home/sauvegarde/sauv_svn/sauv_svn_dev1.bak

La commande pour restaurer cette sauvegarde dans un nouveau dépot sera :

/usr/bin/svnadmin load /var/svn/repos < /home/sauvegarde/sauv_svn/sauv_svn_dev1.bak

C'est presque trop simple

mardi 12 juillet 2011

Saison 1, panier 6

Cette semaine, nous allons aider Maxime à préparer les paniers un petit quart d'heure avant l'arrivée des mangeurs. Maxime arrive avec des grandes caisses de légumes.

Alex est venue avec moi nous sommes donc à trois. Nous déchargeons les légumes. Puis après avoir disposé des cagettes sur la grande table nous commençons à diviser la récolte en 13 parts en commençant par les patates et les courgettes plus lourds. En 15 minutes, les paniers sont constitués, les premiers mangeurs arrivent et nous finissons en re-divisant les demi-paniers en deux.

Le demi-panier comprend :

  • la traditionnelle cargaison de tomates des petites, des vertes, des grosses cœurs de bœuf
  • une grosse courgette
  • un concombre
  • 3 poivrons
  • une salade
  • des patates

mardi 5 juillet 2011

Saison 1, panier 5

Cette semaine, nous avons :

  • une nouvelle cargaison de tomates des petites, des vertes, des grosses cœurs de bœuf
  • 2 concombres
  • 2 grosses courgettes
  • des pommes de terre
  • 2 poivrons
  • un piment
  • une salade
  • quelques feuilles de blettes

Les tomates et les courgettes donnent à plein régime. Maxime nous explique que les melons commence à se former mais qu'ils seront tardifs en août et septembre.

mardi 28 juin 2011

Saison 1, panier 4

Cette semaine au programme :

  • une cargaison de tomates des petites, des vertes, des grosses coeurs de boeuf
  • un concombre
  • 2 courgettes
  • 2 petites aubergines
  • une salade
  • un gros piment
  • 2 poivrons dont un violet
  • quelques feuilles de blette

Sur les conseils de mon collègue Patrick, un ancien cuisinier, nous avons tenté une poêlée de courgette au curry. C'est délicieux et facile à réaliser.

mardi 21 juin 2011

Troisième panier

On va finir par s'habituer au rythme.

Cette semaine, nous avons :

  • 1/2 salade
  • 1 piment vert
  • 1 poivron presque noir (violet très foncé)
  • 1 concombre
  • 2 courgettes
  • quelques petites patates à la peau rose
  • des tomates de 2 ou 3 variétés : des grosses style cœur de bœuf et des petites pour les salades dont l'une est verte panachée de orange...
  • quelques feuilles de blette pour la farce
  • des lentilles

Il y a un peu plus de monde lorsque je récupère le panier, les gens discutent, c'est sympa.

mardi 14 juin 2011

Second panier

Et voilà nouvelle semaine égal nouveau panier !

Cette semaine nous avions :

  • 2 petites salades
  • 2 courgettes
  • 1 botte de feuilles de blette
  • des petites tomates
  • des pommes de terre nouvelles
  • 1 paquet de lentilles vertes
  • 1 plan de persil plus un second car Maxime en avait en rab

Depuis la semaine dernière, j'ai vérifié le montant exact pour ne pas vous raconter de bêtise. Nous payons 376,80 euros pour notre demi-panier pendant huit mois. Ce qui fait le demi-panier à un peu moins de 11 euros par semaine. Nous avons donné en signant le contrat 8 chèques et le maraîcher en encaisse un en début de chaque mois.

mardi 7 juin 2011

1er panier de légumes

Voilà bien longtemps que je ne vous avez rien donné à lire.

Cette année pour nous fournir en légumes frais et de saison, nous avons choisi de rejoindre l'AMAP en Naudet. L'AMAP, association pour le maintien d'une agriculture paysanne, c'est une solution pour soutenir une production locale de denrées alimentaires. Le principe est qu'un groupe de mangeurs s'associent à un paysan. Le paysan produit et les mangeurs se régalent. On s'engage sur une saison de production, on n'achète pas x Kg de légume mais une part de la production. Les bonnes années, on peut faire des conserves et les mauvaises on fait le régime. Dans tous les cas on est solidaire de notre producteur, d'ailleurs on le connaît il nous livre les légumes et nous fait visiter son exploitation. Entre 2 saisons, on se met d'accord avec lui pour voir quels légumes seront mis en culture... Ainsi petit à petit une relation de confiance doit se tisser, nous lui garantissons un revenu pour vivre de son travail et il nous garantit une alimentation saine et de saison produite dans le respect de la nature.

Pour notre premier panier nous avons découvert :

  • 1 petite salade
  • 2 courgettes
  • des feuilles de blettes
  • 1 concombre
  • des lentilles
  • 1 plant de basilic à petite feuille à planter dans notre jardin pour assaisonner nos recettes cet été

Cela correspond en fait à un demi panier, conseillé pour 2 mangeurs, notre producteur est certifié agriculture Bio. Nous sommes au début de la saison, les production ne donne pas encore à plein, les paniers vont grossir pendant la belle saison puis diminuer à nouveau vers l'hiver venu.

Si vous êtes intéressés vous aussi vous pouvez consulter le site du réseau Midi-pyrénéen pour trouver une AMAP où il reste encore des places près de chez vous.

mercredi 15 décembre 2010

Subversion et authentification LDAP

Installation sur GNU-Linux Debian

Ajouter les paquets : subversion, apache2 (si il n'est pas déjà présent) et libapache2-svn

Création d'un premier Repository :

   dev1:/etc/ssh# cd /var
   dev1:/var# mkdir svn
   dev1:/var# cd svn
   dev1:/var/svn#
   dev1:/var/svn# svnadmin create /var/svn/repos
   dev1:/var/svn# ls -rtl
   total 4
   drwxr-xr-x 6 root root 4096 mai 29 11:34 repos
   dev1:/var/svn#

On crée un utilisateur dédié à SVN :

   dev1:/var/svn# adduser –shell /bin/null svn

puis on lui attribue la propriété des dépots :

   dev1:/var/svn# chown -R svn:svn /var/svn

On ajoute les utilisateurs Unix pour qu'ils puissent utiliser svn au groupe svn du système par exemple :

   adduser <user> svn

On configure le VirtualHost Apache pour que le mod_dav de svn soit accessible :

   dev1:/etc/apache2/sites-available# cat 001-svn
   <VirtualHost 192.168.1.7>
   ServerName svn.dev1.mondomaine.fr
   ServerAdmin admin@mondomaine.fr
   <Location /repos>
   DAV svn
   SVNPath /var/svn/repos
   </Location>
   </VirtualHost>
   dev1:/etc/apache2/sites-available
   #

On limite l'accès via Apache, en créant un fichier de mots de passe basique comme ceci :

   dev1:/var/svn/repos/conf# htpasswd -c -m /var/svn/repos/conf/htpasswd monutilisateur
   New password:
   Re-type new password:
   Adding password for user monutilisateur
   dev1:/var/svn/repos/conf
   #

Pour rajouter un utilisateur, il suffit de supprimer l'option ”-c” à la commande. Puis on modifie la config du VirtualHost pour prendre en compte l'authentification.

   <VirtualHost 192.168.1.7>
   ServerName dev1.mondomaine.fr
   ServerAdmin admin@mondomaine.fr
   <Location /repos>
   DAV svn
   SVNPath /var/svn/repos
   AuthType Basic
   AuthName “Depot subversion dev1”
   AuthUserFile /var/svn/repos/conf/htpasswd
   Require valid-user
   </Location>
   </VirtualHost>

Pour ne pas avoir de problème en écriture il nous faut ajouter www-data dans le groupe svn.

La config apache2 pour l'authentification via le LDAP :

<Location /svn >
       DAV svn
       SVNParentPath /var/lib/svn
       Options Indexes FollowSymLinks
       order allow,deny
       allow from all
       AuthType Basic
       AuthName "Mon depot sur dev1"
       AuthBasicProvider ldap
       AuthLDAPURL "ldap://ldap.mondomaine.fr/ou=developpeur,ou=monorganisation,o=asso,c=fr?uid"
       Require valid-user
       ErrorDocument 404 default
</Location>

Il faut également activer le module Authnz_ldap pour que la configuration ci-dessus est un sens :

#  a2enmod authnz_ldap
Considering dependency ldap for authnz_ldap:
Enabling module ldap.
Enabling module authnz_ldap.
Run '/etc/init.d/apache2 restart' to activate new configuration!
#

puis comme indiqué dans le résultat de la commande demander un restart d'apache2.

- page 1 de 3