Debian Lenny 5 & Redmine avec Apache & Mysql
Date MaJ : 07/12/2009
Nous allons réaliser l'installation de Redmine sur une Debian Lenny (5), avec un serveur Apache 2 utilisé en mode Proxy, Mongrel, Mysql (et phpmyadmin) Redmine est un projet open-source de Gestion de tâche assez complet et programmé en RoR. Commençons par installer les modules initiaux- apt-get install php5 php5-mcrypt apache2 mysql-server phpmyadmin
- useradd -g 33 -m -s /bin/bash redmine
- apt-get install ruby rdoc irb libyaml-ruby ruby1.8-dev libzlib-ruby ri libopenssl-ruby1.8
- cd /root
- wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
- tar xvzf rubygems-1.3.1.tgz
- cd rubygems-1.3.1
- ruby setup.rb
- ln -s /usr/bin/gem1.8 /usr/bin/gem #Afin de faire un alias de gem vers gem1.8
- gem install rails -v 2.1.2
- apt-get install libmysqlclient15-dev make imagemagick libmagick9-dev librmagick-ruby1.8
- gem install mysql
- gem install rmagick
- cd /home/redmine & su redmine # pour installer en utilisant les droits de l'util redmine
- wget http://rubyforge.org/frs/download.php/67144/redmine-0.8.7.tar.gz
- mv redmine-0.8.7 redmine #plus compréhensible
- cd redmine/config
- cp database.yml.example database.yml
- nano database.yml
- rake db:migrate RAILS_ENV="production"
- cd ..
- ruby script/server -e production
- chown -R redmine:www-data /home/redmine
- exit #afin de repartir en root
- gem install gem_plugin mongrel mongrel_cluster
- mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /home/redmine/redmine -C /home/redmine/redmine/config/mongrel_cluster.yml -a 127.0.0.1 --user redmine --group www-data
- mkdir /etc/mongrel
- ln -s /home/redmine/redmine/config/mongrel_cluster.yml /etc/mongrel_cluster/monsite.yml
- nano /etc/init.d/mongrel_cluster
- #!/bin/bash
- #
- # Copyright (c) 2007 Bradley Taylor, bradley@railsmachine.com
- #
- # mongrel_cluster Startup script for Mongrel clusters.
- #
- # chkconfig: - 85 15
- # description: mongrel_cluster manages multiple Mongrel processes for use \
- # behind a load balancer.
- #
- CONF_DIR=/etc/mongrel_cluster
- PID_DIR=/home/redmine/redmine/tmp/pids
- USER=redmine
- RETVAL=0
- # Gracefully exit if the controller is missing.
- which mongrel_cluster_ctl >/dev/null || exit 0
- # Go no further if config directory is missing.
- [ -d "$CONF_DIR" ] || exit 0
- case "$1" in
- start)
- # Create pid directory
- mkdir -p $PID_DIR
- chown $USER:www-data $PID_DIR
- mongrel_cluster_ctl start -c $CONF_DIR --clean
- RETVAL=$?
- ;;
- stop)
- mongrel_cluster_ctl stop -c $CONF_DIR --clean
- RETVAL=$?
- ;;
- restart)
- mongrel_cluster_ctl restart -c $CONF_DIR --clean
- RETVAL=$?
- ;;
- status)
- mongrel_cluster_ctl status -c $CONF_DIR --clean
- RETVAL=$?
- ;;
- *)
- echo "Usage: mongrel_cluster {start|stop|restart|status}"
- exit 1
- ;;
- esac
- exit $RETVAL
- chmod +x /etc/init.d/mongrel_cluster
- update-rc.d -f mongrel_cluster defaults
- a2enmod rewrite
- a2enmod proxy_http
- a2enmod proxy_balancer
- nano /etc/apache2/mods-available/proxy.conf
- AddDefaultCharset off
- Order allow,deny
- Allow from all
- #Allow from .example.com
- nano /etc/apache2/sites-available/redmine
- ServerAdmin admin@redmine.localdomain.loc
- ServerName redmine.localdomain.loc
- DocumentRoot /home/redmine/redmine/public/
- Options Indexes FollowSymLinks MultiViews
- AllowOverride All
- Order allow,deny
- allow from all
- BalancerMember http://127.0.0.1:8000
- BalancerMember http://127.0.0.1:8001
- BalancerMember http://127.0.0.1:8002
- RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
- RewriteRule (.*) $1 [L]
- ProxyPass / Balancer://mongrel_cluster/
- ProxyPassReverse / balancer://mongrel_cluster/
- AddOutputFilter DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css
- BrowserMatch ^Mozilla/4 gzip-only-text/html
- BrowserMatch ^Mozilla/4.0[678] no-gzip
- BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
- ErrorLog /var/log/apache2/redmine.redmine.localdomain.error.log
- LogLevel warn
- CustomLog /var/log/apache2/redmine.redmine.localdomain.access.log combined
- ServerSignature Off
- a2ensite redmine
- /etc/init.d/apache2 restart