Lighttpd einrichten

Hier ist die Debian Etch – Version aktuell, also erledigen wir die Installation mit apt-get install lighttpd. Die Fehlermeldung, dass lighttpd nicht gestartet werden konnte, ignorieren wir erst mal. Denn der Port 80 ist natürlich vom Apache belegt. Die Ruby fcgi-Anpassung klappt über gem install fcgi, dazu wird aber noch mind. das Debian-Paket libfcgi-dev benötigt.

Zur Konfiguration:

Apache
Da ich mich bei der lighttpd-Konfiguration für Subdomains entscheide, passen wir die ProxyPass-Direktiven der Apache-Konfiguratio in etwa wie folgt an:

ProxyPass /railsblog/ http://railsblog.michael-alt.info:81/
ProxyPassReverse /railsblog/ http://railsblog.michael-alt.info:81/

Der Port ist natürlich frei wählbar.

Lighttpd
Anpassungen in der /etc/lighttpd/lighttpd.conf:

  • Module: mindestens mod_rewrite und mod_fastcgi dazunehmen
  • index-file.names um dispatch.fcgi ergänzen
  • url.access-deny um “.htaccess” ergänzen (die verarbeitet der lighttpd nicht)
  • Portnummer: server.port = 81 (oder der entprechende Port)
  • Endungen der Dateien, die nicht statisch ausgeliefert werden sollen static-file.exclude-extensions = ( “.rb”, “.php”, “.pl”, “.fcgi” )

Und natürlich unsere Host-Sektion

$HTTP["host"] =~ "railsblog.michael-alt.info" {
  server.document-root = "/path/to/railsblog/public" 
  server.error-handler-404 = "dispatch.fcgi"  
  fastcgi.server = ( ".fcgi" =>
  (
    (
      "socket" => "/path/to/railsblog/log/code.socket",
      "min-procs" => 2,
      "max-procs" => 5,
      "bin-path" =>  "/path/to/railsblog/public/dispatch.fcgi",
      "bin-environment" => ( "RAILS_ENV" => "development" )
  )))
}

Die Pfade /path/to/… müssen natürlich angepasst werden, der User/die Gruppe www-data braucht Schreibrechte in den log und tmp – Verzeichnissen. Und dann können wir starten mit /etc/init.d/lighttpd start.

Leave a Reply

Your email address will not be published. Required fields are marked *