# cd /var/www/html/ # tar fxvpz pukiwiki1.3.4.tar.gz # ln -s pukiwiki1.3.4 pukiwiki # chown -R apache.apache pukiwiki # cd pukiwiki # ln -s pukiwiki.php index.php※1.4.4以降のPukiWikiには、index.phpファイルが同梱されています。このため、index.phpという名前でpukiwiki.phpへのリンクを作成する必要がありません。(最後の行が不要です)
# vi pukiwiki.ini.php
Red Hat version | キー | 修正前 | 修正後 | 説明 |
7.3 | file_uploads | Off | On | アップロードできるようにする |
short_open_tag | On | |||
register_globals | On | |||
8.0 | file_uploads | On | ||
short_open_tag | Off | On | <?のタグを受け付けるようにする | |
register_globals | Off | 必要ならば修正 |
PukiWiki 1.3.3 以降を適用すると、Off でも稼動するようになります。
PHPがmbstringを有効にしていないので、自力でリビルドして対処する。ソースを取得して、リビルドした上で、再導入して当座を凌ぐ。かと言って、有効じゃなくても BracketName での日本語の取り扱いは、問題ありません。現状だと #lookup で被害を被ります。
RedHat | CD-ROM | ファイル名 |
8.0 | 4枚目 | php-4.2.2-8.0.5.src.rpm |
9 | 6枚目 | 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セクションを有効にする。
上記の手順に沿ってPHPのmbstringを有効にしても,日本語処理がうまくいかない場合がある。(原因は不明)現在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
が大幅に修正されています。この修正により、肥大化が収まったのでしょうかね?
RedHat 9 となっても、PHP 4.3.x の採用は見送られているのが現状ですが、ぜひ、導入したいものです。