Ruby Scripte über den Apache ausführen lassen

Aus Howtos und Gedankenstuetzen

Wechseln zu: Navigation, Suche

Erstelle ein Verzeichniss in deinem Webroot /var/www/ruby. Dort fügst du eine .htaccess ein mir folgendem Inhalt:

AddHandler cgi-script .rb
Options +ExecCGI


Das Verzeichniss muss natürlich wie das cgi-bin Verzeicniss in die Apache Config eingefügt werden.

#nano /etc/apache2/site-enabled/000-default
        ScriptAlias /ruby/ /var/www/ruby/
       <Directory "/var/www/ruby">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>


Zum testen ob die Rubyscripte nun erfolgreich abgearbeitet werden kann folgendes Code Sniplett verwendet werden:

#!/usr/bin/env ruby
require "cgi"
cgi = CGI.new("html4")
cgi.out{
  cgi.html{
    cgi.head{ "\n"+cgi.title{"Ruby arbeitet!"} } +
    cgi.body{ "\n"+
      cgi.h1 { "Ruby arbeitet!" } + "\n"+
      cgi.p { "LAss uns was vernünftiges machen." }
    }
  }
}

Ändere die Dateirechte auf 755 (-rwxr-xr-x) und schaue dir die Seite an.