Installation · 2 min read · Nov 20, 2025

So installieren Sie mod_ruby auf verschiedenen Linux-Distributionen zur Verwendung mit ISPConfig (2.2.20 und höher)

So installieren Sie mod_ruby auf verschiedenen Linux-Distributionen zur Verwendung mit ISPConfig (2.2.20 und höher)

Version 1.0
Autor: Falko Timme

Beginnend mit Version 2.2.20 hat ISPConfig eine integrierte Unterstützung für Ruby. Anstelle von CGI/FastCGI ist ISPConfig darauf angewiesen, dass mod_ruby im Apache des Servers verfügbar ist. Dieser Artikel erklärt, wie man mod_ruby auf verschiedenen von ISPConfig unterstützten Distributionen installiert.

Ich gebe keine Garantie, dass dies für Sie funktioniert!

1 Debian Etch / Ubuntu 7.10

Auf Debian Etch und Ubuntu 7.10 müssen wir nur (als root) ausführen:

apt-get install libapache2-mod-ruby

Es ist keine Konfiguration erforderlich.

2 Fedora 8 / CentOS 5.1

Für Fedora 8 und CentOS 5.1 gibt es kein mod_ruby-Paket, daher müssen wir es selbst kompilieren. Zuerst installieren wir einige Voraussetzungen:

yum install httpd-devel ruby ruby-devel

Als nächstes laden wir mod_ruby herunter und installieren es wie folgt:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Schließlich müssen wir das mod_ruby-Modul zur Apache-Konfiguration hinzufügen, also erstellen wir die Datei /etc/httpd/conf.d/ruby.conf…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so |

… und starten Apache neu:

/etc/init.d/httpd restart

3 Mandriva 2008.0

Mandriva 2008.0 hat ein mod_ruby-Paket, das wir wie folgt installieren können:

urpmi apache-mod_ruby

Dieses Paket kommt mit einer mod_ruby-Konfiguration, die mod_ruby global für alle Websites aktiviert. Daher müssen wir es jetzt deaktivieren, damit es in ISPConfig pro Website aktiviert werden kann:

vi /etc/httpd/modules.d/20_mod_ruby.conf

Kommentieren Sie alles in dieser Datei aus oder löschen Sie es, außer den folgenden Zeilen:

| LoadModule ruby_module extramodules/mod_ruby.so |

Dann starten Sie Apache neu:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3 hat kein mod_ruby-Paket, daher müssen wir es manuell kompilieren. Zuerst installieren wir die Voraussetzungen:

yast -i apache2-devel ruby ruby-devel

Anschließend bauen wir mod_ruby wie folgt:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Um mod_ruby zu aktivieren, öffnen wir /etc/sysconfig/apache2 und fügen ruby zur Zeile APACHE_MODULES hinzu, z.B. so:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite ruby" [...] |

Anschließend führen wir aus

SuSEconfig

und starten Apache neu:

/etc/init.d/apache2 restart

5 Verwendung von mod_ruby

Angenommen, Sie haben eine Website in ISPConfig mit dem Dokumentenstamm /var/www/web1/web erstellt. Wenn Sie Ruby für diese Website aktivieren, fügt ISPConfig etwas wie dies zur Apache vhost-Konfiguration der Website hinzu:

| Options +ExecCGI RubyRequire apache/ruby-run #RubySafeLevel 0 SetHandler ruby-object RubyHandler Apache::RubyRun.instance SetHandler ruby-object RubyHandler Apache::RubyRun.instance |

(Wenn Sie ISPConfig nicht verwenden, können Sie dies natürlich manuell zu Ihrer vhost-Konfiguration hinzufügen, aber vergessen Sie nicht, die Pfade anzupassen und Apache danach neu zu starten.)

Um zu sehen, ob mod_ruby funktioniert, erstellen wir die Ruby-Datei /var/www/web1/web/hello_world.rb:

vi /var/www/web1/web/hello_world.rb

| # Die Greeter-Klasse class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hallo #{@name}!" end end # Erstellen Sie ein neues Objekt g = Greeter.new("Welt") # Ausgabe "Hallo Welt!" g.salute |

Die Datei muss ausführbar sein, also führen wir aus:

chmod 755 /var/www/web1/web/hello_world.rb

Jetzt können Sie die Datei in einem Browser aufrufen; wenn alles gut geht, sollte eine Hello World!-Nachricht angezeigt werden.

6 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.