Ruby scripts onder Apache 2.0

Pagina: 1
Acties:

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Topicstarter
Op mijn FreeBSD machine probeer ik de Ruby interpreter draaiend te krijgen in Apache 2 via mod_ruby. Ik heb alle packages (ruby-1.6.8.2003.04.19 en mod_ruby-1.0.5) geinstalleerd. Ik heb Apache draaiend en Ruby draait ook als ik gewoon handmatig een scriptje start. Maar ik kan geen Ruby script starten vanuit Apache. Volgens de instructies op Internet moet ik daarvoor mod_ruby.so gebruiken maar ook daarmee lukt het niet.

In de Apache data map staat een bestand test.rbx maar als ik die oproep (d.m.v. http://192.168.1.1/test.rbx) wordt domweg de inhoud van het bestand als tekst weergegeven. Het script wordt dus niet uitgevoerd. De volgende code heb ik toegevoegd aan httpd.conf maar zonder resultaat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LoadModule ruby_module /usr/local/libexec/apache/mod_ruby.so

# ClearModuleList
# AddModule mod_ruby.c

<IfModule mod_ruby.c>
  RubyRequire apache/ruby-run

  # Execute *.rbx files as Ruby scripts
  <Files *.rbx>
  SetHandler ruby-object
  RubyHandler Apache::RubyRun.instance
  </Files>
</IfModule>

Dit is dus een aangepaste versie van de instructies op de site.

Heeft iemand enig idee wat hier fout aan is? Een oplossing om Ruby aan Apache te koppelen zonder mod_ruby te gebruiken is ook welkom maar helaas kwam ik daar ook al niet uit.

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Topicstarter
Ik heb dit intussen zelf uitgevogeld. Het helpt wel om er een nachtje over te slapen en er dan nog eens naar te kijken :)

mod_ruby is blijkbaar geschreven voor Apache 1.3 en installeert de Apache 1.3 port als dependency. Daardoor werkte Apache 2.0 niet meer en al m'n aanpassingen in httpd.conf hadden dus ook geen effect. Het duurde alleen erg lang voordat ik dat doorhad |:(

Door Apache 1.3 en mod_ruby te verwijderen en daarna Apache 2.0 weer te installeren heb ik de zaak weer op de rails gekregen. Daarna heb ik gewoon de generieke instructies van apache.org gevolgd om cgi scripts te activeren binnen Apache 2.0. Ik heb zojuist m'n eerste "Hello World" in Ruby op het scherm getoverd :)