Installing Redmine, git and gitosis on Amazon EC2
This article will detail how to install Redmine, git and gitosis on Amazon EC2 Linux instance.
Installing Redmine
Download redmine from the project’s source tree.
sudo mkdir -p /src/redmine
sudo chown <your user id>:<your group id> /src/redmine
cd /src/redmine
svn co http://redmine.rubyforge.org/svn/branches/1.3-stable redmine-1.3
Create the databate configuration file. A sample is provided in the config directory, containing configuration examples for MySQL 5.x and PostgreSQL 8. In my case, SQLite3 will be sufficient.
cat <<EOT > /src/redmine/redmine-1.3/config/database.yml
production:
adapter: sqlite3
dbfile: db/redmine.db
EOT
Redmine requires some gems and we’ll install bundler to manage them easily.
sudo gem install bundler
Then create the following Gemfile.
cat <<EOT /src/redmine/redmine-1.3/Gemfile
# file: /src/redmine/redmine-1.3/Gemfile
source "http://rubygems.org"
gem "rails", "2.3.14"
gem "rake", "0.8.7"
gem "rack", "1.1.0"
gem "i18n", "0.4.2"
gem "rdoc", "~>2.4.2"
gem "rubytree", "0.5.2", :require => "tree"
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
gem "coderay", "~>0.9.7"
EOT
… and run bundler to install them
bundle install
You can optionaly set production as the default environment by uncomment the following line in file redmine/config/environment.rb:
ENV['RAILS_ENV'] ||= 'production'
Next generate the session store with
RAILS_ENV=production bundle exec rake generate_session_store
Then migrate the database models
RAILS_ENV=production bundle exec rake db:migrate
Finally load default data if you want redmine to be populated with example content.
RAILS_ENV=production bundle exec rake redmine:load_default_data
… and follow instructions.
Publishing on Apache
Create a symbolic link in the /var/www/html directory pointing to the public directory of the redmine source tree.
sudo ln -s /src/redmine/redmine-1.3/public /var/www/html/redmine
Next, install Phusion Passenger to simplify the deployment of web applications based on the Ruby on Rails framework. For more information on Phusion Passenger, go to modrails
Passenger’s requires some apache modules :
- Apache 2 development headers
- Apache Portable Runtime (APR) development headers
- Apache Portable Runtime Utility (APU) development headers
To install them, simply run
sudo yum install apr-devel apr-util-devel httpd-devel
Then install the gem.
sudo gem install passenger
Then run passenger-install-apache2-module to install, as the name mention, the passenger module for apache.
sudo passenger-install-apache2-module
cat <<EOT | sudo sh -c 'cat - > /etc/httpd/conf.d/modpassenger.conf'
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11
PassengerRuby /usr/bin/ruby
EOT
Define the apache configuration file for the redmine “site”
cat <<EOT | sudo sh -c 'cat - > /etc/httpd/conf.d/redmine.conf'
RailsEnv production
RailsBaseURI /redmine
EOT
Restart apache
sudo service httpd restart
blog comments powered by Disqus