Jak nainstalovat mod_ruby na různé distribuce Linuxu pro použití s ISPConfig (2.2. 20 a výše)
Počínaje verzí 2.2.20 má ISPConfig vestavěnou podporu pro Ruby. Místo použití CGI/FastCGI závisí ISPConfig na dostupnosti mod_ruby na serveru Apache. Tento článek vysvětluje, jak nainstalovat mod_ruby na různé distribuce podporované ISPConfig.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 Debian Etch / Ubuntu 7.10
Na Debian Etch a Ubuntu 7.10 vše, co musíme udělat, je spustit (jako root):
apt-get install libapache2-mod-ruby
Není potřeba vůbec žádná konfigurace.
2 Fedora 8 / CentOS 5.1
Pro Fedoru 8 a CentOS 5.1 není k dispozici žádný balíček mod_ruby, takže jej musíme zkompilovat sami. Nejprve nainstalujeme některé předpoklady:
yum nainstalovat httpd-devel ruby ruby-devel
Dále stáhneme a nainstalujeme mod_ruby následovně:
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
provést
provést instalaci
Nakonec musíme přidat modul mod_ruby do konfigurace Apache, takže vytvoříme soubor /etc/httpd/conf.d/ruby.conf...
vi /etc/httpd/conf.d/ruby.conf
LoadModule ruby_module modules/mod_ruby.so |
... a restartujte Apache:
/etc/init.d/httpd restart
3 Mandriva 2008.0
Mandriva 2008.0 má balíček mod_ruby, který můžeme nainstalovat následovně:
urpmi apache-mod_ruby
Tento balíček je dodáván s konfigurací mod_ruby, která umožňuje mod_ruby globálně pro všechny webové stránky. Proto jej nyní musíme deaktivovat, aby jej bylo možné povolit v ISPConfig na základě jednotlivých webových stránek:
vi /etc/httpd/modules.d/20_mod_ruby.conf
Zakomentujte nebo odstraňte vše v tomto souboru kromě následujících řádků:
|
Poté restartujte Apache:
/etc/init.d/httpd restart
4 OpenSUSE 10.3
OpenSUSE 10.3 nemá balíček mod_ruby, proto jej musíme zkompilovat ručně. Nejprve nainstalujeme předpoklady:
yast -i apache2-devel ruby ruby-devel
Poté vytvoříme mod_ruby následovně:
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
provést
provést instalaci
Pro aktivaci mod_ruby otevřeme /etc/sysconfig/apache2 a přidáme ruby do řádku APACHE_MODULES, např. takhle:
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 vyprší včetně log_configir mime sphp5c negotiation přepsat ruby"[...] |
Poté běžíme
SuSEconfig
a restartujte Apache:
/etc/init.d/apache2 restart
5 Používání mod_ruby
Nyní předpokládejme, že jste vytvořili webovou stránku v ISPConfig s kořenem dokumentu /var/www/web1/web. Pokud pro tento web povolíte Ruby, ISPConfig přidá do konfigurace Apache vhost webu něco takového:
|
(Pokud nepoužíváte ISPConfig, můžete to samozřejmě přidat ručně do konfigurace vhost, ale nezapomeňte upravit cesty a poté restartovat Apache.)
Abychom zjistili, zda mod_ruby funguje, vytvoříme soubor Ruby /var/www/web1/web/hello_world.rb:
vi /var/www/web1/web/hello_world.rb
# Třída Greeter Greeter def initialize(name) @name =name.capitalize end def salute klade "Ahoj #{@name}!" endend# Vytvořit nový objektg =Greeter.new("world")# Výstup "Ahoj světe!"g.salute |
Soubor musí být spustitelný, takže spustíme:
chmod 755 /var/www/web1/web/hello_world.rb
Nyní můžete soubor volat v prohlížeči; pokud vše půjde dobře, mělo by se zobrazit Hello World! zpráva.
6 odkazů
- mod_ruby:http://www.modruby.net
- Ruby:http://www.ruby-lang.org
- ISPConfig:http://www.ispconfig.org