Redmine in Tomcat installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Neue Installationsanleitung)
 
KKeine Bearbeitungszusammenfassung
 
(14 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Textkasten|gelb|veraltet|Wir empfehlen die Installation von Redmine mit Passenger: [[Redmine_im_Webspace]]. "Ruby on Rails"-Anwendungen sind Stand heute nicht mit JRuby lauffähig.}}
== Redmine im Tomcat installieren ==
== Redmine im Tomcat installieren ==


[Redmine|http://redmine.org] ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.
[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 [Ruby on Rails|http://rubyonrails.org/] programmiert. Es steht unter der [GNU General Public License v2|http://www.gnu.org/licenses/old-licenses/gpl-2.0.html] (GPL).
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 [Hostsharing|http://www.hostsharing.net]-Infrastruktur mit der Tomcat-Option Rails-Anwendungen betrieben kann.
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 ===
=== Vorbereitungen ===
Zunächst baue und teste ich auf meinem lokalen Rechner eine Java-Webapplikation, die ich später bei Hostsharing installiere.


Ich brauche:
Ich brauche:
# die aktuelle Redmine Version von [RubyForge|http://rubyforge.org/frs/?group_id=1850] (zur Zeit Version 1.1.1)
# die aktuelle Redmine Version von [http://www.redmine.org/projects/redmine/wiki/Download redmine.org] (zur Zeit Version 2.5.1)
# die Ruby-/Rails-Infrastruktur mit JRuby auf meinem lokalen Rechner
# die aktuelle JRuby Version von [http://www.jruby.org/download jruby.org] (aktuell Version 1.7.11)
 
=== 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:
=== Download und Entpacken ===


<syntaxhighlight lang=shell>
cd
mkdir tmp
cd tmp
wget http://jruby.org.s3.amazonaws.com/downloads/1.7.11/jruby-bin-1.7.11.tar.gz
wget http://www.redmine.org/releases/redmine-2.5.1.tar.gz
tar xzf jruby-bin-1.7.11.tar.gz
tar xzf redmine-2.5.1.tar.gz 
</syntaxhighlight>


  mkdir /home/user/.gem
=== Datenbank anlegen und konfigurieren ===
  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


Die Datenbank wird mit HSAdmin angelegt.


In ''config/environment.rb'' habe ich folgende Zeilen eingefügt:
Auf der Kommandozeile könnte das so aussehen:


Unmittelbar vor {{Rails::Initializer.run do |config|}}
<syntaxhighlight lang="yaml">
hsscript -u xyz00 -i
Password: ********
xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_dbadmin',password:'geheim'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_redmine',user:'xyz00_dbadmin'}})
xyz00@hsadmin> bye
</syntaxhighlight>


Dann wird die Datenbank in Redmine konfiguriert, indem die "Datei config/database.yml" in der entpackten
Redmine-Software angelegt. Inhalt der Datei:


    if RUBY_PLATFORM =~ /java/
<syntaxhighlight lang="yaml" line>
      require 'rubygems'
production:
      gem 'activerecord-jdbc-adapter'
    adapter: mysql
      require 'arjdbc'
    database: xyz00_redmine
     end
     host: localhost
    username: xyz00_dbadmin
    password: "geheim"
    encoding: utf8
</syntaxhighlight>


=== Bauen der Anwendung ===


Direkt hinter {{Rails::Initializer.run do |config|}} dann:
<syntaxhighlight lang="shell">
cd $HOME/tmp/redmine-2.5.1
export PATH=$HOME/tmp/jruby-1.7.11/bin:$PATH
</syntaxhighlight>


Zur Kontrolle (sollte das gem im bin-Verzeichnis der JRuby-Installation liefern):


    config.action_controller.session = { :key => "_myapp_session", :secret => "ueber-30-zeichen-session-key" }
<syntaxhighlight lang="shell">
which gem
</syntaxhighlight>


Dann werden mit "bundler" die Abhängigkeiten aufgelöst und die Datenbank initialisiert:


Dann lege ich die Datei ''config/database.yml'' mit folgendem Inhalt an:
<syntaxhighlight lang="shell">
gem install bundler
bundle install --without development test
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production REDMINE_LANG=de rake redmine:load_default_data
</syntaxhighlight>


Zum Schluss bauen wir eine Web-Applikation für den Tomcat Server:


    production:
<syntaxhighlight lang="shell">
      adapter: jdbc
gem install warbler
      driver: org.postgresql.Driver
warble war
      url: jdbc:postgresql://localhost/redmine
</syntaxhighlight>
      encoding: unicode
      username: redmine
      password: mein_geheimnis
      host: localhost
      port: 5432


 
=== Installation im Tomcat ===
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
Voraussetzung: Installierter Tomcat-Webserver


Bei Hostsharing lege ich einen Postgres-Datenbank-Admin und eine Datenbank mit HSAdmin an.
Die war-Datei nach Wunsch umbennen (z.B. "redmine.war" oder auch "ROOT.war") und ins webapps-Verzeichnis des Tomcat kopieren.
 
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.


--[[Benutzer:Peh00-phor|Peh00-phor]] 14:17, 17. Feb. 2011 (CET)Peter Hormanns
[[Kategorie:Veraltet]]

Aktuelle Version vom 15. Juli 2024, 10:33 Uhr

veraltet

Wir empfehlen die Installation von Redmine mit Passenger: Redmine_im_Webspace. "Ruby on Rails"-Anwendungen sind Stand heute nicht mit JRuby lauffähig.


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

Ich brauche:

  1. die aktuelle Redmine Version von redmine.org (zur Zeit Version 2.5.1)
  2. die aktuelle JRuby Version von jruby.org (aktuell Version 1.7.11)

Download und Entpacken

cd
mkdir tmp
cd tmp
wget http://jruby.org.s3.amazonaws.com/downloads/1.7.11/jruby-bin-1.7.11.tar.gz
wget http://www.redmine.org/releases/redmine-2.5.1.tar.gz
tar xzf jruby-bin-1.7.11.tar.gz
tar xzf redmine-2.5.1.tar.gz

Datenbank anlegen und konfigurieren

Die Datenbank wird mit HSAdmin angelegt.

Auf der Kommandozeile könnte das so aussehen:

hsscript -u xyz00 -i
Password: ********
xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_dbadmin',password:'geheim'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_redmine',user:'xyz00_dbadmin'}})
xyz00@hsadmin> bye

Dann wird die Datenbank in Redmine konfiguriert, indem die "Datei config/database.yml" in der entpackten Redmine-Software angelegt. Inhalt der Datei:

production:
    adapter: mysql
    database: xyz00_redmine
    host: localhost
    username: xyz00_dbadmin
    password: "geheim"
    encoding: utf8

Bauen der Anwendung

cd $HOME/tmp/redmine-2.5.1
export PATH=$HOME/tmp/jruby-1.7.11/bin:$PATH

Zur Kontrolle (sollte das gem im bin-Verzeichnis der JRuby-Installation liefern):

which gem

Dann werden mit "bundler" die Abhängigkeiten aufgelöst und die Datenbank initialisiert:

gem install bundler
bundle install --without development test
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production REDMINE_LANG=de rake redmine:load_default_data

Zum Schluss bauen wir eine Web-Applikation für den Tomcat Server:

gem install warbler
warble war

Installation im Tomcat

Voraussetzung: Installierter Tomcat-Webserver

Die war-Datei nach Wunsch umbennen (z.B. "redmine.war" oder auch "ROOT.war") und ins webapps-Verzeichnis des Tomcat kopieren.