Vielen Dank an Juergen (juergensa) für die folgende Anleitung!
Redmine 0.9.x mit Sheevaplug Ubuntu 9.04 ARM, Apache, Passenger, MySQL und Mercurial¶
Vorwort¶
Diese Anleitung beschreibt die Installation von Redmine 0.9.x auf dem Sheevaplug mit Ubuntu 9.04 ARM, Kernel 2.6.33.4 und Mercurial Unterstützung.
Es ist zu beachten, dass durch die Verwendung von Apache, MySQL und Mercurial häufig Schreibzugriffe stattfinden werden (Logdateien, Datenbank und Repositorys).
Da ich mein gesamtes Rootfilesystem auf einen 16GByte USB-Stick ausgelagert habe, brauche ich keine Bedenken haben, dass mein internes Flash durch zuhäufige Schreiboperationen in Mitleidenschaft gezogen wird.
Eine entsprechende Konfiguration der Apache-Logdateien und eine Auslagerung der MySQL-Dadenbank und der Mercurial-Reposaitorys auf einen externen Datenspeicher haben betimmt den gleichen Effekt. Dieses wird hier aber nicht thematisiert.
Vorbereitungen
# apt-get update # apt-get install nano # apt-get install subversion # apt-get install mercurial
Grundpakete installieren¶
Ruby on Rails & Co
# apt-get install apache2 ruby ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8 libruby-extras libruby1.8-extras apache2-threaded-dev libapache-dbi-perl libapache2-mod-perl2 libdigest-sha1-perl libopenssl-ruby build-essential rake
RubyGems 1.3.7 installieren
Redmine benötigt eine neuere Version von RubyGems als im SheevaPlug apt-Paket vorhanden ist.
# cd /root # wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz # tar xzvf rubygems-1.3.7.tgz # cd rubygems-1.3.7 # ruby setup.rb # cd .. # rm -R rubygems-1.3.7
Rails auf 2.3.5 updaten
Redmine benötigt Rails Version 2.3.5 , diese Version erst jetzt nach der Installation von RubyGems installieren.
# gem install -v=2.3.5 rails --no-ri --no-rdoc
-> warten
Weitere benötigte Pakete durch Gem installieren
MySQL Unterstützung ist im Rails Paket ab Version 2.3.5 nicht mehr enthalten. Daher diese nachinstallieren.
Falls benötigt, OpenID Unterstützung installieren.
# gem install mysql --no-ri --no-rdoc # gem install ruby-openid --no-ri --no-rdoc
MySQL¶
MySQL installieren und Datenbank für Redmine anlegen
# apt-get install mysql-server
root Passwort festlegen
Datenbank für redmine anlegen:
# mysql -u root -p mysql> CREATE DATABASE `redmine` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> quit
Redmine¶
Redmine installieren
Informationen zum neuesten Redmine Release gibt es hier: http://www.redmine.org/wiki/redmine/Download .
Durch folgende Befehlssequenzen wird Redmind in /var/www/remine installiert.
Apache Benutzer/Groupe www-data ggf. an eigene Bedürfnisse anpassen.
# cd /var/www # svn co http://redmine.rubyforge.org/svn/branches/0.9-stable redmine # chown -R www-data:www-data /var/www/redmine
Redmine konfigurieren
Redmine Datenbank- und Mail-Beispielkonfiguration kopieren und anpassen
# cd /var/www/redmine/config # cp database.yml.example database.yml # cp email.yml.example email.yml
Datenbankinformationen
# nano database.yml
Unter 'production:' username und password entsprechend anpassen
Mailserverinformationen
# nano email.yml
Falls Mailserverunterstützung benötigt wird, entsprechende Anpassungen durchführen.
Redmine Datenbank vorbereiten
Initiale Füllung der Datenbank durch Redmine.
# cd /var/www/redmine # rake generate_session_store # rake db:migrate RAILS_ENV="production" # rake redmine:load_default_data RAILS_ENV="production"
Apache¶
Passenger
Passenger ist ein Apache2 Modul um Ruby on Rails Scripte durch Apache laufen zu lassen.
# gem install passenger --no-ri --no-rdoc # /usr/bin/passenger-install-apache2-module
1 drücken für 'Apache 2 module will be installed for you'
Folgenden Inhaltanpassungen sind abhängig von der gerade installierten Passenger Version. Bei mir 2.2.15 (siehe Abb. 1).
Ggf. Pfade anpassen!

Abb. 1
Datei /etc/apache2/mods-available/passenger.load
# nano /etc/apache2/mods-available/passenger.load
hinzufügen (X.X.XX an verwendete Passenger Version anpassen):
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-X.X.XX/ext/apache2/mod_passenger.so
Datei /etc/apache2/mods-available/passenger.conf
# nano /etc/apache2/mods-available/passenger.conf
hinzufügen (X.X.XX an verwendete Passenger Version anpassen):
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-X.X.XX PassengerRuby /usr/bin/ruby1.8
Apache Passenger Module aktivieren und Apache neustarten.
# a2enmod passenger # /etc/init.d/apache2 restart
Rewrite
Redmine legt automatisch eine .htaccess Datei an.
Hierin gibt es Rewrite Direktiven. Aus diesem Grunde muss das Apache Modul mod_rewrite aktiviert sein.
# a2enmod rewrite # /etc/init.d/apache2 restart
Update: All RewriteRule und RewriteCond Direktiven im Verzeichnis /var/www/redmine/public/.htaccess Datei auskommentieren. Sonst funktioniert es nicht.
# nano /var/www/redmine/public/.htaccess
###RewriteRule ^$ index.html [QSA]
###RewriteRule ^([^.]+)$ $1.html [QSA]
###RewriteCond %{REQUEST_FILENAME} !-f
Apache Virtual Host anlegen und aktivieren
Hier wird ein Virtual Host redmine.sheevaplug.loc angelegt der auf /var/www/redmine/public verweist.
# nano /etc/apache2/sites-available/redmine.sheevaplug.loc
Und folgendes einfügen:
<virtualhost *:80>
ServerName redmine.sheevaplug.loc
RewriteEngine on
PassengerPoolIdleTime 0
DocumentRoot /var/www/redmine/public
<directory /var/www/redmine/public>
AllowOverride all
Options FollowSymLinks -MultiViews
</directory>
</virtualhost>
Durch PassengerPoolIdleTime 0 wird Passenger permanent im Speicher gehalten.
Dieses beschleunigt den Seitenaufbau nach längerer Inaktivität erheblich.
Virtual Host aktivieren und Apache neustarten
# a2ensite redmine.sheevaplug.loc # /etc/init.d/apache2 restart
Schnell noch die Datei hosts Deines PCs anpassen und dann redmine.sheevaplug.loc im lieblings Browser öffnen
(beim ersten Aufruf dauert es immer ein Weilchen...)
Initial-Login mit
Benutzer: admin
Passwort: admin
Unter Windows 7 liegt die Datei hosts in C:\Windows\System32\drivers\etc
Folgendes hinzufügen:
IP.vom.Sheeva.Plug redmine.sheevaplug.loc
Weitere Anleitungen:
- Mercurial Repository Zugriffskontrolle mittels hgwebdir.cgi und Redmine User-Datenbank
- Zugriff auf redmine.sheevaplug.loc und Mercurial Repositorys über HTTPS





