== Redmine im Tomcat installieren ==
[http://redmine.org Redmine] ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.
Redmine ist in [http://www.ruby-lang.org/de/ Ruby] mit dem Framework [http://rubyonrails.org/ Ruby on Rails] programmiert. Es steht unter der [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU General Public License v2] (GPL).
Hier soll es als Beispiel dienen, wie man auf der [http://www.hostsharing.net Hostsharing]-Infrastruktur mit der Tomcat-Option Rails-Anwendungen betrieben kann.
=== Vorbereitungen ===
Zunächst baue und teste ich auf meinem lokalen Rechner eine Java-Webapplikation, die ich später bei Hostsharing installiere.
Ich brauche:
# die aktuelle Redmine Version von [http://rubyforge.org/frs/?group_id=1850 RubyForge] (zur Zeit Version 1.1.1)
# die Ruby-/Rails-Infrastruktur mit JRuby auf meinem lokalen Rechner
=== Software-Pakete ===
Zunächst installiere ich als ''root'' die Ruby-Infrastruktur:
{{{
aptitude install jruby rubygems
}}}
Als Datenbank will ich Postgres nutzen:
{{{
aptitude install postgresql
}}}
Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User ''postgres'' an:
{{{
su - postgres
createuser -D -S -R -P redmine
createdb -O redmine -E UTF8 redmine
}}}
=== Webapplikation bauen ===
Als ''normaler'' User baue ich dann die Web-Applikation zusammen:
Download und entpacken von redmine in /home/user/redmine-n.n.n
{{{
tar xzf redmine-1.1.1.tar.gz
cd /home/user/redmine-1.1.1
}}}
Installation einiger Ruby-Gem-Pakete:
{{{
mkdir /home/user/.gem
export GEM_HOME=/home/user/.gem
gem install -v=0.4.2 i18n
gem install -v=1.0.1 rack
gem install jruby-openssl
gem install activerecord-jdbcpostgresql-adapter
gem install rake
}}}
In ''config/environment.rb'' habe ich folgende Zeilen eingefügt:
Unmittelbar vor {{Rails::Initializer.run do |config|}}
{{{
if RUBY_PLATFORM =~ /java/
require 'rubygems'
gem 'activerecord-jdbc-adapter'
require 'arjdbc'
end
}}}
Direkt hinter {{Rails::Initializer.run do |config|}} dann:
{{{
config.action_controller.session = { :key => "_myapp_session", :secret => "ueber-30-zeichen-session-key" }
}}}
Dann lege ich die Datei ''config/database.yml'' mit folgendem Inhalt an:
{{{
production:
adapter: jdbc
driver: org.postgresql.Driver
url: jdbc:postgresql://localhost/redmine
encoding: unicode
username: redmine
password: mein_geheimnis
host: localhost
port: 5432
}}}
Jetzt kann ich die Datenbank initialisieren:
{{{
export RAILS_ENV=production
jruby ~/.gem/bin/rake db:migrate
jruby ~/.gem/bin/rake redmine:load_default_data
}}}
Ein erster Test mit:
{{{
jruby ./script/server -e production
}}}
Jetzt sollte Redmine unter ''http://localhost:3000 '' erreichbar sein.
Die letzten Schritte zum Bau der WAR-Datei:
{{{
gem install warbler
~/.gem/bin/warble config
}}}
Folgendes in der Datei config/warble.rb hinter {{Warbler::Config.new do |config|}} anpassen bzw. ergänzen:
{{{
config.dirs = %w(app config lib log vendor tmp extra files lang)
config.gems += ["activerecord-jdbcpostgresql-adapter", "i18n", "jruby-openssl", "rack"]
config.gems["i18n"] = "0.4.2"
config.gems["rack"] = "1.0.1"
}}}