Comment installer mod_ruby sur diverses distributions Linux à utiliser avec ISPConfig (2.2. 20 ans et plus)
À partir de la version 2.2.20, ISPConfig a un support intégré pour Ruby. Au lieu d'utiliser CGI/FastCGI, ISPConfig dépend de la disponibilité de mod_ruby dans Apache du serveur. Cet article explique comment installer mod_ruby sur différentes distributions prises en charge par ISPConfig.
Je n'émets aucune garantie que cela fonctionnera pour vous !
1 Debian Etch / Ubuntu 7.10
Sur Debian Etch et Ubuntu 7.10, il suffit de lancer (en root) :
apt-get install libapache2-mod-ruby
Aucune configuration n'est nécessaire.
2 Fedora 8 / CentOS 5.1
Pour Fedora 8 et CentOS 5.1, il n'y a pas de package mod_ruby disponible, nous devons donc le compiler nous-mêmes. Nous installons d'abord quelques prérequis :
yum installer httpd-devel ruby ruby-devel
Ensuite, nous téléchargeons et installons mod_ruby comme suit :
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
Enfin, nous devons ajouter le module mod_ruby à la configuration d'Apache, nous créons donc le fichier /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so |
... et redémarrez Apache :
/etc/init.d/httpd restart
3 Mandriva 2008.0
Mandriva 2008.0 a un package mod_ruby que nous pouvons installer comme suit :
urpmi apache-mod_ruby
Ce paquet est livré avec une configuration mod_ruby qui active mod_ruby globalement pour tous les sites Web. Par conséquent, nous devons le désactiver maintenant afin qu'il puisse être activé dans ISPConfig sur une base par site :
vi /etc/httpd/modules.d/20_mod_ruby.conf
Commentez ou supprimez tout ce qui se trouve dans ce fichier, à l'exception des lignes suivantes :
|
Redémarrez ensuite Apache :
/etc/init.d/httpd restart
4 OpenSUSE 10.3
OpenSUSE 10.3 n'a pas de package mod_ruby, nous devons donc le compiler manuellement. Nous installons d'abord les prérequis :
yast -i apache2-devel ruby ruby-devel
Ensuite, nous construisons mod_ruby comme suit :
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
Pour activer mod_ruby, nous ouvrons /etc/sysconfig/apache2 et ajoutons ruby à la ligne APACHE_MODULES, par ex. comme ceci :
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 negociation setenvif ssl suexec userdir php5 réécrire ruby"[...] |
Après on court
SuSEconfig
et redémarrez Apache :
/etc/init.d/apache2 redémarrage
5 Utiliser mod_ruby
Supposons maintenant que vous ayez créé un site Web dans ISPConfig avec la racine du document /var/www/web1/web. Si vous activez Ruby pour ce site Web, ISPConfig ajoute quelque chose comme ceci à la configuration vhost Apache du site Web :
|
(Si vous n'utilisez pas ISPConfig, vous pouvez bien sûr l'ajouter manuellement à votre configuration vhost, mais n'oubliez pas d'ajuster les chemins et de redémarrer Apache par la suite.)
Pour voir si mod_ruby fonctionne, nous créons le fichier Ruby /var/www/web1/web/hello_world.rb :
vi /var/www/web1/web/hello_world.rb
# La classe Greeter classe Greeter def initialize(name) @name =name.capitalize end def salute met "Hello #{@name} !" endend# Créer un nouvel objetg =Greeter.new("world")# Sortie "Hello World!"g.salute |
Le fichier doit être exécutable, nous exécutons donc :
chmod 755 /var/www/web1/web/hello_world.rb
Vous pouvez maintenant appeler le fichier dans un navigateur ; si tout se passe bien, il devrait afficher un Hello World! message.
6 liens
- mod_ruby :http://www.modruby.net
- Ruby :http://www.ruby-lang.org
- ISPConfig :http://www.ispconfig.org