# uname -a

Switch

samedi 26 novembre 2011

Git push origin master : erreur 22

Petite note pour eux qui ont comme moi suivi les conseils et les exemples sur Internet pour installer un serveur Git avec WebDAV, il faut savoir que c’est comme avec Subversion, le serveur WebDAV aime pas trop les protocoles loufoques (https, as-t-on idée ?), et qu’il faut lui expliquer gentiment de faire de la substitution de protocole, pour le calmer.

Bref, comme j’ai cherché pendant trois heures, je vous livre la solution à cette erreur 22, il faut expliquer à Apache de remplacer https par http lorsqu’il passe à WebDAV.

RequestHeader edit Destination ^https http early

En principe ça ne change rien sur le fait que la connexion soit chiffrée, ça calme juste le module WebDAV derrière, pour qu’il retrouve ses petits. Autre petite astuce, pour éviter que un client un peu bête ne passe sur le http parce qu’il a pas compris :

SetEnv redirect-carefully 1

Et en exclusivité mondiale, je vous livre ma configuration, au cas où ça vous serait utile :

Pour Subversion :

        SetEnv redirect-carefully 1
        RequestHeader edit Destination ^https http early
        <Directory /path/to/repos/>
                AllowOverride None
                Options Indexes
                Order allow,deny
                Allow from all
        </Directory>

        <Location /repos>
                DAV svn
                SVNPath /path/to/repos/
                SetEnv redirect-carefully 1

                AuthType Basic
                Authname "Subversion repository"
                AuthUserFile /path/to/passwd
                AuthzSVNAccessFile /path/to/authz

                # Repository accessible en lecture sans identification
                <LimitExcept GET PROPFIND OPTIONS REPORT>
                        Require valid-user
                </LimitExcept>
        </Location>

Pour Git :

        SetEnv redirect-carefully 1
        RequestHeader edit Destination ^https http early

        Alias /repos /path/to/repos

        <Directory /path/to/repos>
                AllowOverride None
                Options Indexes MultiViews
                Order allow,deny
                Allow from all
        </Directory>

        <Location /repos>
                DAV on
                SetEnv redirect-carefully 1

                AuthType Basic
                Authname "Git repository"
                AuthUserFile /path/to/repos

                #Oui, normalement là il faudrait une gestion des groupes pour read/write mais bon...
                #<LimitExcept GET PROPFIND OPTIONS REPORT>
                        Require valid-user
                #</LimitExcept>
        </Location>

jeudi 11 novembre 2010

Lancer un programme .NET sous Ubuntu ? Trop facile !

windows-oups-1.png

J'ai été très étonné, j'ai réussi à lancer le simulateur réseau que l'on utilise en TP sous Windows directement sur mon Ubuntu, sans avoir à installer Wine. Comment ? Quelques incantations au dieu des programmes .NET : Mono.

En fait ça aurait marché tout seul si le programme ne voulait pas la version 1.0 de mono (moi j'ai la 2.0, je suis moderne ;) ), il me disait :

The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/1.0/mscorlib.dll' directory.

J'ai donc installé Mono 1.0, en installant winforms1.0-cil, qui contient les dépendances nécessaires (oui bon avant de le savoir j'ai tenté des trafics avec des ln -s /usr/lib/mono/2.0/ /usr/lib/mono/1.0/ mais ça plante assez quand c'est installé correctement, on va pas en rajouter). J'ai donc fait :

sudo apt-get install libmono-winforms1.0-cil

Et là miracle, le programme se lance ! Bon il y a des petits problèmes, comme d'habitude, au niveau du placement des composants cliquables, les accents qui ne fonctionnent pas, mais le programme tourne, et ça c'est chouette !

samedi 10 juillet 2010

VNC inversé et traversée de pare feu

Ce billet décrit en détail comment mettre en place un dispositif de contrôle à distance via le logiciel VNC, fonctionnant en mode inversé (le client est serveur et le serveur est client) en traversant les deux pare feu à la fois autour du client et du serveur, en se servant d'une machine relais.

Lire la suite...

dimanche 27 décembre 2009

rsync est ton ami

Pour copier en SSH en conservant les liens symboliques tel des liens symboliques :

rsync -azuv -e ssh user@xx.xx.xx.xx:public_html/* public_html/

Source