RedmineとApacheを連携させるPassengerをインストールできなかった
あらすじ
特徴
http://redmine.jp/tech_note/apache-passenger/
* Apache単独でRailsアプリケーションを実行可能です。Apacheのモジュールとして実装されており、別途デーモンを起動する必要がありません。tcpポートも使いません。
* Railsアプリケーションのデプロイが簡単になります。ファイルをアップロードするだけ。ほぼPHP感覚です。
* サーバのメモリを節約できます。Railsインスタンスは必要なタイミングで生成します。また、一定時間アクセスがなければインスタンスを終了させます。
ふーむ。
参考サイト
手順
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を選択。必要なソフトウェアがインストールされているかチェックされる。
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
- から
- ディストリビューションを選択しパッケージをDL
- 依存ファイルもあるので注意
- libidnとかlibssh2が足りなかったのでcurlが実行できない
- not found状態になっていた
OpenSSL
- OpenSSL development headersはなぜ入っていないのかわからなかった
- パッケージをpkgaddしただけではダメ?
- Solarisにopenssl-develみたいなものはある?
- この文章を読むとソースから入れればよさそうなのだが…
Does anyone know where I can obtain openssl-devel source or package for
http://www.sunhelp.org/pipermail/sunhelp/2003-September/019267.html
solaris. I am trying to compile courier-imap-2.1.1 and it bombs out in
the make process with the following error:
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入れなおしてみる