Project

General

Profile

InstallRedmineOnDebianStableApacheMysqlPassenger » History » Revision 4

Revision 3 (Jan Niggemann (redmine.org team member), 2013-01-22 11:26) → Revision 4/32 (Jan Niggemann (redmine.org team member), 2013-01-22 12:30)

h1. InstallRedmineOnDebianStableApacheMysqlPassenger 

 h1. Preface 

 Last updated: 2013-01-22 January 2012 

 *After reading this guide you should have a working redmine instance*. 
 If this is not the case or if a step fails, please post details on the forums and refer to this wiki page. Make sure to include the output of @gem env@ and / or @RAILS_ENV=production /opt/redmine/script/about@. 
 If this guide has issues, please "contact me":http://www.redmine.org/users/55460 or correct it yourself. h1. Chapter 0: Preface 

 h2. About this guide 

 This is a step-by-step guide to install redmine on "Debian stable" (called Squeeze at the moment of writing). 
 It is written for people who are familiar with Debian, the shell, MySQL, Apache and Linux in general. 
 To keep this guide short, it does not explain every step in detail, but  

 *The filenames and paths in this document are subject to frequent change. I'll do my best to keep them up-to-date, but please check anyway.* *after reading, even novices should end up with a working redmine instance*. 

 *%{color:red}Please note:%* I'm We're assuming that you know how to use the tools at hand. If that's not the case (eg. you don't know how to create a new database or you don't know how to restart apache) please use the search engine of your choice and come back afterwards. 

 h1. Chapter 1: Install ruby, rails, gems and passenger 

 {{collapse(Read chapter 1) 

 h2. 1.1 Prepare your system 

 <pre>apt-get install gcc build-essential zlib1g zlib1g-dev zlibc libzlib-ruby libssl-dev libyaml-dev libcurl4-openssl-dev apache2-mpm-prefork apache2-prefork-dev libapr1-dev</pre> 

 h2. 1.2 download, build and install ruby 

 <pre>cd ~ <pre>wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz 
 wget ftp://ftp.ruby-lang.org/pub/ruby/stable/ruby-1.9.3-p374.tar.gz 
 tar xvfz ruby-1.9.3-p374.tar.gz ruby-1.9.3-p327.tar.gz 
 cd ruby-1.9.3-p374 ruby-1.9.2-p0 
 ./configure --enable-pthread --prefix=/usr/local 
 make && make install</pre> 

 h2. 1.3 check if ruby works 

 Expected output: @ruby 1.9.3p374 (2013-01-15 revision 38858) [i686-linux]@ 
 <pre>ruby –v</pre> 

 h2. 1.4 make ruby support OpenSSL 

 <pre>cd ruby-1.9.2-p0 
 cd ext/openssl/ 
 ruby extconf.rb 
 make && make install</pre> 

 h2. 1.5 gem installed? 

 Ruby 1.9 comes with RubyGems by default, so by now @gem@ By now, gem should already be installed. If correctly installed, the following command will output a version number like @1.8.2x@: check: 
 <pre>gem -v</pre> 

 h2. 1.6 install rails 

 <pre>gem install rails</pre> 

 h2. 1.7 install passenger (application server) 

 <pre>gem install passenger 
 passenger-install-apache2-module</pre> 

 h2. 1.8 configure apache 

 Put this in @/etc/apache/mods-available/passenger.load@ (remember to adjust the paths if necessary). /etc/apache/mods-available/passenger.load 
 <pre>LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18/ext/apache2/mod_passenger.so</pre> 

 And put this in @/etc/apache/mods-available/passenger.conf@ (remember to adjust the paths if necessary). /etc/apache/mods-available/passenger.conf 
 <pre>PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18 
 PassengerRuby /usr/local/bin/ruby 
 PassengerDefaultUser www-data</pre> 


 h2. 1.9 activate module 

 <pre>a2enmod passenger</pre> 

 }} 

 h1. Chapter 2: Install redmine 

 {{collapse(Read chapter 2) 

 h2. 2.1 download redmine 

 Get latest zip from "here":http://rubyforge.org/frs/?group_id=1850 and unpack to /opt/redmine /opt 

 h2. 2.2 further prepare the system 

 Note: Installing @libmagick9-dev@ installs a lot of packages (depends / recommends) 
 <pre>gem install bundler 
 apt-get install libmagick9-dev 
 cd /opt/redmine 
 bundle install --without postgresql</pre> 

 h2. 2.3 create database databases 

 We now create 2 databases, one for production and one for development. 
 I won't give detailed instructions on how to use mysql, please use you favorite search engine to find information you need. 

 <pre>create database redmine character set utf8; 
 create database redmine_dev character set utf8; 
 create user 'redmine'@'localhost' identified by 'XXX'; 
 grant all privileges on redmine.* to 'redmine'@'localhost'; 
 </pre> grant all privileges on redmine_dev.* to 'redmine'@'localhost';</pre> 


 h2. 2.4 configure DB-connection 

 Put this in /opt/redmine/config/database.yml 
 <pre>production: 
 adapter: mysql2 
 database: redmine 
 host: localhost 
 username: redmine 
 password: XXX</pre> my_password</pre> 

 h2. 2.5 generate a session store secret 

 <pre>rake generate_secret_token</pre> 

 h2. 2.6 prepare database / create tables 

 <pre>RAILS_ENV=production rake db:migrate</pre> 

 h2. 2.7 set filesystem permissions 

 <pre>cd /opt/redmine <pre>mkdir /opt/redmine/plugin_assets (oder public/plugin_assets?) 
 mkdir tmp tmp/pdf public/plugin_assets 
 chown -R www-data:www-data files log tmp public/plugin_assets 
 chmod -R 755 files log tmp public/plugin_assets 
 </pre> /opt/redmine/plugin_assets</<pre> 

 h2. 2.8 test if it works 

 
 <pre>ruby script/rails server webrick -e production</<pre> 
 Now go to http://localhost:3000 and see redmine in action. 

 }} 

 h1. Chapter 3: Configure apache and passenger 

 In this guide, we deploy to a sub-URI. Read other guides if you want a name-based virtual host configuration. 

 {{collapse(Read chapter 3) 

 h2. 3.1 Configure apache (subURI deployment) 

 <pre>ln Deployment in subURI 
 <pre> 
 ln -s /opt/redmine/public /var/www/redmine</pre> /var/www/redmine 

 Put this in @/etc/apache2/sites-available/redmine@ /etc/apache2/sites-available/redmine 

 [Location /redmine-dev] 
   RailsEnv development 
		 RailsBaseURI /redmine-dev 
		 Options –MultiViews 
 <pre> [/Location] 
 <Location /redmine> [Location /redmine] 
		 RailsEnv production 
		 RailsBaseURI /redmine 
		 Options –MultiViews 
 </Location> [/Location] 
 </pre> 

 Restart apache, test if http://yourhost.com/redmine is working, rejoice if it is :-) 

 If you see something unexpected, please post details on the forums and refer to this wiki page. Make sure to include the output of @gem env@ and / or @RAILS_ENV=production /opt/redmine/script/about@. 

 }}