Come installare mod_ruby su varie distribuzioni Linux da utilizzare con ISPConfig (2.2. 20 e superiori)
A partire dalla versione 2.2.20, ISPConfig ha il supporto integrato per Ruby. Invece di usare CGI/FastCGI, ISPConfig dipende dal fatto che mod_ruby sia disponibile nell'Apache del server. Questo articolo spiega come installare mod_ruby su varie distribuzioni supportate da ISPConfig.
Non garantisco che questo funzionerà per te!
1 Debian Etch / Ubuntu 7.10
Su Debian Etch e Ubuntu 7.10, tutto ciò che dobbiamo fare è eseguire (come root):
apt-get install libapache2-mod-ruby
Non è necessaria alcuna configurazione.
2 Fedora 8 / CentOS 5.1
Per Fedora 8 e CentOS 5.1, non è disponibile alcun pacchetto mod_ruby, quindi dobbiamo compilarlo noi stessi. Per prima cosa installiamo alcuni prerequisiti:
yum install httpd-devel ruby ruby-devel
Quindi scarichiamo e installiamo mod_ruby come segue:
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
Infine dobbiamo aggiungere il modulo mod_ruby alla configurazione di Apache, quindi creiamo il file /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so |
... e riavvia Apache:
/etc/init.d/httpd restart
3 Mandriva 2008.0
Mandriva 2008.0 ha un pacchetto mod_ruby che possiamo installare come segue:
urpmi apache-mod_ruby
Quel pacchetto viene fornito con una configurazione mod_ruby che abilita mod_ruby a livello globale per tutti i siti web. Pertanto dobbiamo disabilitarlo ora in modo che possa essere abilitato in ISPConfig in base al sito Web:
vi /etc/httpd/modules.d/20_mod_ruby.conf
Commenta o elimina tutto in quel file tranne le seguenti righe:
<IfDefine HAVE_RUBY> <IfModule !mod_ruby.c> LoadModule ruby_module extramodules/mod_ruby.so </IfModule> </IfDefine> |
Quindi riavvia Apache:
/etc/init.d/httpd restart
4 OpenSUSE 10.3
OpenSUSE 10.3 non ha un pacchetto mod_ruby, quindi dobbiamo compilarlo manualmente. Per prima cosa installiamo i prerequisiti:
yast -i apache2-devel ruby ruby-devel
Successivamente costruiamo mod_ruby come segue:
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
Per abilitare mod_ruby, apriamo /etc/sysconfig/apache2 e aggiungiamo ruby alla riga APACHE_MODULES, ad es. così:
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" [...] |
Successivamente corriamo
SuSEconfig
e riavvia Apache:
/etc/init.d/apache2 restart
5 Utilizzo di mod_ruby
Ora supponiamo che tu abbia creato un sito web in ISPConfig con la radice del documento /var/www/web1/web. Se abiliti Ruby per quel sito web, ISPConfig aggiunge qualcosa di simile alla configurazione vhost Apache del sito web:
<IfModule mod_ruby.c> <Directory /var/www/web1/web> Options +ExecCGI </Directory> RubyRequire apache/ruby-run #RubySafeLevel 0 <Files *.rb> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> <Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> </IfModule> |
(Se non usi ISPConfig, ovviamente, puoi aggiungerlo manualmente alla configurazione del tuo vhost, ma non dimenticare di regolare i percorsi e riavviare Apache in seguito.)
Per vedere se mod_ruby funziona, creiamo il file Ruby /var/www/web1/web/hello_world.rb:
vi /var/www/web1/web/hello_world.rb
# The Greeter class class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # Create a new object g = Greeter.new("world") # Output "Hello World!" g.salute |
Il file deve essere eseguibile, quindi eseguiamo:
chmod 755 /var/www/web1/web/hello_world.rb
Ora puoi chiamare il file in un browser; se tutto va bene, dovrebbe visualizzare un Hello World! Messaggio.
6 link
- mod_ruby:http://www.modruby.net
- Ruby:http://www.ruby-lang.org
- Configurazione ISP:http://www.ispconfig.org