Redmine in Tomcat installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:


Zunächst installiere ich als ''root'' die Ruby-Infrastruktur:
Zunächst installiere ich als ''root'' die Ruby-Infrastruktur:


   aptitude install jruby rubygems
   aptitude install jruby rubygems


Als Datenbank will ich Postgres nutzen:
Als Datenbank will ich Postgres nutzen:


   aptitude install postgresql
   aptitude install postgresql


Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User ''postgres'' an:
Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User ''postgres'' an:


   su - postgres
   su - postgres
   createuser -D -S -R -P redmine
   createuser -D -S -R -P redmine
   createdb -O redmine -E UTF8 redmine
   createdb -O redmine -E UTF8 redmine


=== Webapplikation bauen ===
=== Webapplikation bauen ===
Zeile 42: Zeile 36:


Download und entpacken von redmine in /home/user/redmine-n.n.n
Download und entpacken von redmine in /home/user/redmine-n.n.n


   tar xzf redmine-1.1.1.tar.gz
   tar xzf redmine-1.1.1.tar.gz
   cd /home/user/redmine-1.1.1
   cd /home/user/redmine-1.1.1


Installation einiger Ruby-Gem-Pakete:
Installation einiger Ruby-Gem-Pakete:


   mkdir /home/user/.gem
   mkdir /home/user/.gem
Zeile 58: Zeile 49:
   gem install activerecord-jdbcpostgresql-adapter
   gem install activerecord-jdbcpostgresql-adapter
   gem install rake
   gem install rake


In ''config/environment.rb'' habe ich folgende Zeilen eingefügt:
In ''config/environment.rb'' habe ich folgende Zeilen eingefügt:


Unmittelbar vor Rails::Initializer.run do |config|
Unmittelbar vor Rails::Initializer.run do |config|


     if RUBY_PLATFORM =~ /java/
     if RUBY_PLATFORM =~ /java/
Zeile 70: Zeile 59:
       require 'arjdbc'
       require 'arjdbc'
     end
     end


Direkt hinter Rails::Initializer.run do |config| dann:
Direkt hinter Rails::Initializer.run do |config| dann:


     config.action_controller.session = { :key => "_myapp_session", :secret => "ueber-30-zeichen-session-key" }
     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:
Dann lege ich die Datei ''config/database.yml'' mit folgendem Inhalt an:


     production:
     production:
Zeile 90: Zeile 75:
       host: localhost
       host: localhost
       port: 5432
       port: 5432


Jetzt kann ich die Datenbank initialisieren:
Jetzt kann ich die Datenbank initialisieren:


     export RAILS_ENV=production
     export RAILS_ENV=production
     jruby ~/.gem/bin/rake db:migrate
     jruby ~/.gem/bin/rake db:migrate
     jruby ~/.gem/bin/rake redmine:load_default_data
     jruby ~/.gem/bin/rake redmine:load_default_data


Ein erster Test mit:
Ein erster Test mit:


     jruby ./script/server -e production
     jruby ./script/server -e production


Jetzt sollte Redmine im internen ''WEBrick''-Webserver unter ''http://localhost:3000 '' erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...
Jetzt sollte Redmine im internen ''WEBrick''-Webserver unter ''http://localhost:3000 '' erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...


Die letzten Schritte zum Bau der WAR-Datei:
Die letzten Schritte zum Bau der WAR-Datei:


     gem install warbler
     gem install warbler
     ~/.gem/bin/warble config
     ~/.gem/bin/warble config


Folgendes in der Datei config/warble.rb hinter Warbler::Config.new do |config| anpassen bzw. ergänzen:
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.dirs = %w(app config lib log vendor tmp extra files lang)
Zeile 122: Zeile 99:
     config.gems["i18n"] = "0.4.2"
     config.gems["i18n"] = "0.4.2"
     config.gems["rack"] = "1.0.1"  
     config.gems["rack"] = "1.0.1"  


Der letzte Schritt  
Der letzte Schritt  


     ~/.gem/bin/warble
     ~/.gem/bin/warble


erzeugt eine Datei ''redmine-1.1.1.war'', die ich in ''redmine.war'' umbenenne und im Tomcat deploye.
erzeugt eine Datei ''redmine-1.1.1.war'', die ich in ''redmine.war'' umbenenne und im Tomcat deploye.

Version vom 17. Februar 2011, 13:26 Uhr

Redmine im Tomcat installieren

Redmine ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.

Redmine ist in Ruby mit dem Framework Ruby on Rails programmiert. Es steht unter der General Public License v2 (GPL).

Hier soll es als Beispiel dienen, wie man auf der 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:

  1. die aktuelle Redmine Version von RubyForge (zur Zeit Version 1.1.1)
  2. 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 im internen WEBrick-Webserver unter http://localhost:3000 erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...

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" 

Der letzte Schritt

   ~/.gem/bin/warble

erzeugt eine Datei redmine-1.1.1.war, die ich in redmine.war umbenenne und im Tomcat deploye.

Installation bei Hostsharing

Voraussetzung: Installierter Tomcat-Webserver

Bei Hostsharing lege ich einen Postgres-Datenbank-Admin und eine Datenbank mit HSAdmin an.

In die Datenbank spiele ich über http://phppgadmin.hostsharing.net einen Dump meiner lokalen Datenbank ein.

Die redmine.war-Datei kopiere ich auf den Hostsharing-Server. Im webapps-Verzeichnis, das für meine gewünschte Domain konfiguriert ist, lege ich ein Verzeichnis redmine an. In dieses Verzeichnis entpacke ich die redmine.war mit dem jar-Befehl. Zuletzt passe ich noch die Datenbank-Zugangsparameter in der Datei WEB-INF/config/database.yml aus dem ausgepackten Archiv an.

Mit einem Neustart des Tomcat (oder der Redmine-Applikation im Tomcat) kann Redmine dann genutzt werden.

--Peh00-phor 14:17, 17. Feb. 2011 (CET) Peter Hormanns