サーバ

Linuxでのソースビルドインストールのディレクトリは?

|ω・)そろり。

VPSをCentOS6で動かしているのですが、どうしてもパッケージが古いのですよ。
そこでLAMP環境を構築するにあたって以下のようにしました。

  • Apache2.2 > yumインストール
  • MySQL5.6 > RPMインストール
  • PHP5.6 > ソースビルドインストール

で、PHP5.6をソースビルドインストールする際にどのディレクトリをインストール先に指定すればよいか?というお話です。

configure のデフォルト設定

大抵 configure のデフォルト設定では

PREFIX=/usr/local

となっていると思います。

そのままでも問題無いのですが、少し困ったことが起こります。

  • アンインストールはどうするんだ。
    (関連ファイルがbin等の多くのディレクトリにバラけるので削除が面倒)
  • 関連ファイル名が同じなのでバージョン違いをインストールできない。
    (例:PHP5.x系と7.x系を共存させる)

どこに指定するか?

自分がLinuxを覚え始めた頃は

PREFIX=/usr/local/php5

という形にしていました。(例:PHP5.x)
が、この指定は行儀が悪いそうです。(´・ω・`)

Linuxには"/opt"というディレクトリがあり、用途として手動でアプリケーションをインストールする際に使用するディレクトリになっているとのことです。
(参考:Linuxの基本の基本。Linuxの基本的なディレクトリ構成 / OXY NOTES)
(参考:各ディレクトリの役割を知ろう(ルートディレクトリ編) / @IT)

そうするとPREFIX設定は下記のようになります。

PREFIX=/opt/php5

アプリケーションのアンインストール

アプリケーションをアンインストールしたい場合は該当ディレクトリごと削除すればいいだけです。
※PATH指定やシンボリックリンクが存在する場合は注意しましょう。

バージョン違いの共存

バージョンごとにディレクトリを指定してやれば、違うバージョンのアプリケーションを共存させることができます。