리눅스 설치 · 2 min read · Nov 20, 2025

ISPConfig(2.2.20 이상)와 함께 사용할 mod_ruby를 다양한 리눅스 배포판에 설치하는 방법

ISPConfig(2.2.20 이상)와 함께 사용할 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

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.