SUGARSPOT

Androidアプリ、WEBサービス開発の SUGARSPOT  |Androidブログ「Androidのことなんだけど」もやってます

2012年1月9日月曜日

サーバーカウボーイでRuby on Rails

とある案件で、サーバーカウボーイという安価なレンタルサーバーを利用する機会があったので、ハマッタ所などをメモとして残しておきます

サーバーカウボーイは月額が416円~という驚く安さで、Ruby on Railsが動く環境を提供してくれます
そのため、環境構築の作業は不要なので急ぎの案件でもサクッと動作させることができます

ただし、gem等が利用できないので、サーバーにインストール済みのライブラリしか利用できないのが難点です
また、まったくサポートは宛てになりません(サポートはしてくれないです)

以下、メモ


■環境
(ブログ作成時2012.1.9時点であり、変更されている可能性があります)

・Ruby 1.8.7
・Ruby on Rails 2.3.8
・その他のライブラリ等は、[COWBOY HACKS]の[カウボーイにインストールされているgemを確認する]を参照すると良いです



■sshを利用する
[Webホスティング設定]→[ドメイン]で表示されるWeb ホスティングサービスの設定にてシステムアクセス/bin/bashに変更して保存する
これにより、sshでのアクセスが可能となる


Ruby on Railsを有効にする
[Webホスティング設定]→[ドメイン]で表示されるWeb ホスティングサービスの設定にてFastCGI サポートを有効して保存する


■HTTPDを再起動する
サーバーカウボーイはFastCGIで動作しているので、プログラムや設定を変えてもスグには反映されません
そこで、すぐに反映させたい場合は、Webホスティングサービスの設定画面を開いて、何も変更せずに保存しましょう
そうすると、HTTPDが再起動されて、変更内容が反映されます


■rakeを実行する
サーバーカウボーイはではrakeなどのコマンドを実行する事ができません
その解決方法として、スケジュールタスクを使ったrakeの実行という技があるようです
(今後も利用できるかは不明ですけどね)
次のようなコマンドをスケジュールタスクに登録して実行する事でrakeが実行できました

cd httpdocs/{プロジェクト名}/ && /opt/ruby1.8.7/bin/rake db:migrate RAILS_ENV="production" 2>&1 | mail {結果を送信するメールアドレス}


■その他
・プログラムの配置場所はhttpdocsのした(場合によっては、httpsdocsかもね)
・リンクの設定 ln -s {配置したプログラムフォルダ}
・dispatch.fcgiに実行権限が必要
chmod +x  {配置したプログラムフォルダ} /public/dispatch.fcgi


基本的に、こまった際はサポートへ連絡ではなくて自分で調べるしか方法はありません
まず、最初に調べる時は前述した[COWBOY HACKS]さんの記事を調べましょう
(ここに無かったら、ほとんど情報はないと言っても良いでしょうね)

Link:http://cowboyhacks.com/home/hacks


非常にやすくて楽なサーバーカウボーイ。
安いだけあって困る所も出てくるかもしれませんが、使ってみるとなかなか良かったです







0 件のコメント:

コメントを投稿