ruby
FUKUDA Hiroshi
(2019.8.22)
yumにSCL(RED HAT SOFTWARE COLLECTIONS)リポジトリを導入して,ruby 2.4をインストールして使う。
(環境) CentOS 7.x
(以下プロンプトが#ならroot,$なら普通のユーザー)
Rubyのインストール
# yum install ruby
これでインストールされるのはruby 1.8
# ruby -v
で確認する。
Ruby 2.4を使う
ruby 2.4を使うには,ログイン時スクリプト
# vi /etc/profile.d/rh-ruby24.sh
#!/bin/bash
source /opt/rh/rh-ruby24/enable
export X_SCLS="`scl enable rh-ruby24 'echo $X_SCLS'`"
を作る。再ログインして
# ruby -v
と打ってrubyのバージョンを確認する。(この環境は抜けることはできない。)
(参考)古いrubyも使いたい場合は/etc/profile.d/rh-ruby24.shを作らずに,sclコマンドを使って
$ scl enable rh-ruby24 bash
と打つ。この環境を抜けるにはexit。
Ruby 2.4(rh-ruby24)をcgiで使う
cgiスクリプトで利用するには,共有ライブラリのパスを設定するファイル
vi /etc/ld.so.conf.d/rh-ruby.conf
/opt/rh/rh-ruby24/root/usr/lib64
を作り,
# ldconfig
と打ってパスを設定する。そして,スクリプトの冒頭(shebang)を
#!/opt/rh/rh-ruby24/root/usr/bin/ruby
とする(/opt/rh/rh-ruby24/root/usr/bin/rubyはruby 2.4へのパス)。
(例)
[fukuda@www ~]$ cat public_html/cgi-bin/hello2.cgi
#!/opt/rh/rh-ruby24/root/usr/bin/ruby
print "Content-type: text/html\n"
print "\n"
print "<html>"
print "ruby ", RUBY_VERSION
print "</html>"