CentOSでmod_rails(Passenger)のインストール

仕事先でmod_railsを使う機会があったのでインストールしてみました。
mod_railsは何かというと、ruby on railsをapacheのモジュールとして起動する事により
効率を大幅に上げよう、というものです。
また、特定数秒(デフォでは120秒)アクセスがないと、自動的にプロセスが終了したり、
アクセスが多いと増加するので、単純にmongrelをたくさん起動しておくよりも効率的です。
以前はApache+mongrel_railsでしたが、明らかにレスポンスが向上しました。
では早速インストールの記録を。
続きを読む

拡張子がmp3のファイルを強制ダウンロードさせる

通常、単にmp3ファイルをweb上に置いただけでは、
mimeタイプがaudio/mp3となってしまい、ブラウザによってプレーヤが起動したり、ダウンロードしたり、と挙動が異なってしまいます。
そこで、拡張子がmp3のファイルは、mimeタイプを変えて強制ダウンロードさせることにしました。
<方法>
対象のディレクトリに.htaccessファイルを作り、以下の内容を記入します。
CODE:
  1. AddType application/octet-stream .mp3

※最終行の改行をお忘れなく。
これで、ファイルのクリックをした場合、ダウンロード画面が表示されるようになりました。

gemをアップデートするとうまく動作しない問題のまとめ

gemを最新版にアップデートすると仕様変更からさまざまなエラーが発生するため、
そのままではうまく動作しません。この問題にはまり、2時間も消費した。。。
エラーと共に、状況をまとめてみます。
環境:vmware, debian etch, gemなどはパッケージにてインストール
1.まず、gemをアップデートする

gem update --system
gem pristine --all

ただし、アップデート後にgemコマンド (gem pristine –all)を実行した段階で以下のエラーが発生します。

uninitialized constant Gem::GemRunner (NameError) 

または

ERROR:  While executing gem ... (Gem::Exception)
Failed to find gem rails >= 0

このエラーの対処のため、/usr/bin/gemの8行目辺り、require ‘rubygems’の下に以下を追加します。

require 'rubygems/gem_runner'

再度gem pristine –allを試してみる。

testsrv01:~# gem pristine --all
Restoring gem(s) to pristine condition...
Restored rails-2.1.0
Restored activeresource-2.1.0
Restored actionpack-2.1.0
Restored actionmailer-2.1.0
Restored activerecord-2.1.0
Restored rake-0.8.1

これで一応動作するようになります。
—参考サイト
undefined method `require_gem' for main:Object – 夜の Discovery
“Warning: require_gem is obsolete.”を解決 – Rails2.0.1バージョンアップ格闘記
Kazu-の気ままにOSS: ApacheとRuby on Railsの連携
railsにやられ気味 – ニッキ