Ruby on Rails und Redmine installieren: Unterschied zwischen den Versionen

Aus Joachim Schuster Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
==Vorbereitung==
+
==Voraussetzung==
Die Synology DS106j hat einen Speicher von 32MB, was für den Betrieb eines File-/Web- und SVN-Servers durchaus ausreichend ist. Im Späteren Installationsverlauf stellt sich allerdings heraus, dass gem bzw. rake beim Installieren der Gems bzw. beim erzeugen der DB Tabellen wirklich extrem lange brauchen.
+
Die Synology DS106j hat einen Speicher von 32MB, was für den Betrieb eines File-/Web- und SVN-Servers durchaus ausreichend ist. Im Späteren Installationsverlauf stellt sich allerdings heraus, dass gem bzw. rake beim Installieren der Gems bzw. beim erzeugen der DB Tabellen wirklich extrem lange brauchen. Beim Ausführen von ruby selbst stellte sich dann heraus, dass man sich die Tortur auch hätte sparen können. Die 32MB RAM sind einfach zu wenig.
Wer also Festplattenrattern nicht mag und nicht die Zeit von ca. 12 Stunden mit bringen will, der sollte RoR besser nicht mit der schwachbrüstigen DS106j in Erwägung ziehen.
+
Für alle DS > 32MB (aber sogar wohl eher > 128MB) mit ausreichender Prozessorperformance sollte es aber gehen.
  
 
==ruby und rubygems installieren==
 
==ruby und rubygems installieren==
 +
Redmine setzt exakt 1.8.7 voraus. Mit dem Paketmanager ipkg wird 1.9.1 installiert. Trotzdem sollte ein Betrieb möglich sein. Sämtliche Angaben basieren auf folgende (französische) Anleitung:
 +
http://www.vinc3nt.fr/2010/03/installer-redmine-sur-un-synology-ds209ii/ (evtl. mit Google übersetzen lassen).
 +
 
Mit dem folgenden Befehl wird rubygems und automatisch das benötigte ruby installiert:
 
Mit dem folgenden Befehl wird rubygems und automatisch das benötigte ruby installiert:
 
  ipkg install rubygems
 
  ipkg install rubygems
Zeile 9: Zeile 12:
 
Zlib wird ebenfalls benötigt:
 
Zlib wird ebenfalls benötigt:
 
  ipkg install zlib
 
  ipkg install zlib
 
wget http://rubyforge.org/frs/download.php/60717/rubygems-update-1.3.5.gem
 
gem install rubygems-update-1.3.5.gem
 
  
 
unbedingt vor dem starten der gem installationen folgende Zeile in die Datei ~/.gemrc einfügen:
 
unbedingt vor dem starten der gem installationen folgende Zeile in die Datei ~/.gemrc einfügen:
Zeile 17: Zeile 17:
 
Das bewirkt, dass der Update-Mechanismus nicht ausgeführt und die Erstellung der ri und RDoc Dateien nicht erfolgt.
 
Das bewirkt, dass der Update-Mechanismus nicht ausgeführt und die Erstellung der ri und RDoc Dateien nicht erfolgt.
 
Da das Erzeugen der Dateien unter umständen sehr lange dauern kann, ist es besser bei der Synology Installation darauf zu verzichten.
 
Da das Erzeugen der Dateien unter umständen sehr lange dauern kann, ist es besser bei der Synology Installation darauf zu verzichten.
 +
 
Das Problem ist, dass gem sehr resourcenhungrig ist, die Synology 106 aber nur 32MB RAM zur Verfügung hat. Gem ist damit hoffnungslos unterversorgt, sodass permanent geswapt wird. Das lässt sich auch akkustisch wahrnehmen - die Festplatte rattert permanent.
 
Das Problem ist, dass gem sehr resourcenhungrig ist, die Synology 106 aber nur 32MB RAM zur Verfügung hat. Gem ist damit hoffnungslos unterversorgt, sodass permanent geswapt wird. Das lässt sich auch akkustisch wahrnehmen - die Festplatte rattert permanent.
  
 +
Für die 0.9.4 Version von Redmine wird rack 1.0.1 benötigt, was standardmäßig bei rails 2.3.5 installiert werden würde. Daher ist es sinnvoll, rails schon in der Version 2.3.5 zu installieren.
 
Zum Installieren von Rails folgende Befehle eingeben:
 
