アーカイブ » 2011 » 3月

Apache2.2+PHP5.3+MySQL5.5環境でApacheが立ち上がらない

Written in 2011年03月23日 by | コメントする( 0件 )

最近、Apache2.2+PHP5.3+MySQL5.5の構築をしました。何度もしていたので甘く見てたら、Apache起動でOKと表示されるものの実際には立ち上がっておらず、ログにもエラーが出ていなかったので、とても困りました。

おそらくopensslの複数バージョンの混在が原因ではないかと思います。RPM版のopenssl0.9.8eが入っており、別途ソースインストールで、/usr/local/openssl にopenssl1.0.0cを入れていました。

MySQL5.5では、コンパイル時にCmakeを使うようになり、設定方法が以前と変わっており、opensslのインストールPREFIXを指定できずに(方法があるのかもしれませんが、、、)、デフォルトのディレクトリ/usr からライブラリを組み込むようで、RPM版のopenssl0.9.8eが組み込まれました。

一方、PHPではopensslのインストールディレクトリを指定できるので、/usr/local/openssl のopenssl1.0.0cを組み込もうとしたところ、MySQL5.5からクライアントライブラリを組み込む指定もしていたので、MySQL5.5のopenssl0.9.8eとPHP5.3のopenssl1.0.0cがコンフリクトして「セグメンテーション違反」となって、コンパイルできなかった。

なので、opensslは複数バージョンのDSOモジュールがあると競合するようだ。仕方なく、PHPには、/usrのパスを指定してopenssl0.9.8eを組み込んだ。

さて、Apache2.2には、opensslのパス指定ができるので、/usr/local/openssl のopenssl1.0.0cを組み込んでいました。このアパッチにlibphp5.soを読み込ませるわけだが、そうするとApache2.2のopenssl1.0.0cと、PHP5.3およびMySQL5.5に組み込まれたopenssl0.9.8eがコンフリクトするのではなかろうか。PHPコンパイル時のPHP x MySQLのコンフリクトのようにエラーが出ればいいが、Apache起動時にエラーも吐かずに立ち上がらないという状況はいかにも困った。

これらのopensslコンフリクトの仮説をもとに、Apache2.2もopenssl0.9.8eを組み込んでコンパイルし直し、PHP5.3も同様にコンパイルしなおしたところ、動きました。。。。

AmazonEC2を使い始めた

Written in 2011年03月16日 by | コメントする( 0件 )

AmazonEC2を使い始めました。この柔軟性たまりませんね。CentOS5.5 32bitの既存AMI(イメージ)を使って、インスタンスを作った。EBSにルートパーティションを作るイメージなのですが、10GBのサイズで勝手にできてしまい、これではルートパーティションにしては小さい。それで、以下の手順でルートパーティションのサイズを20GBに拡大した。

①一度このEBSのイメージを作成
②そのイメージで20GBのEBSを新たに作成
③起動済みのインスタンスをSTOP
④10GBのEBSをdetach
⑤新しい20GBのEBSをインスタンスにattach。デバイスは/dev/sda1。
⑥インスタンスを起動
⑤SSHでサーバに入る。この時点ではまだ/dev/sda1 は10GBである。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  2.3G  7.1G  25% /
/dev/sdb              147G  188M  140G   1% /mnt
none                  854M     0  854M   0% /dev/shm

⑥以下のコマンドを実行する。

# resize2fs /dev/sda1

resize2fs 1.39 (29-May-2006)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/sda1 to 5242880 (4k) blocks.
The filesystem on /dev/sda1 is now 5242880 blocks long.

⑦これでルートパーティションのサイズが広がる

# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              20G  2.3G   17G  13% /
/dev/sdb              147G  188M  140G   1% /mnt
none                  854M     0  854M   0% /dev/shm