Linux インストール · 1 min read · Nov 20, 2025

ISPConfig(2.2.20以上)で使用するためのさまざまなLinuxディストリビューションにmod_rubyをインストールする方法

ISPConfig(2.2.20以上)で使用するためのさまざまなLinuxディストリビューションにmod_rubyをインストールする方法

バージョン 1.0
著者: Falko Timme

バージョン2.2.20から、ISPConfigはRubyの組み込みサポートを提供しています。CGI/FastCGIの代わりに、ISPConfigはサーバーのApacheにmod_rubyが利用可能であることに依存しています。この記事では、ISPConfigがサポートするさまざまなディストリビューションにmod_rubyをインストールする方法を説明します。

これがあなたにとって機能するという保証はありません!

1 Debian Etch / Ubuntu 7.10

Debian EtchおよびUbuntu 7.10では、次のコマンドを実行するだけです(rootとして):

apt-get install libapache2-mod-ruby

全く設定は必要ありません。

2 Fedora 8 / CentOS 5.1

Fedora 8およびCentOS 5.1では、mod_rubyパッケージが利用できないため、自分でコンパイルする必要があります。まず、いくつかの前提条件をインストールします:

yum install httpd-devel ruby ruby-devel

次に、mod_rubyを次のようにダウンロードしてインストールします:

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

最後に、mod_rubyモジュールをApacheの設定に追加する必要があるため、ファイル/etc/httpd/conf.d/ruby.confを作成します…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so |

… そしてApacheを再起動します:

/etc/init.d/httpd restart

3 Mandriva 2008.0

Mandriva 2008.0にはmod_rubyパッケージがあり、次のようにインストールできます:

urpmi apache-mod_ruby

そのパッケージには、すべてのウェブサイトに対してmod_rubyをグローバルに有効にするmod_rubyの設定が付属しています。したがって、ISPConfigでウェブサイトごとに有効にできるように、今は無効にする必要があります:

vi /etc/httpd/modules.d/20_mod_ruby.conf

そのファイル内の以下の行を除いてすべてコメントアウトまたは削除します:

| LoadModule ruby_module extramodules/mod_ruby.so |

その後、Apacheを再起動します:

/etc/init.d/httpd restart

4 OpenSUSE 10.3

OpenSUSE 10.3にはmod_rubyパッケージがないため、手動でコンパイルする必要があります。まず、前提条件をインストールします:

yast -i apache2-devel ruby ruby-devel

その後、次のようにmod_rubyをビルドします:

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

mod_rubyを有効にするために、/etc/sysconfig/apache2を開き、APACHE_MODULES行にrubyを追加します。例えば、次のように:

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" [...] |

その後、次のコマンドを実行します:

SuSEconfig

そしてApacheを再起動します:

/etc/init.d/apache2 restart

5 mod_rubyの使用

ISPConfigでドキュメントルート/var/www/web1/webのウェブサイトを作成したと仮定しましょう。そのウェブサイトにRubyを有効にすると、ISPConfigはウェブサイトのApache vhost設定に次のようなものを追加します:

| Options +ExecCGI RubyRequire apache/ruby-run #RubySafeLevel 0 SetHandler ruby-object RubyHandler Apache::RubyRun.instance SetHandler ruby-object RubyHandler Apache::RubyRun.instance |

(ISPConfigを使用していない場合は、もちろん、これを手動でvhost設定に追加できますが、パスを調整し、Apacheを再起動するのを忘れないでください。)

mod_rubyが機能しているかどうかを確認するために、Rubyファイル/var/www/web1/web/hello_world.rbを作成します:

vi /var/www/web1/web/hello_world.rb

| # Greeterクラス class Greeter def initialize(name) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # 新しいオブジェクトを作成 g = Greeter.new("world") # "Hello World!"を出力 g.salute |

そのファイルは実行可能でなければならないので、次のコマンドを実行します:

chmod 755 /var/www/web1/web/hello_world.rb

これで、ブラウザでファイルを呼び出すことができます。すべてがうまくいけば、Hello World!メッセージが表示されるはずです。

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。