▼pc2m ケータイ変換器をCentOS 7 にインストールする▼

pc2m というのは、PHPで書かれた、Webページをケータイ端末向けに ストリップダウン加工するCGIプログラムです。 CSSや<script>は削り落とされます。 雰囲気的には Netscape 2 ブラウザでレンダリングしたような感じに加工されます。

http://www.rcdtokyo.com/pc2m/note/ で公開されていたようですが、 2010年頃を最後に存在しなくなったようです。 Wayback Machine には残っている

公開されている最終版は2010/02 (pc2m-0.9.22.10.zip) で、PHP 5.0が出た頃のプログラムなので、 最新の環境で動かすのにはいろいろと難しそうですが、 CentOS 7 はPHPが5.4と古いので、まだ動くようです。 (2019/12)

$Keywords: pc2m CentOS 7 el7 wireless transcoder $

$Id$


▼必要なパッケージ

ここまではCentOS の base/updatesリポジトリにある。 これらは EPEL にある。 x86_64なら普通に EPEL のリポジトリを有効にして yum install php-pear-HTTP-Client すればいいのだが、 CentOS 7 i686 の場合はリポジトリがないので、yum で直接 .noarch のファイルを指定してインストールする。
sudo yum install \
http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/Packages/p/php-pear-HTTP-Client-1.2.1-10.el7.noarch.rpm \
http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/Packages/p/php-pear-HTTP-Request-1.4.4-8.el7.noarch.rpm \
http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/Packages/p/php-pear-Net-URL-1.0.15-10.el7.noarch.rpm \
http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/Packages/p/php-pear-Net-Socket-1.0.14-1.el7.noarch.rpm
これは2007/12以降メンテナンスされていない古いパッケージで、 .rpm は無さそうなので、
pear install XML_HTMLSax3
でインストールする。 いつダウンロード不能になるかもわからないパッケージなので、 pear download の結果も置いておきます。 XML_HTMLSax3-3.0.0.tgz pc2m の本体。これもいつ無くなるかわからないので、ローカルにも置いておきます。 pc2m-0.9.22.10.zip

▼導入・設置

pc2m-0.9.22.10.zip を展開すると pc2m-0.9.22.10/ ディレクトリができるので、 これを sudo cp -pr pc2m-0.9.22.10 /var/www/html/pc2m とかで 移します。

pc2m/.htaccess の記法が Apache 2.2 時代の作法なので、 Apache 2.4の作法に書き換えます。

...
<Files ~ "^.*\.(inc|class)\.php$">
##    order deny,allow
##    deny from all
     Require all denied
</Files>
...

pc2m/data/ に apache が書き込めるようにします。 SELinuxが有効の場合は context の変更も必要。

# chown apache:apache /var/www/html/pc2m/data/
# chcon -t httpd_sys_rw_content_t /var/www/html/pc2m/data/

# ##setroubleshootdは以下を提案してくる
# ## semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/pc2m/data/
# ## restorecon -v /var/www/html/pc2m/data/

httpdサービスを起動します。忘れがち。

# systemctl start httpd
$ systemctl status -l httpd ##起動確認

これで http://localhost/pc2m/pc2m.php にアクセスしてみます。 ホームページが出たら、テキストボックス(狭い)に URLを打ち込んでみてページが変換されるか見てみます。 エラーが出たら /var/log/httpd/error_log を見て考えます。


▼HTTPヘッダ類

GET /path HTTP/1.1
Host:host
User-Agent:Mozilla/5.0 (compatible; PEAR HTTP_Request class; http://www.rcdtokyo.com/pc2m/)
Connection:close
Accept-Encoding:gzip
Accept-Charset:Shift_JIS,utf-8;q=0.7,*;q=0.7
Accept-Language:ja
User-Agent は設定で変えられますが、デフォルトのものは Config.inc.php に書いてあるもの。 PEAR HTTP_Request のデフォルトではなく完全に置き換え。

▼最新版のデモサイト

「最新版」は、株式会社コエカタマリンの「コエガワリ」サービス (http://pc2m.org/) として存在しているようですが、ソースコードの公開はしていなさそう。 というかカスタマイズされすぎてて公開できない状態なのではと思う。 User-Agent は上のサンプルのままです (到達不能のhttp://www.rcdtokyo.com/pc2m/ 文字列を含んでいる)。


kabe.sra-tohoku.co.jp