wiki/HowToRedmine-Source.md

202 lines
5.2 KiB
Markdown
Raw Normal View History

2016-12-29 11:25:39 +01:00
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
# Installation Redmine
Ce document explique l'installation du logiciel Redmine depuis les sources.
Cette installation à été testé sur une Debian Jessie avec Redmine en version 3.0, 3.1 et 3.2.
Informations supplémentaires :
* [wiki:HowToRedmine-Source/Migrate Migrer une installation existante]
* [wiki:HowToRedmine-Source/Save Backup de votre installation]
* [wiki:HowToRedmine-Source/Update Mettre à jour votre installation]
* [wiki:HowToRedmine-Source/Delete Supprimer votre installation]
* [wiki:HowToRedmine-Source/Plugins Installer des plugins]
À noter :
* Les catégories nomnées prérequis ne sont à faire qu'une seule fois par serveur.
* Les commandes sont à lancer avec l'utilisateur entre parenthèse.
### 0. Prérequis (User = root)
Installations des dépendances :
~~~
aptitude install ruby ruby-dev imagemagick git-core git-svn gcc build-essential libxml2-dev libxslt1-dev libssl-dev
~~~
Installation des dépendances 2 (L'installation en une fois crée des conflits !) :
~~~
aptitude install libmagickwand-dev libmagickcore-dev
~~~
Si Squid est présent vous devez rajouter les sites github et rubygems dans sa liste blanche !
~~~
echo "<https://github.com/.*"> >> /etc/squid3/whitelist.conf
echo "<http://rubygems.org/.*"> >> /etc/squid3/whitelist.conf
echo "<http://.*.rubygems.org/.*"> >> /etc/squid3/whitelist.conf
~~~
#### /home ne doit pas avoir l'attribut noexec !!!
### I. Création du compte Unix (User = root)
Choix de l'utilisateur $REDMINE propriétaire de l'application
~~~
REDMINE='redmine'
~~~
Création de l'utilisateur $REDMINE :
~~~
useradd $REDMINE -d "/home/$REDMINE" -c "Redmine $REDMINE" -s "/bin/bash" -m
~~~
Ajout de l'utilisateur www-data au groupe $REDMINE :
~~~
adduser www-data $REDMINE
~~~
### II. Création de la base de donnée (User = root)
Au choix :
* [wiki:HowToRedmine-Source/BDD/MySQL MySQL]
### III. Serveur Web (User = root)
Au choix :
* [wiki:HowToRedmine-Source/Web/Nginx Nginx]
### IV. Serveur d'application (User = root)
Au choix :
* [wiki:HowToRedmine-Source/Rails/Puma Puma]
### V. Finalisation (User = $REDMINE)
Se connecter avec l'utilisateur $REDMINE :
~~~
su - $REDMINE
~~~
Choisir la $BRANCHE de la version de Redmine :
* voir le dépôt [Github](https://github.com/redmine/redmine) pour choisir une version
* vérifier les prérequis sur [redmine.org](http://www.redmine.org/projects/redmine/wiki/FrRedmineInstall#Exigences)
~~~
BRANCHE=3.3-stable
~~~
Ajout des gems locales dans le $PATH :
~~~
cat >> ~/.profile <<EOF
if [ -d "\$HOME/.gem/ruby/2.1.0/bin" ] ; then
PATH="\$HOME/.gem/ruby/2.1.0/bin:\$PATH"
fi
EOF
~~~
Clonage du dépôt Git du projet Redmine :
~~~
git clone <https://github.com/redmine/redmine.git> -b $BRANCHE ~/www
~~~
Création des dossiers nécessaires :
~~~
mkdir ~/files
~~~
Copie de la configration de Redmine :
~~~
cat > ~/www/config/configuration.yml <<EOF
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: localhost
port: 25
domain: "$(hostname -d)"
ssl: false
enable_starttls_auto: false
attachments_storage_path: /home/$USER/files
autologin_cookie_secure: true
EOF
~~~
Récupération du mot de passe Mysql :
~~~
MYSQLPASS=`grep password ~/.my.cnf|cut -d'=' -f2|tr -d ' '`
~~~
Configuraion de la base de donnée :
~~~
cat > ~/www/config/database.yml <<EOF
production:
adapter: mysql2
database: $USER
host: localhost
username: $USER
password: "$MYSQLPASS"
encoding: utf8
EOF
~~~
Correction des droits :
~~~
chmod u=rwX,g=rX,o= ~/www ~/www/public ~/files ~/ -R
~~~
Installation des dépendances Gem avec bundle (cela peut durer plusieurs minutes) :
~~~
bundle install --gemfile=~/www/Gemfile --path=~/.gem
~~~
Puis prise en compte du .profile :
~~~
source .profile
~~~
Génération d'un clé aléatoire utilisé pour encoder les cookies de session :
~~~
rake -qf ~/www/Rakefile generate_secret_token
~~~
Création des schémas de la base de données redmine :
~~~
rake -qf ~/www/Rakefile db:migrate RAILS_ENV=production
~~~
Chargement des données par défaut :
~~~
rake -qf ~/www/Rakefile redmine:load_default_data RAILS_ENV=production REDMINE_LANG=fr
~~~
Migration de la base pour les plugins :
~~~
rake -qf ~/www/Rakefile redmine:plugins:migrate RAILS_ENV=production
~~~
### Lancement de l'application (User = root)
Démarrer/éteindre l'application :
~~~
systemctl start/stop puma@$REDMINE
~~~
Recharger la configuration après avoir modifier /etc/puma/$REDMINE/ (pas de coupure) :
~~~
systemctl reload puma@$REDMINE
~~~
Redémarrer l'application :
~~~
systemctl restart puma@$REDMINE
~~~
Activer/désactiver l'application au démarrage :
~~~
systemctl enable/disable puma@$REDMINE
~~~
### Taches d'administration
Lancer un shell ruby dans l'environnement de production :
~~~
su - $REDMINE
cd ~/www
RAILS_ENV=production bundle exec rails console
~~~
#### Creer un compte admin / mot de passe admin
~~~
user # User.new :firstname> "Admin", :lastname => "Admin", :mail => "admin@example.com", :mail_notification => "none", :status => 1
user.login = 'admin'
user.hashed_password = "4af53bd5aff3b4b8ac275cfc918244f7e61aa4cb"
user.salt = "270d36d363b07abc40245d02348a53a8"
user.admin = true
user.save
~~~