So installieren Sie mod_ruby auf verschiedenen Linux-Distributionen zur Verwendung mit ISPConfig (2.2. 20 und höher)
Ab Version 2.2.20 hat ISPConfig eingebaute Unterstützung für Ruby. Anstatt CGI/FastCGI zu verwenden, hängt ISPConfig davon ab, 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 dafür, dass dies bei Ihnen funktioniert!
1 Debian Etch / Ubuntu 7.10
Unter Debian Etch und Ubuntu 7.10 müssen wir lediglich (als root) Folgendes ausführen:
apt-get install libapache2-mod-ruby
Es ist überhaupt keine Konfiguration erforderlich.
2 Fedora 8 / CentOS 5.1
Für Fedora 8 und CentOS 5.1 ist kein mod_ruby-Paket verfügbar, also müssen wir es selbst kompilieren. Zuerst installieren wir einige Voraussetzungen:
yum installiere 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 Modul mod_ruby 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 Apache neu starten:
/etc/init.d/httpd Neustart
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 enthält eine mod_ruby-Konfiguration, die mod_ruby global für alle Websites aktiviert. Daher müssen wir es jetzt deaktivieren, damit es in ISPConfig für jede Website aktiviert werden kann:
vi /etc/httpd/modules.d/20_mod_ruby.conf
Kommentieren oder löschen Sie alles in dieser Datei mit Ausnahme der folgenden Zeilen:
|
Starten Sie dann Apache neu:
/etc/init.d/httpd Neustart
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
Danach 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 APACHE_MODULES-Zeile hinzu, z. 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 ruby umschreiben"[...] |
Danach laufen wir
SuSEconfig
und Apache neu starten:
/etc/init.d/apache2 Neustart
5 Verwenden von mod_ruby
Nehmen wir nun an, Sie haben in ISPConfig eine Website mit dem Document Root /var/www/web1/web erstellt. Wenn Sie Ruby für diese Website aktivieren, fügt ISPConfig der Apache vhost-Konfiguration der Website so etwas hinzu:
|
(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
# Der Greeter classclass Greeter def initialize(name) @name =name.capitalize end def salute puts "Hallo #{@name}!" endend# Ein neues Objekt erstelleng =Greeter.new("world")# Ausgabe "Hello World!"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 ein Hello World! Botschaft.
6 Links
- mod_ruby:http://www.modruby.net
- Rubin:http://www.ruby-lang.org
- ISPConfig:http://www.ispconfig.org