Teambox auf Turnkey Linux Ubuntu 8.04.3 installieren
Ein Freund hat mich um Hilfe gebeten – er hätte gerne Teambox installiert.
Es soll natürlich nicht irgendwo sein, sondern auf einer TurnKey Linux Appliance.
TurnKey ist äußerst praktisch. TurnKey bietet vorgefertigt installierte Images mit Ubuntu 8.04.3 und verschiedenen Applikationen an. Die kann man direkt in Amazons EC2 Cloud, auf einem eigenen Server oder diversen Virtualisierern verwenden.
Als Grundlage wird die TurnKey Ruby on Rails Appliance verwendet.
Die Installation ist nicht ganz trivial, obwohl eine Anleitung existiert. Die Versionen einiger Tools sind bei dem in die Jahre gekommenen Ubuntu 8.04 bereits zu alt, es fehlen noch ein paar Pakete und außerdem braucht man noch ein paar Infos aus einer anderen Anleitung.
Folgendes Vorgehen führt zum Erfolg:
root@rails:~# apt-get update
root@rails:~# apt-get upgrade
root@rails:~# apt-get install imagemagick git rake \
rubygems libdbd-mysql-ruby liberuby-dev \
libxml2-dev libxslt1-dev joe
root@rails:~# cd /var/www/
root@rails:/var/www# mv railsapp/ railsapp.old
root@rails:/var/www# git clone git://github.com/micho/teambox.git railsapp
root@rails:/var/www# mv /usr/bin/gem /usr/bin/gem.old
root@rails:/var/www# ln -s /usr/bin/gem1.8 /usr/bin/gem #(Danke an Martin Videc!)
root@rails:/var/www# gem update --system
root@rails:/var/www# gem install bundler -v '~> 0.9.12'
root@rails:/var/www# cd railsapp/
root@rails:/var/www/railsapp# bundle install
Datenbankkonfiguration für das Production Environment ändern und installieren:
root@rails:/var/www/railsapp# joe config/database.yml
Wenn man den Datenbank User und Passwort geändert hat, wird
root@rails:/var/www/railsapp# RAILS_ENV=production rake db:create
nicht mehr funktionieren. Stattdessen:
root@rails:/var/www/railsapp# mysql -u root
mysql> CREATE DATABASE teamboxdatenbank COLLATE utf8_unicode_ci;
mysql> CREATE USER teamboxuser@localhost IDENTIFIED by 'passwort';
mysql> GRANT ALL ON teamboxdatenbank.* to teamboxuser@localhost;
mysql> exit
Dann hier weiter. In teambox.yml müssen die korrekte Domain und E-Mail Einstellungen eingetragen werden!
root@rails:/var/www/railsapp# RAILS_ENV=production rake db:auto:migrate
root@rails:/var/www/railsapp# joe config/teambox.yml
root@rails:/var/www/railsapp# ./script/server -p 3000 -e production
Unter http://[appliance-ip]:3000/
nachschauen – geht!
Falls doch nicht, Server nochmal beenden und:
root@rails:/var/www/railsapp# mv public/stylesheets/sass/wrapper.sass public/stylesheets/sass/_wrapper.sass #(Danke an Miquel!)
Dann Server wieder beenden und folgendes ausführen:
(Beim ersten Request werden einige Dateien angelegt – das funktioniert aus unbekannten Gründen nicht via Passenger, deshalb unbedingt einmal mit dem Stand-Alone Server starten!)
root@rails:/var/www/railsapp# chown -R :www-data .
root@rails:/var/www/railsapp# chown -R www-data log tmp/
Sehr zu empfehlen ist der Betrieb unter Apache via Passenger. Das sollte auf den neusten Stand gebracht werden:
root@rails:/var/www/railsapp# cd /etc/apache2/conf.d/
root@rails:/etc/apache2/conf.d# gem install passenger
root@rails:/etc/apache2/conf.d# passenger-install-apache2-module
root@rails:/etc/apache2/conf.d# joe passenger
-> Dort die entsprechenden Zeilen aus der Ausgabe von passenger-install-apache2-module
austauschen.
root@rails:/etc/apache2/conf.d# /etc/init.d/apache2 restart
Jetzt ist Teambox auf Port 80 unter http://[appliance-ip]/
erreichbar.