Posted at

TermuxでFsWikiを動かす

Androidスマホ上で動くTermux。apache やperl も動かすことができます。

私は、自分自身の備忘録を兼ねて、自宅WEBサーバ上のFsWiki上にいろいろと

書き込んでいたのですが、ネットがつながらないところでも見たい。

でもそのために普段からノートPCを持ち歩くのも辛い ...

と思っていたのですが、Termux があれば、スマホの上に、FsWikiを構築できます。

そのための手順を紹介します。


環境構築

Termux をプレイストアから入手。これがないと始まりません。


まずは、Perl CGIを動くようにする


apache,perl の入手

Termuxをインストールし、起動したら apache,perl を入手します。

apt update

apt upgrade
apt install apache2
apt install perl


httpd.conf 修正

ファイル: /data/data/com.termux/files/usr/etc/apache2/httpd.conf

以下のエントリに、以下を追加 Optins +ExecCGI を追加

<Directory /data/data/com.termux/files/usr/lib/cgi-bin>

</Directory>

以下のAddHandler ... のコメントを外す

AddHanderl cgi-script .cgi

mod_cgiモジュールを読み込むため、以下のように変更し、強制的 mod_cgi.soを読ませる

<IfModule mpm_prefork_module>

#LoadModule cgi_module libexec/apache2/mod_cgi.so
</IfModule>

   ↓

  #<IfModule mpm_prefork_module>

LoadModule cgi_module libexec/apache2/mod_cgi.so
#</IfModule>

ここまでで、apace でperl CGIが動く状態になっています。

サンプルの printenv が動くように実行権限の付与と修正を行います。

chmod ugo+x /data/data/com.termux/files/usr/lib/cgi-bin/printenv

また、エディタを使って、printenv の先頭行に以下を追加します。

#!/usr/bin/perl

ここまできたら、apace を起動し

apachectl

スマホのWEBブラウザでいかにアクセスしてみましょう。

http://127.0.0.1:8080/cgi-bin/printenv

(127.0.0.1ではなく、localhost でもアクセスできますが、Yahooブラウザ等だとダメでした)


FsWikiを動かす


モジュールの入手

apt install make

apt install clang
apt install wget
apt install openssh

(wegt は、FsWikiを取得するため。標準で入っている wget は httpsに対応していないため)


cpan からCGIを取得

cpan

上記で、cpan を一度動かし、一通り設定(問い合わせは全て デフォルトでOK)が終了したら、"q"で終了。

再度cpanを起動

cpan

cpan>install CGI


FsWikiを取得し、htdocs 配下に展開

cd /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/

/data/data/com.termux/files/usr/bin/wget https://ja.osdn.net/projects/fswiki/downloads/69263/wiki3_6_5.zip
unzip wiki3_6_5.zip
mkdir /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/wiki3_6_5/log
mkdir /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/wiki3_6_5/backup


httpd.conf に以下の定義を追加

<Directory /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/wiki3_6_5>

Options +ExecCGI
</Directory>

その後、apache 再起動し、以下にアクセスしてwikiが表示されればOK。

http://127.0.0.1:8080/wiki3_6_5/wiki.cgi

小さなスマホの中で、apache や perl CGI が動いていると思うと、ちょっと感動です。