CREATE DATABASE redmine DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
La base de données de redmine est créée. Sortez avec :
exit
=== PostgreSQL ===
Pour PostgreSQL, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpq-dev|libpq-dev]]**.
Installez l'adaptateur PostgreSQL pour Ruby avec :
sudo gem install postgres
== Création d'un utilisateur spécifique et de la base de données ==
Pour des raisons de sécurité, il est préfèrable de créer un utilisateur spécifique à Redmine pour utiliser la base :
su postgres
createuser redmine --no-superuser --no-createdb --no-createrole --login --pwprompt --encrypted
createdb --owner=redmine --encoding=utf-8 redmine
exit
#!/bin/sh
set -e
REDMINE_PATH=/opt/redmine/
REDMINE_PID=/tmp/mongrel.pid
REDMINE_PORT=3000
REDMINE_INTERFACE=127.0.0.1
if [ -x /usr/bin/mongrel_rails ] ; then
HAVE_MONGREL=1
else
echo "Mongrel not installed."
exit 0
fi
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting Redmine server"
mongrel_rails start -c $REDMINE_PATH -d -e production -p $REDMINE_PORT -P $REDMINE_PID -a $REDMINE_INTERFACE
log_action_end_msg $?
;;
stop)
log_action_begin_msg "Stopping Redmine server"
mongrel_rails stop -c $REDMINE_PATH -P $REDMINE_PID
log_action_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/redmine {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
* Ne pas oublier de rendre le script exécutable :
sudo chmod +x /etc/init.d/redmine
À ce point vous pouvez respectivement démarrer, redémarrer et arrêter Redmine à l'aide des commandes :
sudo /etc/init.d/redmine start
sudo /etc/init.d/redmine restart
sudo /etc/init.d/redmine stop
* Pour ajouter Redmine au démarrage de la machine :
sudo update-rc.d redmine defaults
Redmine sera désormais lancé à chaque démarrage de la machine.
Vous pouvez y accédez à présent via l'adresse : http://localhost:3000/
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www
RailsEnv production
RailsBaseURI /redmine
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Faites un lien vers les sources de Redmine (plus précisément de son dossier ''public/'') dans la racine de votre serveur Web :
sudo ln -s /opt/redmine/public /var/www/redmine
Définissez l'utilisateur de Redmine comme propriétaire des sources de l'application :
sudo chown -R redmine:users /opt/redmine
Web application could not be started
cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:245:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:348:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:243:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `'
/usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `'
Cela peut provenir du fait que bundler n'est pas installé. La correction est simple et rapide : l'installer et relancer Apache.
sudo gem install bundler
sudo service apache2 restart
source : [[https://www.redmine.org/boards/2/topics/42399?r=42428#message-42428]]
Rails Error: Unable to access log file. Please ensure that /var/log/redmine/default/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Solution :
sudo chown -R redmine:users /var/log/redmine/
sudo chmod 666 /var/log/redmine/default/*
sudo service apache2 restart
Les messages d'erreur de Redmine sont de retour dans /var/log/redmine/default/production.log.
Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.
If you are the Redmine administrator, check your log files for details about the error.
et que l'on trouve un message de ce type dans /var/log/redmine/default/production.log
ActionView::Template::Error (Permission denied - /var/cache/redmine/default/cache/900):
16: <%= f.text_field :firstname, :required => true %>
17: <%= f.text_field :lastname, :required => true %>
18: <%= f.text_field :mail, :required => true %>
19: <%= f.select :language, lang_options_for_select %>
20: <% if Setting.openid? %>
21: <%= f.text_field :identity_url %>
22: <% end %>
lib/redmine/i18n.rb:95:in `languages_options'
app/helpers/application_helper.rb:962:in `lang_options_for_select'
app/views/my/account.html.erb:19:in `block in _app_views_my_account_html_erb__1203571593285091717_37874920'
app/helpers/application_helper.rb:977:in `labelled_form_for'
app/views/my/account.html.erb:9:in `_app_views_my_account_html_erb__1203571593285091717_37874920'
Dans ce cas, il s'agit de mauvais droits d'accès au répertoire /var/cache/redmine/ (voir le chemin indiqué dans le message).
Solution :
sudo chown -R redmine:redmine /var/cache/redmine/
sudo service apache2 restart
Et recharger la page web.
sudo chmod go+rw -R /var/lib/redmine/
sudo service apache2 restart
On donne les droits de lecture/écriture à tout le monde et on redémarre le serveur.
Order deny,allow
Deny from all
Par :
Order allow,deny
Allow from all
et rechargez la config d'Apache :
sudo /etc/init.d/apache2 reload
ServerName redmine.lan # On indique à Apache que le domaine du site est "redmine.lan"
# On paramètre le proxy pour transmettre les requêtes adresées à tracker.lan soient transmises à
# Redmine (Mongrel est installé en local sur le port 3000)
ProxyPreserveHost Off
ProxyPass / http://127.0.0.1:3000/
ProxypassReverse / http://127.0.0.1:3000/
# On définit les fichiers de log
ErrorLog /opt/redmine/log/apache-error.log
CustomLog /opt/redmine/log/apache-access.log combined
$ sudo touch /opt/redmine/log/apache-error.log
$ sudo touch /opt/redmine/log/apache-access.log
Pour que Apache puisse y accéder, on va les faire appartenir à celui-ci :
$ sudo chown www-data:www-data /opt/redmine/log/apache-error.log
$ sudo chown www-data:www-data /opt/redmine/log/apache-access.log
=== Activation du site ===
Il ne reste plus qu'à activer le site dans Apache. Cela se fait simplement avec la commande **a2ensite** suivie du nom du fichier que l'on a créé.
$ sudo a2ensite redmine.lan
$ sudo /etc/init.d/apache2 reload
Vous pouvez dorénavant accéder à Redmine en tapant **http://redmine.lan/** dans votre navigateur.
$ sudo a2dissite redmine.lan
Il en va de même pour les modules de proxy avec la commande **a2dismod** :
$ sudo a2dismod proxy_http
$ sudo a2dismod proxy
Ensuite, on recharge la config d'Apache, et tout est désactivé :
$ sudo /etc/init.d/apache2 reload
===== Notifications par courriel =====
==== Gmail ====
Placez-vous dans le dossier des sources de Redmine :
cd /opt/redmine
Gmail a besoin de TLS pour envoyer des e-mails. Installez donc le plugin pour Redmine avec :
sudo ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
Copiez l'exemple de configuration de Redmine :
sudo cp config/email.yml.example config/email.yml
[[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **''config/email.yml''** pour l'adapter comme suit :
production:
delivery_method: :smtp
smtp_settings:
tls: true
enable_starttls_auto: true
address: "smtp.gmail.com"
port: '587'
domain: "smtp.gmail.com"
authentication: :plain
user_name: "votre_login@gmail.com"
password: "votre_mot_de_passe"