FreeBSDにPHPを設定

pkg_addではダメ?

  • VMwareにいろいろツッコンでもうサーバいぢるのが楽しい。でメモメモ。
    • pkg_addでphp5をインストールしていざhttpd.confに設定もして、ときた所でモジュールってどこにあるんだ?とはまってしまう。
    • ネットを検索したところどうやらpkg_addはコマンドライン上で使えるようになるがapache上では無理(?)の様子。なので一度pkg_delete する。(「make clean」を忘れずに)
    • その後/usr/ports/lang/php5 に行きMakefileの設定を以下のように書き換える

CONFIGURE_ARGS= \
--with-layout=GNU \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--disable-all \
--enable-libxml \
--with-libxml-dir=${LOCALBASE} \
--enable-mbstring \
--enable-mbregex \
--enable-reflection \
--program-prefix=""

    • mbstringとmbregexの部分を追加した。
    • makeしてmake install
    • httpd.confに以下の記述を追加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

    • /usr/local/etc/php-ini-distからphp.iniをコピーして色々設定。
    • apachectl configtest, apachectl restartでお約束のphp_info()を試す

追記12/3

  • その後/usr/ports/lang/php5-extensions/ をmake installしたら(全部選択して)、エラーが発生してhttpdが起動しなくなったりした。mbstring関連はこのextension内にあるようで、上記設定と重複したりするようでした。面倒なのでextensionsはpkg_info | grep phpから表示される一覧で一つ一つ削除pkg_deleteしました;;make cleanしたらports deinstallできなくなるらしい。
  • Emacsphp-modeが使いたかったのでpkg_add -r php-mode(だったかな)を実行するも、puttyなどでリモートログインしてEmacsを使うとphp-modeは機能しない。実機からだと使えるんだけど。。perl-modeはどちらでもOKですた。

追記2009-03-25

  • /usr/ports/lang/php5 からmake configしてmake、make installする。その際にCLIAPACHEを有効にする。

mysql

# cd /usr/ports/databases/mysql51-server
# make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_OPENSSL=yes BUILD_OPTIMIZED=yes

でmake install
その後/usr/ports/lang/php5-extensionsでmake, make installでok。足りないモジュールは個別にmakeする。
/usr/ports 以下でmake search name=mbstring | grep phpなどすれば見つかる。