とあるWebサーバの環境で、mod_suphpを使う機会があったので、本家よりDLして、2013-05-20リリースの「suPHP 0.7.2」をCentOS5(x86_64)環境でコンパイルしてみました。
コンパイルを試した組み合わせ
- suPHP 0.7.2
- CentOS5(x86_64)
あっさり、コンパイルできると思いきや、configureでエラーがでてしまいました。
# ./configure configure: error: cannot find install-sh, install.sh, or shtool in config "."/config
どうやら、「config/install-sh」がないようです。autoconfでinstall-shを作り、そのあとに、コンパイルしてみることにします。
# aclocal && libtoolize --force && automake --add-missing && autoreconf Putting files in AC_CONFIG_AUX_DIR, `config'. configure.ac: installing `config/install-sh' configure.ac: installing `config/missing' src/Makefile.am: installing `config/depcomp' # ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether build environment is sane... yes checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no
うまくいきました!
ってことで、セキュリティ的にも本番環境にgccなどを入れたくないので、rpmでパッケージ化したかったので、specファイルに下記のように追加し、無事パッケージ化できました。
specファイルの一部
%build aclocal && libtoolize --force && automake --add-missing && autoreconf %configure \ --disable-checkpath \ --with-apache-user="apache" \
余談ですが・・・
本番WEB環境に、平気でgccを入れて、configureやmakeでコギョゴニョしていらっしゃる方をお見かけしますが、後々のパッケージ管理(configureに与えるパラメータ等も含めて)、バージョン管理も大変ですし、特にセキュリティ的に大丈夫なんでしょうか? とっても心配です。