RedmineとApacheを連携させるPassengerをインストールできなかった

[Ruby][Solaris][備忘録][Redmine]RedmineとApacheを連携させるPassengerをインストールできなかった

あらすじ

  • Redmineを自動起動するようにしたい
    • Phusion Passenger(mod_rails for Apache)を使えばApacheと連携できるらしい

特徴

\* Apache単独でRailsアプリケーションを実行可能です。Apacheのモジュールとして実装されており、別途デーモンを起動する必要がありません。tcpポートも使いません。

\* Railsアプリケーションのデプロイが簡単になります。ファイルをアップロードするだけ。ほぼPHP感覚です。

\* サーバのメモリを節約できます。Railsインスタンスは必要なタイミングで生成します。また、一定時間アクセスがなければインスタンスを終了させます。

http://redmine.jp/tech_note/apache-passenger/

ふーむ。

参考サイト

手順

passengerインストール

Passengerを使うにはfastthread、daemon_controllerが必要らしい。

$ gem install --local fastthread-1.0.7.gem
$ gem install --local daemon_controller-0.2.6.gem
$ gem install --local passenger-3.0.9.gem

※スタンドアロンなマシンだったため。ネットにつながっていればgem install passengerで全部入るはず。

passenger-install-apache2-module実行

対話形式でApacheのモジュール等を確認・インストールしていく。はじめにpassener-install-apache2-moduleを実行するとこんなメッセージが出てくる。

$ passenger-install-apache2-module
Welcome to the Phusion Passenger Apache 2 module installer, v3.0.9.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.
  1. Apacheモジュールをインストールしたい
  2. Apacheの設定を知りたい
  3. Railsアプリのデプロイ方法をしりたい

の中から一つ選んだらアドバイスしてやるよっと言っている? のようなので1を選択。必要なソフトウェアがインストールされているかチェックされる。

Checking for required software...

 * GNU C++ compiler... found at /usr/local/bin/g++
 * Curl development headers with SSL support... not found
 * OpenSSL development headers... not found
 * Zlib development headers... found
 * Ruby development headers... found
 * OpenSSL support for Ruby... found
 * RubyGems... found
 * Rake... found at /usr/local/bin/rake
 * rack... found
 * Apache 2... not found
 * Apache 2 development headers... not found
 * Apache Portable Runtime (APR) development headers... not found
 * Apache Portable Runtime Utility (APU) development headers... not found

Some required software is not installed.
But don't worry, this installer will tell you how to install them.

Press Enter to continue, or Ctrl-C to abort.

結構インストールされていないものが多いな。メッセージでも「いろいろ入っていないものが見受けられるが心配すんな、俺がお前にインストール方法教えてやるよ!」と言われているようのでそのままエンター。

Installation instructions for required software

 * To install Curl development headers with SSL support:
   Please download Curl from http://curl.haxx.se/libcurl and make sure you install it with SSL support.

 * To install OpenSSL development headers:
   Please download it from http://www.openssl.org/

 * To install Apache 2:
   Please download it from http://httpd.apache.org/

 * To install Apache 2 development headers:
   Please download it from http://httpd.apache.org/

 * To install Apache Portable Runtime (APR) development headers:
   Please download it from http://httpd.apache.org/
   (APR is an integrated part of Apache.)

 * To install Apache Portable Runtime Utility (APU) development headers:
   Please download it from http://httpd.apache.org/
   (APR Utility is an integrated part of Apache.)

If the aforementioned instructions didn't solve your problem, then please take
a look at the Users Guide:

  /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/doc/Users guide Apache.html

どこに何があるかUrlなどを教えてくれた。親切!

足りないもの集め

Curl

Apache

  • Apacheはあるはずなんだけどなあ。うまく見てくれてない
  • /usr/local/apache2/binにパスを通したらApache 2 development headerはfoundになった
    • え? Apache 2 development headerだけ? 他は?

OpenSSL

  • OpenSSL development headersはなぜ入っていないのかわからなかった
  • パッケージをpkgaddしただけではダメ?
    • Solarisにopenssl-develみたいなものはある?
  • この文章を読むとソースから入れればよさそうなのだが…

Does anyone know where I can obtain openssl-devel source or package for

solaris. I am trying to compile courier-imap-2.1.1 and it bombs out in

the make process with the following error:

