<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>martin-grandrath.de &#187; Lenny</title>
	<atom:link href="http://martin-grandrath.de/tags/lenny/feed/" rel="self" type="application/rss+xml" />
	<link>http://martin-grandrath.de</link>
	<description>Ein neues WordPress-Weblog</description>
	<lastBuildDate>Fri, 23 Oct 2009 22:35:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Redmine mit MySQL und Apache unter Debian Lenny</title>
		<link>http://martin-grandrath.de/2009/08/redmine-mit-mysql-und-apache-unter-debian-lenny/</link>
		<comments>http://martin-grandrath.de/2009/08/redmine-mit-mysql-und-apache-unter-debian-lenny/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 10:53:00 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Lenny]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Ticketsystem]]></category>

		<guid isPermaLink="false">http://martin-grandrath.de/?p=185</guid>
		<description><![CDATA[Das auf Rails aufsetzende Ticketsystem Redmine bietet unter anderem ein integriertes Wiki, eine Dateiverwaltung sowie Anbindungen an diverse Versions-Verwaltungs-Systeme.  In diesem Artikel möchte ich zeigen, wie Redmine unter Debian Lenny installiert und mit MySQL-Anbindung sowie Apache2 und mod_fcgid konfiguriert werden kann.
Ich gehe im Folgenden von einer Lenny-Basisinstallation aus, d.h. es sind keine Pakete aus [...]]]></description>
			<content:encoded><![CDATA[<p>Das auf Rails aufsetzende Ticketsystem <a href="http://www.redmine.org/" rel="external">Redmine</a> bietet unter anderem ein integriertes Wiki, eine Dateiverwaltung sowie Anbindungen an diverse Versions-Verwaltungs-Systeme.  In diesem Artikel möchte ich zeigen, wie Redmine unter Debian Lenny installiert und mit MySQL-Anbindung sowie Apache2 und mod_fcgid konfiguriert werden kann.</p>
<p>Ich gehe im Folgenden von einer Lenny-Basisinstallation aus, d.h. es sind keine Pakete aus Fremdquellen oder ähnliches installiert.  Der Server, auf dem Redmmine aufgesetzt wird, ist unter dem Namen redmine.example.com erreichbar und nimmt auf localhost:25 Mails ohne Authentifizierung entgegen.  MySQL und Apache müssen noch nicht installiert sein.</p>
<p>Als erstes sollten Ruby, Rubygems und Rails installiert und eingerichtet werden, wie ich es <a href="/2009/02/ruby-on-rails-22-unter-debian-lenny-installieren/">in einem früheren Artikel</a> beschrieben habe.  Die Pfade in den weiteren Schritten beziehen sich auf diese Konfiguration.</p>
<h3>MySQL</h3>
<p>Als erstes werden die für MySQL benötigten Debian-Pakete installiert:</p>
<pre class="code code-cli"><kbd># aptitude install mysql-server build-essential ruby1.8-dev libmysqlclient15-dev
</kbd></pre>
<p>Als nächstes das gem für die Ruby-MySQL-Anbindung:</p>
<pre class="code code-cli"><kbd># gem install mysql
</kbd></pre>
<h3>Redmine installieren</h3>
<p>Das Verzeichnis für die Redmine-Dateien kann frei gewählt werden (ich verwende /srv/www/redmine).  Die einzige Voraussetzung ist, dass der Webserver Leserechte für diesen Pfad besitzt.</p>
<h4>Download und Installation</h4>
<p>Die aktuelle Version von Redmine kann bei <a href="http://rubyforge.org/frs/?group_id=1850" rel="external">Rubyforge</a> heruntergeladen werden. Die derzeit aktuelle Version ist 0.8.4.</p>
<pre class="code code-cli"><kbd># mkdir -p /srv/www/
# cd /srv/www/
# wget http://rubyforge.org/frs/download.php/56909/redmine-0.8.4.tar.gz
# tar xvzf redmine-0.8.4.tar.gz
# mv redmine-0.8.4 redmine
# cd redmine
</kbd></pre>
<p>Nun müssen die Zugriffsrechte gesetzt werden, so dass der Webserver (www-data) schreibend auf files/, log/, tmp/ und public/plugin_assets/ zugreifen kann:</p>
<pre class="code code-cli"><kbd># mkdir tmp public/plugin_assets
# chgrp -R www-data files log tmp public/plugin_assets
# chmod -R g+w files log tmp public/plugin_assets
</kbd></pre>
<h4>Leere Datenbank einrichten</h4>
<p>Als erstes wird eine leere Datenbank sowie ein User mit jeweils dem Namen &#8216;redmine&#8217; angelegt.  Dem neuen User werden volle Zugriffsrechte auf die Datenbank gegeben:</p>
<pre class="code code-cli"><kbd># mysql -uroot -p
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'my_password';
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
</kbd></pre>
<h4>Anpassen der Konfiguration</h4>
<p>Damit Redmine auf die Datenbank zugreifen kann, müssen die Zugangsdaten entsprechend eingetragen werden:</p>
<pre class="code code-cli"><kbd># cp config/database.yml.example config/database.yml
</kbd></pre>
<p>In der Datei config/database.yml muss der Abschnitt &#8216;production&#8217; angepasst werden:</p>
<pre class="code code-yml"><code>production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: my_password
  encoding: utf8
</code></pre>
<p>Die anderen Abschnitte sind nur dann interessant, wenn man Redmine in einer anderen als der &#8216;production&#8217;-Umgebung betreiben möchte. Ansonsten können sie bleiben wie sie sind.</p>
<h4>Die Datenbank befüllen</h4>
<p>Nun kann Redmine auf die Datenbank zugreifen und das Schema kann per Rake-Task angelegt werden:</p>
<pre class="code code-cli"><kbd># rake db:migrate RAILS_ENV="production"
</kbd></pre>
<p>Es empfiehlt sich, die Default-Konfiguration ebenfalls zu laden, dies ist aber optional:</p>
<pre class="code code-cli"><kbd># rake redmine:load_default_data RAILS_ENV="production"
</kbd></pre>
<h4>Testen der Installation</h4>
<p>An dieser Stelle kann die Installation bereits mit dem WEBrick Webserver getestet werden:</p>
<pre class="code code-cli"><kbd># ruby script/server webrick -e production
</kbd></pre>
<p>Redmine sollte unter der Adresse redmine.example.com:3000 erreichbar sein und ein login (User: admin, Passwort: admin) sollte ebenfalls möglich sein.  Hinweis: Damit der Login nicht fehlschlägt, müssen (Session-)Cookies akzeptiert werden.</p>
<p>Mit <kbd>Ctrl-C</kbd> wird der Webserver wieder beendet.</p>
<h4>SMTP Konfiguration</h4>
<p>Soll Redmine E-Mails versenden können, muss eine weitere Konfigurationsdatei angepasst werden:</p>
<pre class="code code-cli"><kbd># cp config/email.yml.example config/email.yml
</kbd></pre>
<p>Hier muss ebenfalls der Abschnitt &#8216;production&#8217; bearbeitet werden:</p>
<pre class="code code-yml"><code>production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: example.com
    authentication: :none
</code></pre>
<h3>Apache installieren</h3>
<p>Für diesen Teil der Installation musste ich recht lange herumprobieren, bis das Gespann aus Rails, mod_fcgid und Apache korrekt funktioniert hat.  Bei diesem Zusammenspiel kann leider allzuviel schiefgehen.</p>
<p>Zunächst wird das CGI-Script an Ort und Stelle gebracht:</p>
<pre class="code code-cli"><kbd># cp public/dispatch.fcgi.example public/dispatch.fcgi
</kbd></pre>
<p>Eine weitere Anpassung ist nicht notwendig.</p>
<p>Es folgen die benötigten Debian-Pakete&#8230;</p>
<pre class="code code-cli"><kbd># aptitude install apache2 libapache2-mod-fcgid libfcgi-dev
</kbd></pre>
<p>&#8230; sowie ein weiteres gem:</p>
<pre class="code code-cli"><kbd># gem install fcgi
</kbd></pre>
<p><ins datetime="2009-10-23T22:23:48+00:00"><strong>[Update 24.10.09: </strong>Als ich kürzlich auf Version 0.8.5 umgestellt habe, habe ich bemerkt, dass ich hier einen Schritt unterschlagen habe, den ich hiermit nachreichen möchte. Und zwar müssen in der public/.htaccess folgende Zeilen auskommentiert werden:</p>
<pre class="code code-file"><code>#&lt;IfModule mod_cgi.c&gt;
#       AddHandler cgi-script .cgi
#&lt;/IfModule&gt;
</code></pre>
<p>und</p>
<pre class="code code-file"><code>#&lt;IfModule mod_cgi.c&gt;
#       RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
#&lt;/IfModule&gt;
</code></pre>
<p>Ansonsten schreibt Apache den Request bis zum Erreichen des Limits immer wieder um und produziert einen Internal Server Error.<strong>]</strong></ins></p>
<p>Zuletzt wird der Virtual Host redmine.example.com konfiguriert.  Dazu wird die Datei /etc/apache2/sites-available/redmine mit folgendem Inhalt angelegt:</p>
<pre class="code code-file"><code>&lt;VirtualHost *:80&gt;
  ServerName redmine.example.com
  ServerAlias redmine

  ServerAdmin webmaster@localhost

  DocumentRoot /srv/www/redmine/public/

  &lt;IfModule mod_fcgid.c&gt;
    DefaultInitEnv RAILS_ENV production
    DefaultInitEnv GEM_HOME /var/local/lib/gems
    DefaultInitEnv RUBYLIB /usr/local/ruby/lib/
  &lt;/IfModule&gt;

  &lt;Directory /srv/www/redmine/public/&gt;
    Options Indexes ExecCGI FollowSymLinks
    Order allow,deny
    Allow from all
    AllowOverride all
  &lt;/Directory&gt;

  ErrorLog /var/log/apache2/redmine_error.log
  LogLevel warn
  CustomLog /var/log/apache2/redmine_access.log combined
&lt;/VirtualHost&gt;
</code></pre>
<p>Nun muss nur noch die Konfiguration geladen und das Modul rewrite aktiviert werden:</p>
<pre class="code code-cli"><kbd># a2ensite redmine
# a2enmod rewrite
# /etc/init.d/apache2 restart
</kbd></pre>
<p>Wenn nichts schiefgegangen ist, steht Redmine jetzt unter redmine.example.com/ bereit.  Für die weitere Konfiguration und die ersten Schritte lohnt sich ein Blick ins <a href="http://www.redmine.org/wiki/redmine/Guide" rel="external">Redmine Manual</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2009/08/redmine-mit-mysql-und-apache-unter-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails 2.2 unter Debian Lenny installieren</title>
		<link>http://martin-grandrath.de/2009/02/ruby-on-rails-22-unter-debian-lenny-installieren/</link>
		<comments>http://martin-grandrath.de/2009/02/ruby-on-rails-22-unter-debian-lenny-installieren/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 14:57:54 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Lenny]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://martin-grandrath.de/?p=82</guid>
		<description><![CDATA[Hier eine kurze Anleitung, wie man RoR 2.2 unter Debian installieren kann.  Besonderen Wert habe ich dabei darauf gelegt, den &#187;Debian-Way&#171; soweit es eben geht einzuhalten und alle Dateien, die nicht aus deb-Paketen stammen, unter /usr/local/ bzw. /var/local/ abzulegen, um sie bei Bedarf wieder sauber entfernen zu können.
Fangen wir mit den Paketen an, die [...]]]></description>
			<content:encoded><![CDATA[<p>Hier eine kurze Anleitung, wie man RoR 2.2 unter Debian installieren kann.  Besonderen Wert habe ich dabei darauf gelegt, den &raquo;Debian-Way&laquo; soweit es eben geht einzuhalten und alle Dateien, die nicht aus deb-Paketen stammen, unter <code>/usr/local/</code> bzw. <code>/var/local/</code> abzulegen, um sie bei Bedarf wieder sauber entfernen zu können.</p>
<p>Fangen wir mit den Paketen an, die direkt aus den Repositories bezogen werden können und die für die weitere Installation notwendig sind:</p>
<pre class="code">
# aptitude install ruby libsqlite3-ruby libruby rdoc1.8 libopenssl-ruby
</pre>
<p>Die in Lenny enthaltene Version von rubygems ist leider zu alt, weswegen es manuell installiert werden muss:</p>
<pre class="code">
# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar xzf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# export GEM_HOME=/var/local/lib/gems
# ruby setup.rb --prefix=/usr/local/ruby
</pre>
<p><strong>Anm:</strong> Die aktuellste Version findet sich unter <a href="http://rubyforge.org/frs/?group_id=126" rel="external">http://rubyforge.org/frs/?group_id=126</a>.</p>
<p>Damit die installierten Dateien auch gefunden werden können, müssen die folgenden Zeilen in <code>/etc/profile</code> eingefügt werden (vor <code>export $PATH</code>):</p>
<pre class="code">
if [ -d /usr/local/ruby/bin ]; then
  PATH="${PATH}:/usr/local/ruby/bin"
fi

if [ -d /usr/local/ruby/lib/ ]; then
  export RUBYLIB="${RUBYLIB}:/usr/local/ruby/lib/"
fi

if [ -d /var/local/lib/gems ]; then
  export GEM_HOME=/var/local/lib/gems

  if [ -d /var/local/lib/gems/bin ]; then
    PATH="${PATH}:/var/local/lib/gems/bin"
  fi
fi
</pre>
<p>Damit das veränderte environment zum Tragen kommt, muss man sich entweder aus- und wieder einloggen oder <code>/etc/profile</code> sourcen:</p>
<pre class="code">
# . /etc/profile
</pre>
<p>Wenn man möchte, kann man noch einen Symlink für gem anlegen:</p>
<pre class="code">
# cd /usr/local/ruby/bin/
# ln -s gem1.8 gem
</pre>
<p>Nun steht einer Installation von Rails mit Hilfe von rubygems nichts mehr im Wege:</p>
<pre class="code">
# gem install rails
</pre>
<p>Ab hier kann man z.B. mit dem <del datetime="2009-03-13T15:13:36+00:00"><a href="http://guides.rubyonrails.org/getting_started_with_rails.html" rel="external">Ruby on Rails Tutorial</a></del> <a href="http://guides.rubyonrails.org/getting_started.html" rel="external">Ruby on Rails Tutorial</a> weitermachen.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2009/02/ruby-on-rails-22-unter-debian-lenny-installieren/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

