Haut de page

Serveur SVN-Trac


Généralités

Mise en place d'un serveur Subversion (SVN) couplé avec l'environnement de travail collaboratif Trac sur un serveur MacOS X. L'installation doit permettre de gérer des projets avec des chefs de projets autonomes. Elle doit être faite sans avoir besoin des droits d'administrateurs (sauf pour lancer le serveur https et mettre en place des certificats de sécurité). Pour cela tout sera mis en place dans un répertoire particulier. Pour permettre les mises à jour des différents logiciels, on mettra en place une notion de current pointant vers la version courante.


Détails

Création de deux arborescences toutsvn et repository.

toutsvn
  • archives
    • authzwebadminplugin.zip
    • clearsilver-0.9.14.tar.gz
    • docutils-0.4.tar.gz
    • ...
Tous les fichier .tar.gz des logiciels à installer
  • conf
    • httpd
      • certs
      • current
lien current -> /toutsvn/conf/httpd/versions/a
      • versions
        • a
          • ...
          • httpd.conf
          • ...
          • ssl.conf
          • trac.conf
          • vhost.conf
    • trac
      • trac.ini
  • current
lien current -> /toutsvn/versions/a
  • util
    • bin
      • compil.sh
      • create_repos.sh
Utilitaires
  • versions
    • a
      • bin
      • build
      • cgi-bin
      • conf
lien conf -> /toutsvn/conf/httpd/versions/a
      • error
      • ...
      • lib
        • apr.exp
        • ...
        • python2.4
          • site-packages
            • docutils
            • easy-install.pth
            • mod_python
            • neo_cgi.o
            • pysqlite2
            • svn.pth
contient /toutsvn/versions/a/lib/svn-python
            • trac
            • TracAccountManager-0.1.3dev_r2171-py2.4.egg
            • TracWebAdmin-0.1.2dev_r4429-py2.4.egg
            • TracWebAdminAuthz-0.2.1-py2.4.egg
        • svn-python
      • logs
        • access_log
        • error_log
      • man
      • ...
      • share
        • doc
        • ...
        • trac
          • cgi-bin
          • conf
conf -> /toutsvn/conf/trac
          • htdocs

repository

APR (Apache Portable Runtime) et apr-util

Installation de APR et APR-util pour apache.

Python

Installation de python pour le mod_python d'apache.

Apache

Installation du serveur web httpd

swig

Installation de swig (Simplified Wrapper and Interface Generator)

neon

Installation de neon (Interface C pour http et WebDAV) version neon-0.25.5 utilisé par subversion

subversion

Installation de subversion (Gestionnaire de version, successeur de CVS)


ajouter /srcdev/versions/b/lib/svn-python dans /srcdev/versions/b/lib/python2.4/site-packages/svn.pth

mod_python

Installation de mod_python 3.2.10

ez_setup.py

SQLite

Installation de SQLite 3.3.13

pysqlite

Installation de pysqlite 2.3.2

clearsilver

Installation de clearsilver 0.9.14

docutils

Installation de docutils 0.4

trac 0.10.4

Installation de trac 0.10.4

cURL

Installation de cURL


Plugins trac

Créer le répertoire repository avec une lien de /repository

ln -s /Volumes/HD750/repository /repository

Mettre les droits svntrac:www à REPOS

chown svntrac:www /repository/
dans repository, créer REPOS
sudo chmod g+w /repository/trac/ens/depart/log/trac.log à mettre dans le script de création dépôt.

transfert CVS -> SVN

cvs2svn --dumpfile=NEW_SVN_REPOS.dump --no-default-eol [--trunk-only] --encoding="latin_1" --encoding="utf_8" OLD_CVS_REPOS
svnadmin load /repository/svn/[research|school]/NAME < NEW_SVN_REPOS.dump
- demander s'il y a des executables, si oui: svn propset svn:executable '*' LISTE_FICHIERS_EXEC
- verifier si des fichiers passent binaires, alors que c'est du texte (a cause des accents), si oui: svn propset svn:mime-type text/plain LISTE_FICHIERS

Récupérer le tgz sur srcdev

tar xzvf enssrc.tgz
cvs2svn --dumpfile=PSI.dump --no-default-eol --trunk-only --trunk=ENSEIGNEMENTS_SRC/PSI --encoding="latin_1" --encoding="utf_8" ENSEIGNEMENTS_SRC

sur othello

./create_repos.sh -s ens -u imounier -d LI232
ls -al /repository/trac/ens/LI232/log/
chmod g+w /repository/trac/ens/LI232/log/trac.log
/toutsvn/current/bin/svnadmin load /repository/svn/ens/LI232 < /Users/admin/PSI.dump
/toutsvn/current/bin/trac-admin /repository/trac/ens/LI232 resync
/toutsvn/current/bin/trac-admin /repository/trac/ens/LI232 permission add svntrac TRAC_ADMIN

sur une autre machine

svn mv https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC/PSI/PSI/TD-TME https://nom_de_machine/svn/ens/LI232/ svn mv https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC/PSI/PSI/TD-TME https://nom_de_machine/svn/ens/LI232/ -m "mv" svn mv https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC/PSI/PSI/.cvs-symlinks https://nom_de_machine/svn/ens/LI232/ -m "mv" svn mv https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC/PSI/PSI/csym-add https://nom_de_machine/svn/ens/LI232/ -m "mv" svn mv https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC/PSI/PSI/csym-update https://nom_de_machine/svn/ens/LI232/ -m "mv" svn rm https://nom_de_machine/svn/ens/LI232/ENSEIGNEMENTS_SRC -m "rm"

Accès Webdav

https://serveur/[nomDepot]_uploads


Problèmes rencontrés...

Error validating server certificate for (dans un SCPlugin du Finder)

Cela arrive lorsque l'on utilise un certificat non reconnu ou que le certificat a changé (après expiration)

$ cd vers_un_repertoire-svn $ /Library/Contextual\ Menu\ Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/bin/svn log Error validating server certificate for 'https://serveurSVN.domaine.fr:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: serveurSVN.domaine.fr - Valid: from Thu, 21 Jan 2010 23:00:00 GMT until Mon, 21 Jan 2013 22:59:59 GMT - Issuer: TERENA, NL - Fingerprint: 15:a7:37:70:07:4c:23:66:7d:79:f1:25:b3:da:f4:40:e0:9f:6b:f6 (R)eject, accept (t)emporarily or accept (p)ermanently? p

2007-2012. Page élaborée grâce au travail d'Alexandre Hamez.



FutureShare

 | 

Glossaire

 |