Zum Installieren von Rails folgende Befehle eingeben:
  gem install rake (ca. 1 Stunde, standard-Parameter)
+
  gem install rake (ca. 1 Stunde obwohl --no-ri --no-rdoc aktiviert)
gem install ruby-mysql (ca. 2 Minuten, --no-ri --no-rdoc aktiviert)
+
  gem install rails -v 2.3.5 (ca. 6 Stunden obwohl --no-ri --no-rdoc aktiviert)
  gem install rails (ca. 6 Stunden obwohl --no-ri --no-rdoc aktiviert)
+
  
rack 1.1.0 wird mit rails 2.3.8 ausgeliefert
+
Wer allerdings rails ohne Versions-Parameter installiert hat, kann auch einfach nur rack in der korrekten Version nachinstallieren:
rack 1.0.1 wird allerdings benötigt, daher noch
+
  gem install rack -v 1.0.1
  gem install rack -v=1.0.1
+
 
+
Das ganze dauert also wirklich verdammt lange.
+
  
 
Wer dazu noch das Problem hat, dass die Seite http://gems.rubyforge.org/ (bzw. neuer: http://rubygems.org/) nicht erreichbar ist, sollte es über einen Proxy versuchen:
 
Wer dazu noch das Problem hat, dass die Seite http://gems.rubyforge.org/ (bzw. neuer: http://rubygems.org/) nicht erreichbar ist, sollte es über einen Proxy versuchen:
Zeile 34: Zeile 32:
 
  export HTTP_PROXY="http://PROXY_IP:PROXY_PORT"
 
  export HTTP_PROXY="http://PROXY_IP:PROXY_PORT"
  
Anschließend kann man sich die Seite im Browser anschauen und auch per gem installieren.
+
MySql installieren:
 +
gem install mysql
 +
funktionierte bei mir nicht. Auch der in vielen Foren beschriebene Weg über die mysql_config Angabe funktionierte nicht, da die mysql_config auf der DiskStation nicht zu finden ist.
 +
gem install mysql -- --with-mysql-config=<pfad_zur_mysql_config>/msql_config
 +
 
 +
Geht auch anders, dazu im Home-Verzeichnis des root-users (/root) dann folgendes eingeben:
 +
wget http://github.com/downloads/tmtm/ruby-mysql/ruby-mysql-2.9.2-beta.tar.gz
 +
tar -xzvf ruby-mysql-2.9.2-beta.tar.gz
 +
ruby-mysql-2.9.2-beta/
 +
ruby setup.rb
 +
 
 +
Wenn das alles funktioniert hat, steht der Installation von Redmine nichts mehr im Wege.
 +
 
 +
* Soll der Dienst später unter einem bestimmten Nutzer laufen, diesen Anlegen über DSM, z.B. redmine.
 +
* Ein Verzeichnis mit den Userrechten von redmine anlegen:
 +
su redmine
 +
mkdir /volume1/redmine
 +
* redmine downloaden und enpacken
 +
cd /volume1/redmine
 +
wget http://rubyforge.org/frs/download.php/70486/redmine-0.9.4.tar.gz
 +
tar xzvf redmine-0.9.4.tar.gz
 +
* ins config Verzeichnis wechseln und database.yml als Kopie erstellen
 +
cd redmine-0.9.4/
 +
cd config/
 +
cp database.yml.example database.yml 
 +
* editieren (pico database.yml) und folgendes eintragen:
 +
production:
 +
adapter: mysql
 +
database: redmine <= Anlegen in MySQL
 +
host: localhost
 +
username: redmine <= Anlegen MySQL, mit schreibrechten etc. auf Datenbank redmine
 +
password: my_password <= evtl. vergebenes Passwort

Version vom 9. Juni 2010, 12:41 Uhr

Voraussetzung

Die Synology DS106j hat einen Speicher von 32MB, was für den Betrieb eines File-/Web- und SVN-Servers durchaus ausreichend ist. Im Späteren Installationsverlauf stellt sich allerdings heraus, dass gem bzw. rake beim Installieren der Gems bzw. beim erzeugen der DB Tabellen wirklich extrem lange brauchen. Beim Ausführen von ruby selbst stellte sich dann heraus, dass man sich die Tortur auch hätte sparen können. Die 32MB RAM sind einfach zu wenig. Für alle DS > 32MB (aber sogar wohl eher > 128MB) mit ausreichender Prozessorperformance sollte es aber gehen.

