Redmine FastCGI installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(veraltet, bitte löschen)
KKeine Bearbeitungszusammenfassung
 
Zeile 15: Zeile 15:
Download der aktuellen Redmine Version von [http://rubyforge.org/frs/?group_id=1850 RubyForge] (zur Zeit Version 1.4.1)
Download der aktuellen Redmine Version von [http://rubyforge.org/frs/?group_id=1850 RubyForge] (zur Zeit Version 1.4.1)


  cd ~
<syntaxhighlight lang="shell">
  tar xfz /path/to/redmine-1.4.1-tgz
cd ~
  cd ~/redmine-1.4.1
tar xfz /path/to/redmine-1.4.1-tgz
cd ~/redmine-1.4.1
</syntaxhighlight>


=== Auflösen der Abhängigkeiten ===
=== Auflösen der Abhängigkeiten ===


  export GEM_PATH=$( gem env gempath )
<syntaxhighlight lang="shell">
  export GEM_HOME=$HOME/.gem/ruby/1.8
export GEM_PATH=$( gem env gempath )
  export RAILS_ENV=production
export GEM_HOME=$HOME/.gem/ruby/1.8
  gem install bundler
export RAILS_ENV=production
gem install bundler
</syntaxhighlight>


=== Konfiguration ===
=== Konfiguration ===
Zeile 34: Zeile 38:
Die Datenbank konfigurieren ich wie folgt:
Die Datenbank konfigurieren ich wie folgt:


  cd ~/redmine-1.4.1/config/
<syntaxhighlight lang="shell">
  vi database.yml
cd ~/redmine-1.4.1/config/
vi database.yml
</syntaxhighlight>


mit folgendem Inhalt:
mit folgendem Inhalt:


  production:
<syntaxhighlight lang="yaml" line>
production:
     adapter: postgresql
     adapter: postgresql
     database: xyz00_redmine
     database: xyz00_redmine
Zeile 45: Zeile 52:
     username: xyz00_redmine
     username: xyz00_redmine
     password: geheim
     password: geheim
</syntaxhighlight>


==== E-Mail, Dateiablage ====
==== E-Mail, Dateiablage ====


  cd ~/redmine-1.4.1/config/
<syntaxhighlight lang="shell">
  vi configuration.yml
cd ~/redmine-1.4.1/config/
vi configuration.yml
</syntaxhighlight>


Wichtige Inhalte:
Wichtige Inhalte:


  default:
<syntaxhighlight lang="yaml" line>
default:
     email_delivery:
     email_delivery:
      delivery_method: :smtp
        delivery_method: :smtp
      smtp_settings:
        smtp_settings:
         address: localhost
         address: localhost
         port: 25
         port: 25
         domain: example.org
         domain: example.org
     attachments_storage_path: /home/pacs/xyz00/users/redmine/attach
     attachments_storage_path: /home/pacs/xyz00/users/redmine/attach
</syntaxhighlight>


=== Laden von Abhängigkeiten, Datenbankschema ===
=== Laden von Abhängigkeiten, Datenbankschema ===
Zeile 66: Zeile 78:
Folgende Kommandos ausführen:
Folgende Kommandos ausführen:


  cd ~/redmine-1.4.1
<syntaxhighlight lang="shell">
  ~/.gem/ruby/1.8/bin/bundle install --without development test
cd ~/redmine-1.4.1
  ~/.gem/ruby/1.8/bin/bundle exec rake generate_session_store
~/.gem/ruby/1.8/bin/bundle install --without development test
  ~/.gem/ruby/1.8/bin/bundle exec rake db:migrate
~/.gem/ruby/1.8/bin/bundle exec rake generate_session_store
  ~/.gem/ruby/1.8/bin/bundle exec rake redmine:load_default_data
~/.gem/ruby/1.8/bin/bundle exec rake db:migrate
~/.gem/ruby/1.8/bin/bundle exec rake redmine:load_default_data
</syntaxhighlight>


Das Skript fragt einer Sprache für die Inhalte der Datenbank: je nach Wunsche 'de' oder 'en' wählen.
Das Skript fragt einer Sprache für die Inhalte der Datenbank: je nach Wunsche 'de' oder 'en' wählen.
Zeile 78: Zeile 92:
Datei ~/doms/redmine.example.org/htdocs/.htaccess
Datei ~/doms/redmine.example.org/htdocs/.htaccess


  RewriteEngine On
<syntaxhighlight lang="apache" line>
  RewriteRule ^$ index.html [QSA]
RewriteEngine On
  RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteRule ^$ index.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
RewriteCond %{REQUEST_FILENAME} !-f [OR]
  RewriteRule ^(.*)$ /fastcgi-bin/dispatch.fcgi [QSA,L]
RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
RewriteRule ^(.*)$ /fastcgi-bin/dispatch.fcgi [QSA,L]
</syntaxhighlight>


Datei ~/doms/redmine.example.org/fastcgi/dispatch.fcgi
Datei ~/doms/redmine.example.org/fastcgi/dispatch.fcgi


  #!/usr/bin/env ruby
<syntaxhighlight lang="ruby" line>
  require "/home/pacs/xyz00/users/meinuser/redmine-1.4.1/config/environment"  
#!/usr/bin/env ruby
  require 'fcgi_handler'
require "/home/pacs/xyz00/users/meinuser/redmine-1.4.1/config/environment"  
  RailsFCGIHandler.process!
require 'fcgi_handler'
RailsFCGIHandler.process!
</syntaxhighlight>


FastCGI-Skript ausführbar machen:
FastCGI-Skript ausführbar machen:


  chmod 755 ~/doms/redmine.example.org/fastcgi/dispatch.fcgi
<syntaxhighlight lang="shell">
 
chmod 755 ~/doms/redmine.example.org/fastcgi/dispatch.fcgi
</syntaxhighlight>


Am Anfang von ~/redmine-1.4.1/config/environment.rb füge ich ein:
Am Anfang von ~/redmine-1.4.1/config/environment.rb füge ich ein:


  ENV['RAILS_ENV'] ||= 'production'
<syntaxhighlight lang="ruby" line>
  ENV['GEM_PATH'] ||= '/home/pacs/xyz00/users/meinuser/.gem/ruby/1.8:/var/lib/gems/1.8'
ENV['RAILS_ENV'] ||= 'production'
ENV['GEM_PATH'] ||= '/home/pacs/xyz00/users/meinuser/.gem/ruby/1.8:/var/lib/gems/1.8'
</syntaxhighlight>


Die Inhalte von ~/doms/redmine.example.org/public/ als webroot sichtbar machen:
Die Inhalte von ~/doms/redmine.example.org/public/ als webroot sichtbar machen:


  # Vorhandene Dateien sichern. (Alternativ in ~/redmine-1.4.1/public kopieren)
<syntaxhighlight lang="shell">
  mv ~/doms/redmine.example.org/htdocs ~/doms/redmine.example.org/htdocs.old
# Vorhandene Dateien sichern. (Alternativ in ~/redmine-1.4.1/public kopieren)
  ln -s ~/redmine-1.4.1/public ~/doms/redmine.example.org/htdocs
mv ~/doms/redmine.example.org/htdocs ~/doms/redmine.example.org/htdocs.old
ln -s ~/redmine-1.4.1/public ~/doms/redmine.example.org/htdocs
</syntaxhighlight>


=== Konfiguration von SSL ===
=== Konfiguration von SSL ===

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


veraltet

Wir empfehlen die Installation von Redmine mit Passenger: Redmine_im_Webspace.


Redmine mit FastCGI 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 Rails-Anwendungen betrieben kann.

Vorbereitungen

Download der aktuellen Redmine Version von RubyForge (zur Zeit Version 1.4.1)

cd ~
tar xfz /path/to/redmine-1.4.1-tgz
cd ~/redmine-1.4.1

Auflösen der Abhängigkeiten

export GEM_PATH=$( gem env gempath )
export GEM_HOME=$HOME/.gem/ruby/1.8
export RAILS_ENV=production
gem install bundler

Konfiguration

Datenbank

Mit hsadmin habe ich den Postgres-User 'xyz00_redmine' (Passwort sei 'geheim') und die Datenbank 'xyz00_redmine' angelegt.

Die Datenbank konfigurieren ich wie folgt:

cd ~/redmine-1.4.1/config/
vi database.yml

mit folgendem Inhalt:

production:
    adapter: postgresql
    database: xyz00_redmine
    host: localhost
    username: xyz00_redmine
    password: geheim

E-Mail, Dateiablage

cd ~/redmine-1.4.1/config/
vi configuration.yml

Wichtige Inhalte:

default:
    email_delivery:
        delivery_method: :smtp
        smtp_settings:
        address: localhost
        port: 25
        domain: example.org
    attachments_storage_path: /home/pacs/xyz00/users/redmine/attach

Laden von Abhängigkeiten, Datenbankschema

Folgende Kommandos ausführen:

cd ~/redmine-1.4.1
~/.gem/ruby/1.8/bin/bundle install --without development test
~/.gem/ruby/1.8/bin/bundle exec rake generate_session_store
~/.gem/ruby/1.8/bin/bundle exec rake db:migrate
~/.gem/ruby/1.8/bin/bundle exec rake redmine:load_default_data

Das Skript fragt einer Sprache für die Inhalte der Datenbank: je nach Wunsche 'de' oder 'en' wählen.

Konfiguration von FastCGI

Datei ~/doms/redmine.example.org/htdocs/.htaccess

RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
RewriteRule ^(.*)$ /fastcgi-bin/dispatch.fcgi [QSA,L]

Datei ~/doms/redmine.example.org/fastcgi/dispatch.fcgi

#!/usr/bin/env ruby
require "/home/pacs/xyz00/users/meinuser/redmine-1.4.1/config/environment" 
require 'fcgi_handler'
RailsFCGIHandler.process!

FastCGI-Skript ausführbar machen:

chmod 755 ~/doms/redmine.example.org/fastcgi/dispatch.fcgi

Am Anfang von ~/redmine-1.4.1/config/environment.rb füge ich ein:

ENV['RAILS_ENV'] ||= 'production'
ENV['GEM_PATH'] ||= '/home/pacs/xyz00/users/meinuser/.gem/ruby/1.8:/var/lib/gems/1.8'

Die Inhalte von ~/doms/redmine.example.org/public/ als webroot sichtbar machen:

# Vorhandene Dateien sichern. (Alternativ in ~/redmine-1.4.1/public kopieren)
mv ~/doms/redmine.example.org/htdocs ~/doms/redmine.example.org/htdocs.old
ln -s ~/redmine-1.4.1/public ~/doms/redmine.example.org/htdocs

Konfiguration von SSL

Die Verzeichnisse ~/doms/redmine.example.org/fastcgi-ssl/ und ~/doms/redmine.example.org/htdocs-ssl/ werden analog zu bzw. anstelle von fastcgi und htdocs gefüllt.