ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

php5 + apacheを連携させるためのインストール

スポンサードリンク

えー、この記事は失敗記事です。
うまくいくか不明ですが、もしうまくいった人がいれば
コメントください(;ω;)オナシャス



mirror サイトからダウンロード
※直接ダウンロードができない(´・ω・)


ローカルから、サーバへアップしました。

$ tar zxvf httpd-2.4.9.tar.gz
$ tar zxvf php-5.5.13.tar.gz

まずはApacheをインストール

$ cd httpd-2.4.9/
$ 
checking for xml2-config path... 
configure: error: xml2-config not found. Please check your libxml2 installation.
$ yum install libxml2-devel mysql-server libjpeg-devel libpng-devel
$ ./configure --enable-mbstring --with-apxs2=/usr/local/apache-2.4.9/bin/apxs --enable-pdo --with-gd --with-png-dir=/usr/local --with-jpeg-dir=/usr/local
$ make && make install
make: *** [ext/fileinfo/libmagic/apprentice.lo] エラー 1


うえ!!?


どうやらメモリが足りないらしい。。。orz

$ free -m
             total       used       free     shared    buffers     cached
Mem:           590        161        428          0          8         25
-/+ buffers/cache:        128        461
Swap:            0          0          0


すくな!!!!orz
取り敢えず、落とせるだけリソースを確保

# Apacheの停止
$ apachectl stop

# メモリを増やしてみる。
$ ulimit -v 131072


もっかい、make

virtual memory exhausted: メモリを確保できません
make: *** [ext/fileinfo/libmagic/apprentice.lo] エラー 1


うぬぬぬ・・・


freeみたら、swapが全く0になので
swapを拡張

$ dd if=/dev/zero of=/swap bs=1024
$ chmod 600 /swap


スワップファイルの初期化

$ mkswap /swap 256000
mkswap: /swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.

# スワップ空間バージョン1を設定します、サイズ = 255996 KiB


なんかでた。けど、warningなんで、シカト。


スワップの有効化

$ swapon /swap 


free で確認してみる

$ free -m
             total       used       free     shared    buffers     cached
Mem:           590        439        150          0         10        293
-/+ buffers/cache:        135        454
Swap:          249          0        249


増えてるお。
もっかいmake

virtual memory exhausted: メモリを確保できません
make: *** [ext/fileinfo/libmagic/apprentice.lo] エラー 1


( ゚∀゚)・∵. グハッ!!
でも、見た感じ、swapは使われてないっぽい。


ulimitを拡張

$ ulimit -l 512000


実行!


・・・


ダメぽorz


色々探していると、「--disable-fileinfo」を加えてみてはという記事にであった。
というわけ、付与

$ ./configure --enable-mbstring --with-apxs2=/usr/local/apache-2.4.9/bin/apxs --enable-pdo --with-gd --with-png-dir=/usr/local --with-jpeg-dir=/usr/local --disable-fileinfo
$ make && make install


さて・・・結果は・・・・

Build complete.

$ make test
=====================================================================
PHP         : /usr/local/src/php-5.5.13/sapi/cli/php 
PHP_SAPI    : cli
PHP_VERSION : 5.5.13
ZEND_VERSION: 2.5.0
PHP_OS      : Linux - Linux ip-xxx-xxx-xxx-xxx 2.6 #1 SMP Mon Apr 23:59:59 EST 2099 x86_64
INI actual  : /usr/local/src/php-5.5.13/tmp-php.ini
More .INIs  :  
CWD         : /usr/local/src/php-5.5.13
Extra dirs  : 
VALGRIND    : Not used
=====================================================================

(´;ω;)b


テストも無事完了したもよう。
ちなみに、うれし泣きじゃありません。


PHPコンパイルだけで、1時間半かかったお!!!!
※どうしてApacheとこんなにちがうん?ソース量?今度調べてみようと思う。
※ちなみに、Apacheは10分くらい(こっちも遅い。。。)
※「make test」は一時間ぐらい。。。orz


スペックの小さいところでのmakeって意味では勉強になりましたが、
もうmicroインスタンスでは検証しません。


あと、このあと回避できないエラーが。。。orz
もうダメぽ。
でたエラーは下記(全くわからん。。。)

[mpm_event:crit] [pid 597:tid 140633025001216] (22)Invalid argument: ap_queue_pop failed
[mpm_event:crit] [pid 597:tid 140633035491072] (22)Invalid argument: ap_queue_pop failed
[mpm_event:alert] [pid 595:tid 140633328731904] AH02324: A resource shortage or other unrecoverable failure was encountered before any child process initialized successfully... httpd is exiting!


あきらめて、ミドルのインスタンスに変更して
yumでインストールしたとさ。。。orz