#author("2016-11-27T17:00:35+09:00","","") test page hoge mmm #author("2016-12-05T02:52:16+09:00","","") *RedHat Linux 7.3/8.0/9 におけるPukiWikiの導入手順 [#eefedcbf] #contents **手順 [#lc523649] -前提 --http://localhost/pukiwiki/ で利用できるようにする。 # 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 --[[PukiWiki/CGI版PHPで動作させるには]] を参照下さい。 **/etc/php.ini(設定ファイル: [[PHP]] 4.0 の場合) [#m7e132ef] |LEFT:100|LEFT:40|LEFT:40|LEFT:200|c |Red Hat &br; version|キー|修正前|修正後|説明|h |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| |必要ならば修正 | -設定ファイルの反映について --[[PHP]] の起動時に読み込まれます。 --[[PHP]]のサーバーモジュール版では、このファイルは、Web サーバーの起動時に一度だけ読み込まれます。 --CGIとCLI版では、起動する度にこのファイルが読み込まれます。 ~ということなので、既に[[Apache]]が稼動していて、変更が反映されない場合には、restartしてみて下さい。 -short_open_tag ~PukiWiki 1.3.3 以降を適用すると、Off でも稼動するようになります。 *RedHat Linux 8.0/9 での考慮点 [#d1ed115b] - PukiWiki 1.4.x の場合 -- [[PukiWiki/mbstring無しのPHPでの動作]] ~[[PHP]]が[[mbstring]]を有効にしていないので、自力でリビルドして対処する。ソースを取得して、リビルドした上で、再導入して当座を凌ぐ。かと言って、有効じゃなくても BracketName での日本語の取り扱いは、問題ありません。現状だと #lookup で被害を被ります。 **SRPMの取得 [#x4bcc298] |LEFT:40|LEFT:40|LEFT:340|c |RedHat|CD-ROM|ファイル名|h |8.0 |4枚目 | [[php-4.2.2-8.0.5.src.rpm:ftp://ftp.rpmlinux.com/redhat/linux/8.0/en/os/i386/SRPMS/php-4.2.2-8.0.5.src.rpm]]| |9 |6枚目 | [[php-4.2.2-17.src.rpm:http://www.maxtux.co.uk/dist/redhat/9.0/i386/cd6/SRPMS/php-4.2.2-17.src.rpm]]| **&aname(build);ビルドオプションの変更 [#yde8ad35] :| # 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行を追加する。 **ビルドに必要なパッケージのインストール [#w4c37250] ~フルインストールしていない方などは、以下のパッケージが必要になるので、別途インストールする。 --bzip2-devel-1.0.2-5 --freetype-devel-2.1.2-7 --gd-devel-1.8.4-9 --httpd-devel-2.0.40-11 --imap-devel-2001a-15 --libjpeg-devel-6b-21 --libpng-devel-1.2.2-8 --mysql-devel-3.23.54a-4 --net-snmp-devel-5.0.6-8.80.2 --postgresql-devel-7.2.3-5.80 --pspell-devel-0.12.2-14 --unixODBC-devel-2.2.2-3 **ビルドの実行 [#sf72e27d] :| # 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| **導入 [#vc806ad5] :| ~オプションを変更しただけなので、そのまま強制的に導入してしまって対処する。本来は、このビルドオプションが有効となるもののみ導入すればよいわけですが。 // rpm -ivh --force *4.2.2-17* # 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を導入する場合の手順 [#ab3c2258] :| ~上記の手順に沿って[[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 ~[[PHP]]4.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((これは、RedHat 9では対応されています。このinstdso.shが無ければ、そもそも、Apacheの DSOもビルドできません。))を/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/) [#pbab68d2] --mbfilter.c --mbfilter_ja.h --mbfilter_ja.c ~が大幅に修正されています。この修正により、肥大化が収まったのでしょうかね? ~RedHat 9 となっても、PHP 4.3.x の採用は見送られているのが現状ですが、ぜひ、導入したいものです。