Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

mercurial-server [12/03/2007 14:37] (Version actuelle)
bug Installation des dépôts avec DokuWiki
Ligne 1: Ligne 1:
 +~~NOTOC~~
 +====== Serveur de dépôts Mercurial ======
  
 +Mise en place de dépôts Mercurial avec accès en écriture utilisant les comptes de DokuWiki.
 +
 +===== DokuWiki =====
 +
 +Vérifiez que les mots de passe des utilisateurs sont stockés selon :
 +
 +<code php>
 +$conf['​passcrypt'​] = '​smd5';​
 +</​code>​
 +
 +les mots de passe dans users.auth.php ressemblent alors à ceci :
 +
 +<​code>​
 +user:​$1$157382ed$u3AEZpF5xZMNlWGfHZdn6/:​...
 +</​code>​
 +
 +
 +===== Répertoire des dépôts =====
 +
 +Dans notre cas, le répertoire servant de point d'​entrée pour les dépôts Mercurial est dans l'​arborescence de DokuWiki (''/​home/​www''​). Il contient les fichiers hgwebdir.cgi,​ hgweb.config et .htaccess. Les dépôts sont stockés dans le répertoire ''/​home/​hg''​. ​
 +
 +==== hgweb.config ====
 +
 +<​code>​
 +[collections]
 +/home/hg = /home/hg
 +
 +[web]
 +style = gitweb
 +</​code>​
 +
 +==== .htaccess ====
 +
 +<code apache>
 +DirectoryIndex hgwebdir.cgi
 +Options ExecCGI FollowSymLinks
 +
 +RewriteEngine On
 +RewriteBase /​home/​www/​hg
 +
 +RewriteCond %{REQUEST_URI} !^/​hg/​hgwebdir\.cgi.*
 +RewriteRule (.*) /​hg/​hgwebdir.cgi/​$1 [PT]
 +
 +RewriteRule ^$ hgwebdir.cgi ​ [L]
 +RewriteCond %{REQUEST_FILENAME} !-f
 +RewriteCond %{REQUEST_FILENAME} !-d
 +RewriteRule (.*) hgwebdir.cgi/​$1 ​ [QSA,L]
 +
 +<Limit POST>
 +AuthType Basic
 +AuthName Users
 +AuthUserFile /​home/​www/​conf/​users.auth.php
 +Require valid-user
 +</​Limit>​
 +</​code>​
 +
 +
 +===== Dépôts =====
 +
 +Une première copie de chaque dépôt est copiée dans ''/​home/​hg''​ et les droits d'​écriture sont donnés à l'​utilisateur exécutant le serveur Apache. Puis un fichier ''​hgrc''​ est ajouté dans le répertoire ''​.hg/''​ du projet :
 +
 +<​code>​
 +[web]
 +contact = someone
 +allowgz = true
 +allowzip = false
 +allowbz2 = false
 +style = gitweb
 +allow_push = *
 +</​code>​
 +
 +Dans le cas où seuls certains utilisateurs doivent pouvoir consigner des modifications dans le dépôt, il convient de mettre en place une ligne allow_push appropriée,​ par exemple :
 +
 +<​code>​
 +allow_push = bug,​bboett,​adlp
 +</​code>​