Modifications entre les versions 2 et 5 (s'étendant sur 3 versions)
Version 2 à la date du 2010-01-26 15:29:07
Taille: 4914
Éditeur: ThomasNoël
Commentaire: oups, petit oubli
Version 5 à la date du 2010-03-05 14:26:50
Taille: 6361
Éditeur: ThomasNoël
Commentaire: sync_ldap.sh
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents>>
Ligne 149: Ligne 151:
== Création automatique des comptes depuis le LDAP ==
Ligne 150: Ligne 153:
C'est tout... Note : ceci suppose que l'authentification LDAP a été activée dans redmine, et que le groupe AUF existe.

Script lancé en cron toutes les 5 minutes : [[attachment:sync_ldap.sh]]

== Synchronisation des dépôts git ==

Un cron est installé qui met à jour tous les dépôts `/srv/git/*.git` :

 {{{
#!/bin/sh
# sources d'inspiration
# http://mult.ifario.us/p/integrating-github-and-redmine
# http://www.redmine.org/wiki/redmine/RedmineRepositories

# mise a jour des depots
for git in `ls -d /srv/git/*.git`
do
        echo "git fetch $git"
        cd $git
        git --bare fetch origin :master
        #git reset refs/remotes/origin/master > /dev/null #selon doc redmine, mais est-ce necessaire ?
done

# mise a jour du suivi par redmine
# (optionnel, car de toute façon ça serait fait lors du premier acces a chaque depot)
echo "mise a jour redmine (Repository.fetch_changesets)"
cd /opt/redmine
./script/runner "Repository.fetch_changesets" -e production
}}}

Pour activer un nouveau dépôt sur la machine, il suffit donc de faire quelque chose comme :
 {{{
    root@redmine# su - redmine
 redmine@redmine$ cd /srv/git
 redmine@redmine$ git clone --bare git://git.auf.org/xxxx.git xxxx.git
 redmine@redmine$ cd xxxx.git
 redmine@redmine$ git --bare remote add origin git://git.auf.org/xxxx.git
}}}

Voir aussi [[Git/DépôtGit]]

Notes sur l'installation de http://redmine.auf.org

(rappel : première version de JeanChristopheAndré : /PremiereVersion)

On a décidé d'installer la version 0.9 (actuellement en finalisation) de façon «classique», c'est à dire sans passer par un paquet Debian. Le framework Rails est également installé directement, via le système «gem» de Ruby. Quelques paquets viennent des backports.

Sources d'inspiration :

Préparation

Machine Debian Lenny 5.0, avec activation des backports et de volatile :

  • ajout de lenny/volatile et lenny-backports au /etc/apt/sources.list

  • création d'un fichier /etc/apt/preferences contenant :

    Explanation: autoriser les mises à jour automatiques pour les backports
    Package: *
    Pin: release a=lenny-backports
    Pin-Priority: 200
  • correction du /etc/hosts pour mettre le nom pleinement qualifié (FQDN) avant l'alias...

  • vérification du support des locales Unicode, en particulier fr_FR.UTF-8

  • installation de mysql-server, sécurisation et mise en place du support Unicode

  • installation de apache2 et mise en place du support Unicode

Installation Ruby et paquets ruby de base nécessaires

  • # aptitude install ruby 
    # aptitude install irb             # facultatif, utile pour le script/console de redmine
    # aptitude -t lenny-backports install rubygems rake
    # aptitude install libopenssl-ruby
    # aptitude install libdbd-mysql-ruby mysql-client
    # aptitude install librmagick-ruby  # facultatif, permettra d'avoir des graphes dans redmine

Installation de rails 2.3.5 et dépendances (via gem)

  • # gem install rails -V -v=2.3.5
    (...)
    Successfully installed rake-0.8.7
    Successfully installed activesupport-2.3.5
    Successfully installed activerecord-2.3.5
    Successfully installed rack-1.0.1
    Successfully installed actionpack-2.3.5
    Successfully installed actionmailer-2.3.5
    Successfully installed activeresource-2.3.5
    Successfully installed rails-2.3.5
    8 gems installed

Téléchargement de redmine 0.9-stable via svn

On installe redmine dans /opt :

  • # cd /opt
    # svn checkout http://redmine.rubyforge.org/svn/branches/0.9-stable redmine-0.9
    # ln -s redmine-0.9 redmine

Configuration de redmine

Création de la base MySQL redmine09 et de l'utilisateur correspondant :

  • create database redmine09 character set utf8;
    create user 'redmine'@'localhost' identified by 'trucmachin';
    grant all privileges on redmine09.* to 'redmine'@'localhost';

Connexion de redmine à cette base :

  • # cat > config/database.yml << EOF
    production:
      adapter: mysql
      database: redmine09
      host: localhost
      username: redmine
      password: trucmachin
      encoding: utf8
    EOF

Initialisation de redmine

  • $ rake generate_session_store
    $ export RAILS_ENV=production
    $ rake db:migrate
    $ rake redmine:load_default_data
    $ rake db:migrate_plugins  # est-ce nécessaire ? je ne pense pas, mais ça fait pas de mal.

Mise en production via mongrel

(note : ceci est inspiré de http://doc.ubuntu-fr.org/redmine#configuration)

Mongrel est un serveur HTTP qui va propulser redmine sur un port local (127.0.0.1:3000). C'est ensuite apache qui rendra redmine visible de l'extérieur en HTTPS (voir ci-dessous) :

  • # aptitude install mongrel

Création d'un utilisateur dédié à redmine et mise en place des droits d'accès :

  • # adduser --system redmine --home /opt/redmine --no-create-home --group --gecos "redmine system user" --disabled-login --disabled-password
    # cd /opt/redmine
    # chown -R redmine:redmine log files tmp plugin/plugin_assets

Ajout d'un script de démarrage de redmine via mongrel : /etc/init.d/redmine_mongrel, et activation de ce script avec update-rc.d redmine_mongrel defaults

Mise à disposition en HTTPS avec apache

Activation des modules d'apache2 nécessaires :

  • # a2enmod proxy proxy_http ssl

On installe le certificat et la clé SSL pour *.auf.org et on configure le site dans /etc/apache2/sites-enabled/redmine.auf.org :

  • <VirtualHost *:443>
            (...)
            SSLEngine on
            SSLCertificateFile    /.../all-auf.org.crt
            SSLCertificateKeyFile /.../all-auf.org.key
            SSLCACertificateFile  /.../CA.pem
            SSLVerifyClient None
            (...)
            ProxyPreserveHost Off
            ProxyPass        /  http://127.0.0.1:3000/
            ProxypassReverse /  http://127.0.0.1:3000/
            <Proxy *>
                    Order allow,deny
                    Allow from all
            </Proxy>
    </VirtualHost>
    
    <VirtualHost *:80>
            ServerAdmin webmaster@auf.org
            ServerName redmine.auf.org
            Redirect permanent / https://redmine.auf.org/
    </VirtualHost>

Création automatique des comptes depuis le LDAP

Note : ceci suppose que l'authentification LDAP a été activée dans redmine, et que le groupe AUF existe.

Script lancé en cron toutes les 5 minutes : sync_ldap.sh

Synchronisation des dépôts git

Un cron est installé qui met à jour tous les dépôts /srv/git/*.git :

  • # sources d'inspiration
    # http://mult.ifario.us/p/integrating-github-and-redmine
    # http://www.redmine.org/wiki/redmine/RedmineRepositories
    
    # mise a jour des depots
    for git in `ls -d /srv/git/*.git`
    do
            echo "git fetch $git"
            cd $git
            git --bare fetch origin :master
            #git reset refs/remotes/origin/master > /dev/null  #selon doc redmine, mais est-ce necessaire ?
    done
    
    # mise a jour du suivi par redmine
    # (optionnel, car de toute façon ça serait fait lors du premier acces a chaque depot)
    echo "mise a jour redmine (Repository.fetch_changesets)"
    cd /opt/redmine
    ./script/runner "Repository.fetch_changesets" -e production

Pour activer un nouveau dépôt sur la machine, il suffit donc de faire quelque chose comme :

  •     root@redmine# su - redmine
     redmine@redmine$ cd /srv/git
     redmine@redmine$ git clone --bare git://git.auf.org/xxxx.git xxxx.git
     redmine@redmine$ cd xxxx.git
     redmine@redmine$ git --bare remote add origin git://git.auf.org/xxxx.git

Voir aussi Git/DépôtGit

redmine/InstallationMontreal (dernière édition le 2019-11-25 17:36:43 par JeanChristopheAndré)