RedHat Linux 7.3/8.0/9 におけるPukiWikiの導入手順

手順

/etc/php.ini(設定ファイル: PHP 4.0 の場合)

Red Hat
version
キー修正前修正後説明
7.3file_uploadsOffOnアップロードできるようにする
short_open_tagOn
register_globalsOn
8.0file_uploadsOn
short_open_tagOffOn<?のタグを受け付けるようにする
register_globalsOff必要ならば修正

RedHat Linux 8.0/9 での考慮点

PHPmbstringを有効にしていないので、自力でリビルドして対処する。ソースを取得して、リビルドした上で、再導入して当座を凌ぐ。かと言って、有効じゃなくても BracketName での日本語の取り扱いは、問題ありません。現状だと #lookup で被害を被ります。

SRPMの取得

RedHatCD-ROMファイル名
8.04枚目php-4.2.2-8.0.5.src.rpm
96枚目php-4.2.2-17.src.rpm

ビルドオプションの変更

# rpm -i php-4.2.2-XXX.src.rpm
# cd /usr/src/redhat/SPECS
# vi php-4.2.2-XXX.spec
--with-ldap=shared \
--enable-mbstring \
--enable-mbstr-enc-trans \
--with-mysql=shared,%{_prefix} \

上の --enable-mbstring \--enable-mbstr-enc-trans \ の2行を追加する。

ビルドに必要なパッケージのインストール

フルインストールしていない方などは、以下のパッケージが必要になるので、別途インストールする。

ビルドの実行

# rpmbuild -ba php-4.2.2-8.0.5.spec
# cd ../RPMS/i386

/usr/src/redhat/RPMS/i386 には、以下の RPM が完成している。

RedHat 8.0
php-4.2.2-8.0.5.i386.rpm
php-devel-4.2.2-8.0.5.i386.rpm
php-imap-4.2.2-8.0.5.i386.rpm
php-ldap-4.2.2-8.0.5.i386.rpm
php-manual-4.2.2-8.0.5.i386.rpm
php-mysql-4.2.2-8.0.5.i386.rpm
php-odbc-4.2.2-8.0.5.i386.rpm
php-pgsql-4.2.2-8.0.5.i386.rpm
php-snmp-4.2.2-8.0.5.i386.rpm
RedHat 9
php-4.2.2-17.i386.rpm
php-debuginfo-4.2.2-17.i386.rpm
php-devel-4.2.2-17.i386.rpm
php-imap-4.2.2-17.i386.rpm
php-ldap-4.2.2-17.i386.rpm
php-manual-4.2.2-17.i386.rpm
php-mysql-4.2.2-17.i386.rpm
php-odbc-4.2.2-17.i386.rpm
php-pgsql-4.2.2-17.i386.rpm
php-snmp-4.2.2-17.i386.rpm

導入

オプションを変更しただけなので、そのまま強制的に導入してしまって対処する。本来は、このビルドオプションが有効となるもののみ導入すればよいわけですが。

# rpm -ivh --force php-*.rpm
Preparing...                ########################################### [100%]
   1:php                    ########################################### [ 11%]
   2:php-devel              ########################################### [ 22%]
   3:php-imap               ########################################### [ 33%]
   4:php-ldap               ########################################### [ 44%]
   5:php-manual             ########################################### [ 56%]
   6:php-mysql              ########################################### [ 67%]
   7:php-odbc               ########################################### [ 78%]
   8:php-pgsql              ########################################### [ 89%]
   9:php-snmp               ########################################### [100%]

/etc/php.iniでmbstringセクションを有効にする。

PHP4.3.0を導入する場合の手順

上記の手順に沿ってPHPmbstringを有効にしても,日本語処理がうまくいかない場合がある。(原因は不明)現在PHPの最新版は4.3.0だが,付属のRPM化するパッチは正常に動作しない。よって,RPMに頼らずに無理やりソースから導入する場合の手順を示す。

PHP関連のRPMを削除する。GUIからパッケージ追加削除ツールを使うか,以下のコマンドラインを用いる。

# rpm -qa | grep php|xargs rpm -e

ソースを入手する。必要なファイルは,httpd-2.0.44.tar.gz及びphp-4.3.0.tar.gzの二つ。まずApache2のソースを展開する。

# tar xvzf httpd-2.0.44.tar.gz

PHP4.3.0のソースを展開し,コンパイルする。

# tar xvzf php-4.3.0.tar.gz
# ./configure --enable-mbstring --enable-mbstr-enc-trans \
 --enable-mbregex --enable-zend-multibyte --with-pgsql \
 --with-apxs2=/usr/sbin/apxs --without-gd
# make

このままではインストールできないので,httpd-2.0.44/build/instdso.sh*1を/usr/lib/httpd/build/にコピーする。

# cp /usr/local/src/httpd-2.0.44/build/instdso.sh /usr/lib/httpd/build

インストールする。

# make install

/etc/httpd/conf/httpd.confを編集し,以下の行を足す。

Addtype application/x-httpd-php .php

/usr/local/lib/php.iniの[mbstring]セクションを編集する。コメントを生かし,mbstring.http_outputをEUC-JPにする。

Apacheを再起動する。

/etc/init.d/httpd restart

PHP 4.2.2 と 4.3.1 との比較 (ext/mbstring/)

が大幅に修正されています。この修正により、肥大化が収まったのでしょうかね?

RedHat 9 となっても、PHP 4.3.x の採用は見送られているのが現状ですが、ぜひ、導入したいものです。


*1 これは、RedHat 9では対応されています。このinstdso.shが無ければ、そもそも、Apacheの DSOもビルドできません。

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-05 (月) 02:52:16
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 1.750 sec.

SourceForge