http://www.sunhelp.org/pipermail/sunhelp/2003-September/019267.html

You can download complete OpenSSL source from www.openssl.org.

http://www.sunhelp.org/pipermail/sunhelp/2003-September/019268.html

  • configのオプションに –openssldir を指定してみてもダメだった。

とかなんとかしてるうちに

Rubyが実行できなくなった。lddで調べてみると、シンボルが見つからなくなっている。

        librt.so.1 =>    /usr/lib/librt.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libcrypt_d.so.1 =>       /usr/lib/libcrypt_d.so.1
        libm.so.2 =>     /usr/lib/libm.so.2
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib//libgcc_s.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd.so.1 =>    /usr/lib/libmd.so.1
        libgen.so.1 =>   /usr/lib/libgen.so.1
        シンボルが見つかりません: rb_cObject          (./md5.so)
        シンボルが見つかりません: MD5_Update          (./md5.so)
        シンボルが見つかりません: MD5_Init            (./md5.so)
        シンボルが見つかりません: MD5_Finish          (./md5.so)
        /platform/SPARC-XXXX/lib/libc_psr.so.1
        /platform/SPARC-XXXX/lib/libmd_psr.so.1

md5.soを調べてみる。

$ cd /usr/local/lib/ruby/1.8/sparc-solaris2.10/digest
$ ldd -d md5.so
        librt.so.1 =>    /usr/lib/librt.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libcrypt_d.so.1 =>       /usr/lib/libcrypt_d.so.1
        libm.so.2 =>     /usr/lib/libm.so.2
        libc.so.1 =>     /usr/lib/libc.so.1
        libgcc_s.so.1 =>         /usr/local/lib//libgcc_s.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd.so.1 =>    /usr/lib/libmd.so.1
        libgen.so.1 =>   /usr/lib/libgen.so.1
        シンボルが見つかりません: rb_cObject          (./md5.so)
        /platform/SUNW,SPARC-Enterprise-T5120/lib/libc_psr.so.1
        /platform/SUNW,SPARC-Enterprise-T5120/lib/libmd_psr.so.1

Ruby本体の中でなんかやっちゃったのかな?

結局Rubyを再インストールしたらこのエラーは消えた。

今後

  • とりあえず、違うOSでPassenger入れなおしてみる

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2011/12/05 [Ruby] [Redmine] RedmineでプラグインインストールしたらTemplateErrorが出た
  2. 2011/09/07 [Ruby] [Redmine] [SQLite3] [Windows] Redmineのプラグイン作成のための備忘録と、時々SQLite3
  3. 2011/05/01 [Ruby] [Redmine] [Windows] Redmineインストール備忘録(Windows)
  4. 2013/08/20 [Ruby] [Rails] [Redmine] Rails3のログ出力にANSIカラーコードを使用しない設定
  5. 2013/08/09 [Ruby] [Redmine] [MySql] [StartUp] WindowsにRedmine2.3をインストールする手順と、プラグイン作成用メモ
  6. 2012/07/17 [Ruby] [Windows] [Redmine] Windows版Redmineをサービスに登録してブート時に起動させる(宿題あり)
  7. 2012/05/28 [Ruby] [イベント] [Jenkins] [Redmine] Jenkins,Redmine使いこなし勉強会に参加しました と、ちょっとプラグイン作ってみた #jen_red
  8. 2011/12/27 [Evernote] [Ruby] [API] EvernoteのAPIをRubyから叩きたい
  9. 2011/12/26 [Ruby] [Haml] [Sinatra] SinatraでHaml入門
  10. 2011/12/22 [Solaris] [Subversion] SolarisにSubversionをインストールするときのメモ
  11. 2011/12/21 [Ruby] Ruby実行時のオプションをよろしく解析してくれるoptparseを使ってみる
  12. 2011/12/12 [Unix] [Shell] [Solaris] ファイルの拡張子を見て適切なコマンドで解凍してくれるスクリプトを組んだ
  13. 2011/12/10 [Solaris] tarコマンドでzオプションを使わずにファイルを解凍する
  14. 2011/12/09 [Unix] [Solaris] Unixでファイル圧縮・解凍するときに使うコマンドをまとめた
  15. 2011/12/08 [Solaris] Solarisで現在のOSバージョンやパッチバージョンを確認する