Modifications entre les versions 1 et 3 (s'étendant sur 2 versions)
Version 1 à la date du 2010-01-26 15:13:01
Taille: 4608
Éditeur: ThomasNoël
Commentaire: version 1
Version 3 à la date du 2010-01-27 11:28:24
Taille: 5945
Éditeur: ThomasNoël
Commentaire: cron LDAP vers groupe AUF
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
<<TableOfContents>>
Ligne 106: Ligne 108:
Ajout d'un script de démarrage de redmine via mongrel dans /etc/init.d/[[attachment:redmine_mongrel.sh|/etc/init.d/redmine_mongrel]], et activation de ce script avec `update-rc.d redmine_mongrel defaults` 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 : [[attachment:redmine_mongrel.sh|/etc/init.d/redmine_mongrel]], et activation de ce script avec `update-rc.d redmine_mongrel defaults`
Ligne 142: Ligne 151:
== Remplissage automatique du groupe AUF (par cron) ==
Ligne 143: Ligne 153:
C'est tout... Note : ceci suppose que l'authentification LDAP a été activée dans redmine, et que le groupe AUF existe.

On désire que tous les utilisateurs qui ont été créés via l'authentification LDAP se retrouvent dans le groupe AUF. Une technique très-bête-mais-qui-marche :

 {{{
#!/bin/sh

# ajout des utilisateurs loggues via LDAP dans le groupe AUF
#
# script à lancer en cron, par exemple toutes les 5 minutes, avec le user "redmine"
# => */5 * * * * redmine /opt/redmine/ldap_dans_groupe_auf.sh
#

cat << EOF | /opt/redmine/script/console production 2>&1 > /dev/null
g = Group.find(4)
u = User.find_all_by_auth_source_id(1) - g.users
g.users << u
if u != []
    STDERR.write("\nredmine : ajout d'utilisateur LDAP dans le groupe AUF\n\n")
    for n in u
        STDERR.write(" - ")
        STDERR.write(n)
        STDERR.write("\n")
    end
    STDERR.write("\n-- \ncron ldap_dans_groupe_auf.sh sur redmine.auf.org\n")
end
EOF
}}}

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>

Remplissage automatique du groupe AUF (par cron)

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

On désire que tous les utilisateurs qui ont été créés via l'authentification LDAP se retrouvent dans le groupe AUF. Une technique très-bête-mais-qui-marche :

  • # ajout des utilisateurs loggues via LDAP dans le groupe AUF
    #
    # script à lancer en cron, par exemple toutes les 5 minutes, avec le user "redmine"
    #  => */5 * * * * redmine /opt/redmine/ldap_dans_groupe_auf.sh
    # 
    
    cat << EOF | /opt/redmine/script/console production 2>&1 > /dev/null
    g = Group.find(4)
    u = User.find_all_by_auth_source_id(1) - g.users
    g.users << u
    if u != []
        STDERR.write("\nredmine : ajout d'utilisateur LDAP dans le groupe AUF\n\n")
        for n in u
            STDERR.write("  - ")
            STDERR.write(n)
            STDERR.write("\n")
        end
        STDERR.write("\n-- \ncron ldap_dans_groupe_auf.sh sur redmine.auf.org\n")
    end
    EOF

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