Apache + PHP + p2 による 2ちゃんねる環境構築

p2 は Webブラウザから 2ちゃんねる等の掲示板を快適に閲覧するためのPHPスクリプトです.Web ブラウザさえあればどんな環境でも使用することが出来ます.また,動作には HTTPD と PHP が必要です.
今回は,リモートにあるサーバに p2 を導入することによって常に同じ 2ちゃんねる環境を構築します.

Apache のインストール

Apache1.3 系であれば,DSO を有効にする必要がありますが,2.0系では標準で DSO が有効になっているため再コンパイルの必要はありません.
今回私は2つの Apache2.0 系を違うポートで動作させようとした(LAN 内の非公開サーバとして.まあ,公開サーバでも該当ディレクトリのアクセス制限をすれば外からは見えなくなりますが安心できないので.)のですが,どうもシェルがプロセスを見ているようですでに起動しているといって起動できないので 1.3 系を利用しました.インストール後の設定は Apache1.3 系 Apache2.0 系 等を参照してください.

Apache のコンパイル
# ./configure --prefix=/usr/local/apache1.3 --enable-module=so
# make
# make install

PHP のインストール

PHP は 2004/03/20 現在安定系の最新版である PHP 4.3.4 を使用します.

PHP のインストール
# wget http://www.php.net/get/php-4.3.4.tar.bz2/from/jp.php.net/mirror
# tar xvjf php-4.3.4.tar.bz2
# cd php-4.3.4
Apache1.3 系の場合
--with-apxs の後は Apache1.3 の apxs の場所を指定します
# ./configure  --prefix=/usr/local/php4 --with-apxs=/usr/local/apache1.3/bin/apxs \
  --enable-mbregex --enable-mbstring
Postgresql や MySQL を使うときは
--with-pgsql=/usr/local/pgsql --with-pgsql=/usr/local/mysql とかしておきます
Apache2.0 系の場合
--with-apxs2 の後は Apache2 の apxs の場所を指定します
# ./configure  --prefix=/usr/local/php4 --with-apxs2=/usr/local/apache2.0/bin/apxs \
  --enable-mbregex --enable-mbstring
# make
# make install

PHP の設定

PHP のアーカイブ中にある php.ini-dist を使って設定します.

PHP の設定
# cp php.ini-dist /usr/local/php/lib/php.ini
# cd /usr/local/php/lib
# vi php.ini
[mbstring]セクションを以下のように修正

[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.detect_order = auto
mbstring.substitute_character = none;

Apache の設定

PHP のモジュール読み込み設定は PHP インストール時に自動的に追加されているので後はユーザディレクトリやその他少しの設定です.

Apache の設定
# vi /usr/local/apache1.3/conf/httpd.conf
変更箇所
# 2ちゃんねるらしく774番ポート
# 774 は何かほかのプロトコルが使っているみたいだけど
# 影響なさそうなので問題なし?
Listen 774
Port 774
User 適当なユーザ(apahe とか httpd とか)
Groupt 適当なグループ(users  とか apache とか)
ServerName m9841.info
# ユーザディレクトリの設定
# ローカル LAN 以外からみられなくしておく
<Directory /home/*/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 192.168.1.0/24
</Directory>
# ディレクトリインデックスの設定
# php を加える
<IfModule mod_dir.c>
    DirectoryIndex index.html index.htm index.php index.php3
</IfModule>
# PHP の MIME Type を加える
# For php
AddType application/x-httpd-php .php

あと,自動起動やログのローテイトは Apache1.3 系 Apache2.0 系 等を参照してください.

p2 のインストール

p2 のインストールはいたって簡単でユーザの公開用ディレクトリでアーカイブを展開するだけです.

p2 のインストール
# su - hoge
$ mkdir public_html
$ cd public_html
$ wget http://akid.s17.xrea.com/cgi/dl/dl.php?dl=p2
$ tar xvzf p2.tar.gz
$ cd p2
$ mkdir data
このデータディレクトリを Apache のユーザ:グループに変更しておきます
(要するに Apache を実行するユーザから見えればよい
 プライベートなサーバであれば 777 や 666 でも問題ないはず)
$ su 
# chown httpd:users data
設定ファイルも同様に変更しておきます.
そうしておかないと p2 のメニュー上からの設定変更ができません.
# chown httpd:users conf_user.php conf_style.inc conf.php

あとは,ブラウザでhttp://ホスト名/~ユーザ名/p2/にアクセスすれば,ユーザの設定が可能です.細かな設定は p2 ディレクトリの conf_user.php(ユーザ設定),conf_style.inc(デザイン設定)をエディタで適当にお好みに設定すれば完了です.また,リファラが気になる人は,漏れてしまっても問題ないように細工しておくといいでしょう.

スクリーンショット

p2_win_small.jpgWindows(Firefox)
p2_linux_small.jpgLinux(Firefox)