Posts Tagged ‘heteml’

heteml に RubyGems をインストールする方法

HTML、CSS、PHP、CakePHP と来た私もそろそろ自分の新たな進化の可能性を模索するべく ruby を気が向いたときに弄ったりしています。最近、ruby 製の redmine を heteml サーバーにインストールしようと思ったところ、RubyGems が必要になったのでインストールメモです。成功事例はたくさんあったほうが良いでしょう。

以下のサイトを参考にさせていただきましたので紹介します。

RubyGems のインストール
hetemlにRubyGemsをインストールする – make for h @ppy_things;

ソースコードからインストール

なん…だと…。共有サーバーだから、簡単にインストールすることができず、ソースコードからインストールする必要がある。HTML コーダーお上りさんの私にはちょっとハードル高い。なんとなくもやっと分かることは、どっかにインストールしてパスを通せば良いのではないかということ程度。

とりあえず進めていきましょう。うー怖い。

Rubygems のファイルをダウンロードするディレクトリ作成

Rubygems をダウンロードしたり、展開したりするフォルダを作成します。ここにインストールするわけではないので適当な名前で結構です。今回は参考サイトに合わせて ~/rubygems_src とさせていただきます。

1
2
$ mkdir rubygems_src
$ cd rubygems_src

RubyGems のファイルをダウンロードします

RubyGems のサイトのこの辺りからダウンロードしたいファイルの URL 拝借したら良いです。ダウンロードしたらその場で展開します。

1
2
$ wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
$ tar xvzf rubygems-1.3.6.tgz

rubygems.rb のパスを書き換える

本来であれば後はインストールするだけだったんですが、インストールしてパスを通して実行したら以下のようなエラーが出ましたよ。

/home/sites/heteml/usersXX/X/X/X/XXXX/rubygems/bin/gem: /usr/local/bin/ruby: bad interpreter: No such file or directory

ruby コマンドはこのサーバーだったら /usr/bin/ruby のはずなのに /usr/local/bin/ruby を見に行く奇跡。なんて上級者設定。初心者の私はここで諦めかけました。

とりあえず、このパスの問題を解決するために、インストール前に修正をしましょう。先程展開したフォルダに移動して、rubygems.rb を編集するのです。

1
2
$ cd rubygems-1.3.6
$ vi lib/rubygems.rb

以下のように書かれている部分を。

1
:bindir            => RbConfig::CONFIG["bindir"],

以下のように直接指定して書き換えます。

1
:bindir            => '/usr/bin',

これでパスの問題は解決するはずです。

RubyGems をインストールする

~/rubygems に RubyGems をインストールします。以下のコマンドで一発です。

1
2
$ mkdir ~/rubygems
$ ruby setup.rb --prefix=~/rubygems

環境変数の定義

パスを通すと言っていましたが、どうやら環境変数の定義と言うのが一番正しいのかもしれませんね。とりあえず優秀な方の喋り方をマネします。

今回の設定は gem を叩いたら(?)どこに探しにいくかみたいなことですね。
先人の方々はいろいろと工夫されているようですが、私の環境では上手くいかなかっので、必ず上手く行くその都度設定の仕方だけを紹介しておきます。今後他の方法については調査していきます。

1
2
$ export PATH=$PATH:~/rubygems/bin
export RUBYLIB=$RUBYLIB:~/rubygems/lib

これで gem が使えるようになります。試しに以下を試してください。

1
2
$ gem -v
1.3.6

バージョン情報が出てくるようですよ。

サーバーを xserver から heteml に移転しました

多分半年ぶりくらいの雑談です。

xserver はデータベースが3つ使えるんですが、3つとも使ってしまい、もうひとつ契約していたさくらインターネットの1つも使いきってしまったため制作ができずにいました。

xserver は cron でシェルスクリプトが使えないのかな。先日使えなかったのでサポートに問い合わせたのですが半年ほど返答がありません。xserver 返答48時間以内にするっていうけど違うからねあれ。人力で「メール受け取りました」っていうメールを返信してくれるのが48時間以内ですからねあれ。

…話を戻しまして、heteml はデータベースが10個、cron が5個、マルチドメインが50個。
私はサイトを公表していないものも含めて10サイト以上運営しており、データベースを使うものが5つあるので、ちょうど良いかなーという感じ。さくらインターネットちょっと低速だし、xserver も利用者をちょっと馬鹿にしてるし、2つのサーバー契約してるとどっちがどっちだかわからなくなるので、ここで一点集中にしようかと思い、契約。

まだ利用して1日目ですが、heteml のコントロールパネルは綺麗ですね。
あとマニュアルもしっかりしてるし、SSH で接続する方法まで紹介してありますよ。

ちなみにドメインの取得はやっぱり VALUEDOMAIN ですね。サーバーもやっぱり今でも XREA が一番ですな。値段もかなり安いし、本気のサイト運営じゃないならぜひ XREA+VALUEDOMAIN をおすすめしたいところ。
ちなみにメールは Google Apps がおすすめ。

んー本当は、3時間くらいでサーバー移転完了して、制作をしたいところだったんですが、一日中サーバーのことやってました。でも途中でシェルスクリプトとか SSH とかに関する知識が身についたので OK ということにしときましょう。そろそろ vim とか Linux とかはじめなきゃいかんね。

自宅サーバーとかもはじめたいし、自宅の無線 LAN のセキュリティもしっかりやらなきゃいけないし、ネットワークも微妙なんでセキュリティ強化したい。

でも一番やらなきゃいけないことは、顔文字データバンクに会員機能を実装するところ。昨日一日かけて認証機能を実装したんで、あとは会員登録と会員ページと認証機能にデータベースを絡ませること。それと、シェルスクリプトで全 DB の時系列バックアップ取れるようにするところかな。

でも結局他の作業しちゃうのは経験上目に見えてるんですけどね。