続・Think! Think! Think!

世の中について考えてみる。後、webサイドの知識を書いています。※時々ネタあり。

php5.5 httpd2.4 インストール

php5.5をinstall必要があったので、メモ。

そして結論からいうと、

php55 参考リンク

の通りに行えばyumから簡単にinstall可能。

remi-phpリポジトリを指定して、installするのがポイント。

そして、

  • php5.5
  • httpd2.4 -> 2.2

に変更。

理由は、

  • httpd2.2でもいけたことと
  • yumで簡単に入れられたこと

とまぁいとも簡単に完了したように見えますが、

ここにいきつくまでに、色々苦難が。。。

苦労話

そもそも、yum でも install が見つからず、make などを使って install を進めたことが問題だった。。。

することとしては、

  1. remiからphp55をinstall
  2. yumでhttpd2.2削除
  3. httpd2.4 install

2.までは、何も問題はなかった。が!

httpd2.4は、かなりのくせ者だった。。。

問題1 httpd2.4 依存関係 install時の postgresql93

  • apr-develのバージョン1.4.0以上 (default : 1.3.9)
  • distcache-develが必要(default : なし)

を入れる必要がある。

特に問題だったのが、

  • apr-develのバージョン1.4.0以上 (default : 1.3.9)

これ。

rpmbuildしたときに、

apr_dbd_pgsqlが見つかりません。

意味不明。。。ものすごく悩んだが、postgresqlだったので、もしや postgresql93でpackageをいれたから、postgresqlとはパスなどが変わっているんじゃないかと。

ビンゴー!!

同じ事象のリンク先

一度解答して、specファイルを編集し、パスを変更

--with-pgsql を削除
--with-pgsql=/usr/pgsql-9.3 を追加

再度圧縮して、rpmbuild。

いったーーー!!!b

本当手動でやると、色々大変。。。

この辺りは横着せずに、ちゃんとコンパイル時の指定可能オブションを確認するようにしないと、こういうのかなりハマるな。。。

基本yumっ子なので、この辺りの仕組みは、しっかりと理解できていないことも原因なんだろうな。。。

使うことは少ないが、根本的な知識として、一度体系的に学んでおこう。

よし、これでOKと意気揚々として、確認してたらうまくいかない。。。

問題2 libphp5.so が 作成されない

httpdから読み込む、phpもmoduleが作成されていない!!!

php55の再インストールなど色々したけどだめ。

remiからyumで入れたのが原因なのかな。と思い、コンパイルして入れようと思ったが、もうめんどくささがmaxになっていて、色々探していたら、remi-phpからのinstallにであった。

yum remove httpd
rpm -qa | grep httpd
rpm -e httpdの残骸

で、httpd関連を削除

yum remove php55*

で、php55関連を削除

で、rpm-phpからinstall

// remi-phpのセットアップはページTOPのリンク参照
yum --enablerepo=remi-php55 install php

そして、サーバの設定を色々したら、うまくいった。

はぁーーーこういうのってあるよね。と。

まぁーrpm buildとか、make周りを調べたり、興味がわく機会になったのでよかったとしよう〜

今度この辺りもまとめた。

結局コンパイルでのinstallは、完了せずに終わったが、libphp5.soが生成されない問題の記事は多く出てくるので、中途半端で申し訳ないが、調べればいけると思います。

※やる人がいれば、頑張ってくださいb

念のため、資源は下記に。

rpmbuildで作っておけば、何かあったときに使えるなーと思った。 パスが違うなどあるので、個人での利用に限りますが。

今後調べたいこと

  • make関連を体系的に学ぶ
  • httpd2.4の特徴などについて調べる
  • php5.5の設定周り

になるかな〜

とりあえず本日は、以上!

実行履歴 メモ

下記、参考リンクと、httpd2.4 install までの簡易な手順 メモなので、何が起きても保証できませんので、ご注意を〜

ARP install

// rpm build setting
mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS}

echo "%_topdir $HOME/rpm" > ~/.rpmmacros

// rpm build install
yum -y install rpm-build

// apr1.3.9 remove
sudo yum remove apr

cd ~/Donwload

// apr1.5.1 install
wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.bz2

rpmbuild -tb --clean apr-1.5.1.tar.bz2

cd ../rpm/RPMS/x86_64

sudo rpm -ihv apr-1.5.1-1.x86_64.rpm apr-devel-1.5.1-1.x86_64.rpm

cd ~/Donwload

// apr1.5.3-util install
tar -jxf apr-util-1.5.3.tar.bz2
vim apr-uril-1.5.3/apr-util.spec

// --with-pgsql を削除
// --with-pgsql=/usr/pgsql-9.3 を追加

tar jcvf apr-util-1.5.3.tar.bz2 apr-util-1.5.3
rpmbuild -tb apr-util-1.5.3.tar.bz2

cd ../rpm/RPMS/x86_64

sudo rpm -ihv apr-util-*

cd ~/Donwload

// distcache install
rpmbuild --rebuild --clean distcache-1.4.5-23.src.rpm

cd ../rpm/RPMS/x86_64
rpm -ivh distcache-1.4.5-23.x86_64.rpm distcache-devel-1.4.5-23.x86_64.rpm

cd ~/Donwload

// httpd 2.4 install
sudo yum install pcre-devel lua-devel
wget http://archive.apache.org/dist/httpd/httpd-2.4.10.tar.bz2
rpmbuild -tb --clean httpd-2.4.10.tar.bz2

cd ../rpm/RPMS/x86_64
sudo rpm -ihv httpd-2.4.10-1.x86_64.rpm httpd-devel-2.4.10-1.x86_64.rpm httpd-manual-2.4.10-1.x86_64.rpm httpd-tools-2.4.10-1.x86_64.rpm mod_ssl-2.4.10-1.x86_64.rpm

ps

記事とあまり関係がないが、画像的に何か欲しいので、一冊紹介。

一番始めにサーバ周りの実践を学ぶならこれおすすめ。

あとは、Linux系のサーバコマンドリファレンス的なものを、読めばOKかな。

サーバは壊してなんぼb。※仕事ではしないでね。

ちなみに自分は、なんか変なパッケージを、yum remove して、lsコマンドも使えなくなったことがあります。。。w

サーバやってしまった集を、今度書こうかなw