ISPConfigで使用するさまざまなLinuxディストリビューションにmod_rubyをインストールする方法(2.2。 20以上)
バージョン2.2.20以降、ISPConfigにはRubyのサポートが組み込まれています。 ISPConfigは、CGI / FastCGIを使用する代わりに、サーバーのApacheで使用可能なmod_rubyに依存します。この記事では、ISPConfigでサポートされているさまざまなディストリビューションにmod_rubyをインストールする方法について説明します。
これがあなたのために働くという保証はありません!
1 Debian Etch / Ubuntu 7.10
DebianEtchとUbuntu7.10では、(rootとして)実行するだけです。
apt-get install libapache2-mod-ruby
構成はまったく必要ありません。
2 Fedora 8 / CentOS 5.1
Fedora8およびCentOS5.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
このパッケージには、すべてのWebサイトでmod_rubyをグローバルに有効にするmod_ruby構成が付属しています。したがって、今すぐ無効にして、WebサイトごとにISPConfigで有効にできるようにする必要があります。
vi /etc/httpd/modules.d/20_mod_ruby.conf
次の行を除いて、そのファイル内のすべてをコメントアウトまたは削除します。
<IfDefine HAVE_RUBY> <IfModule !mod_ruby.c> LoadModule ruby_module extramodules/mod_ruby.so </IfModule> </IfDefine> |
次に、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
5mod_rubyの使用
ここで、ドキュメントルート/ var / www / web1/webを使用してISPConfigでWebサイトを作成したと仮定します。そのWebサイトでRubyを有効にすると、ISPConfigは次のようなものをWebサイトのApachevhost構成に追加します。
<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> |
(ISPConfigを使用しない場合は、もちろん、これをvhost構成に手動で追加できますが、パスを調整し、後でApacheを再起動することを忘れないでください。)
mod_rubyが機能しているかどうかを確認するには、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 |
ファイルは実行可能でなければならないので、次を実行します:
chmod 755 /var/www/web1/web/hello_world.rb
これで、ブラウザでファイルを呼び出すことができます。すべてがうまくいけば、Hello World!が表示されます。メッセージ。
6つのリンク
- mod_ruby:http://www.modruby.net
- ルビー:http://www.ruby-lang.org
- ISPConfig:http://www.ispconfig.org