ruby und rubygems installieren

Redmine setzt exakt 1.8.7 voraus. Mit dem Paketmanager ipkg wird 1.9.1 installiert. Trotzdem sollte ein Betrieb möglich sein. Sämtliche Angaben basieren auf folgende (französische) Anleitung: http://www.vinc3nt.fr/2010/03/installer-redmine-sur-un-synology-ds209ii/ (evtl. mit Google übersetzen lassen).

Mit dem folgenden Befehl wird rubygems und automatisch das benötigte ruby installiert:

ipkg install rubygems

Zlib wird ebenfalls benötigt:

ipkg install zlib

unbedingt vor dem starten der gem installationen folgende Zeile in die Datei ~/.gemrc einfügen:

gem: -no-update-sources --no-ri --no-rdoc

Das bewirkt, dass der Update-Mechanismus nicht ausgeführt und die Erstellung der ri und RDoc Dateien nicht erfolgt. Da das Erzeugen der Dateien unter umständen sehr lange dauern kann, ist es besser bei der Synology Installation darauf zu verzichten.

Das Problem ist, dass gem sehr resourcenhungrig ist, die Synology 106 aber nur 32MB RAM zur Verfügung hat. Gem ist damit hoffnungslos unterversorgt, sodass permanent geswapt wird. Das lässt sich auch akkustisch wahrnehmen - die Festplatte rattert permanent.

Für die 0.9.4 Version von Redmine wird rack 1.0.1 benötigt, was standardmäßig bei rails 2.3.5 installiert werden würde. Daher ist es sinnvoll, rails schon in der Version 2.3.5 zu installieren. Zum Installieren von Rails folgende Befehle eingeben:

gem install rake (ca. 1 Stunde obwohl --no-ri --no-rdoc aktiviert)
gem install rails -v 2.3.5 (ca. 6 Stunden obwohl --no-ri --no-rdoc aktiviert)

Wer allerdings rails ohne Versions-Parameter installiert hat, kann auch einfach nur rack in der korrekten Version nachinstallieren:

gem install rack -v 1.0.1

Wer dazu noch das Problem hat, dass die Seite http://gems.rubyforge.org/ (bzw. neuer: http://rubygems.org/) nicht erreichbar ist, sollte es über einen Proxy versuchen: Wer keinen schnell zur Hand hat, kann evtl. hier einen wählen: http://www.xroxy.com/proxy-country.htm.

export HTTP_PROXY="http://PROXY_IP:PROXY_PORT"

MySql installieren:

gem install mysql

funktionierte bei mir nicht. Auch der in vielen Foren beschriebene Weg über die mysql_config Angabe funktionierte nicht, da die mysql_config auf der DiskStation nicht zu finden ist.

gem install mysql -- --with-mysql-config=<pfad_zur_mysql_config>/msql_config

Geht auch anders, dazu im Home-Verzeichnis des root-users (/root) dann folgendes eingeben:

wget http://github.com/downloads/tmtm/ruby-mysql/ruby-mysql-2.9.2-beta.tar.gz
tar -xzvf ruby-mysql-2.9.2-beta.tar.gz
ruby-mysql-2.9.2-beta/
ruby setup.rb

Wenn das alles funktioniert hat, steht der Installation von Redmine nichts mehr im Wege.

  • Soll der Dienst später unter einem bestimmten Nutzer laufen, diesen Anlegen über DSM, z.B. redmine.
  • Ein Verzeichnis mit den Userrechten von redmine anlegen:
su redmine
mkdir /volume1/redmine
  • redmine downloaden und enpacken
cd /volume1/redmine
wget http://rubyforge.org/frs/download.php/70486/redmine-0.9.4.tar.gz
tar xzvf redmine-0.9.4.tar.gz
  • ins config Verzeichnis wechseln und database.yml als Kopie erstellen
cd redmine-0.9.4/
cd config/
cp database.yml.example database.yml  
  • editieren (pico database.yml) und folgendes eintragen:
production:
adapter: mysql
database: redmine <= Anlegen in MySQL
host: localhost
username: redmine <= Anlegen MySQL, mit schreibrechten etc. auf Datenbank redmine
password: my_password <= evtl. vergebenes Passwort