Installazione mod_ruby · 2 min read · Nov 20, 2025
Come Installare mod_ruby Su Diverse Distribuzioni Linux Per Utilizzare Con ISPConfig (2.2.20 E Superiori)
Come Installare mod_ruby Su Diverse Distribuzioni Linux Per Utilizzare Con ISPConfig (2.2.20 E Superiori)
Versione 1.0
Autore: Falko Timme
A partire dalla versione 2.2.20, ISPConfig ha il supporto integrato per Ruby. Invece di utilizzare CGI/FastCGI, ISPConfig dipende dalla disponibilità di mod_ruby nell’Apache del server. Questo articolo spiega come installare mod_ruby su varie distribuzioni supportate da ISPConfig.
Non rilascio alcuna garanzia 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-rubyNon è 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. Prima installiamo alcune dipendenze:
yum install httpd-devel ruby ruby-develSuccessivamente 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 installInfine 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 riavviamo Apache:
/etc/init.d/httpd restart3 Mandriva 2008.0
Mandriva 2008.0 ha un pacchetto mod_ruby che possiamo installare come segue:
urpmi apache-mod_rubyQuel pacchetto viene fornito con una configurazione di mod_ruby che abilita mod_ruby globalmente per tutti i siti web. Pertanto, dobbiamo disabilitarlo ora in modo che possa essere abilitato in ISPConfig su base per sito web:
vi /etc/httpd/modules.d/20_mod_ruby.confCommenta o elimina tutto in quel file tranne le seguenti righe:
| |
Poi riavvia Apache:
/etc/init.d/httpd restart4 OpenSUSE 10.3
OpenSUSE 10.3 non ha un pacchetto mod_ruby, quindi dobbiamo compilarlo manualmente. Prima installiamo le dipendenze:
yast -i apache2-devel ruby ruby-develSuccessivamente 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 installPer abilitare mod_ruby, apriamo /etc/sysconfig/apache2 e aggiungiamo ruby alla riga APACHE_MODULES, ad esempio in questo modo:
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 eseguiamo
SuSEconfige riavviamo Apache:
/etc/init.d/apache2 restart5 Utilizzare 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 a questo alla configurazione del vhost di Apache del sito web:
| |
(Se non usi ISPConfig, allora ovviamente puoi aggiungere questo manualmente alla tua configurazione del vhost, ma non dimenticare di regolare i percorsi e riavviare Apache dopo.)
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| # La classe Greeter class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # Crea un nuovo oggetto g = Greeter.new("world") # Output "Hello World!" g.salute |
Il file deve essere eseguibile, quindi eseguiamo:
chmod 755 /var/www/web1/web/hello_world.rbOra puoi chiamare il file in un browser; se tutto va bene, dovrebbe visualizzare un messaggio Hello World!
6 Link
- mod_ruby: http://www.modruby.net
- Ruby: http://www.ruby-lang.org
- ISPConfig: http://www.ispconfig.org
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.