First Creation : 2004/10/09
Last Update: 2005/10/10
今回は ZAURUS で CGI ( Perl ) を起動させることに挑戦した。CGI が動けばフリーの掲示板なども動く。
だがまあその前に、WWW サーバーとして稼動させておこう。
後々 PHP をやることを考えて、PHP版 を拾ってきてインストールを行った。
詳細はhttpd.conf 参照。
ServerRoot "/home/www" DocumentRoot "/mnt/card/htdocs" # HTMLドキュメントを保存するディレクトリ <Directory> Options FollowSymLinks AllowOverride None </Directory> <Directory "/mnt/card/htdocs"> # /mnt/card/htdocs 内の動作(CGIを許可するか、等) Options FollowSymLinks MultiViews # セキュリティの関係上、許可せず AllowOverride None Order allow,deny Allow from all </Directory> UserDir public_html DirectoryIndex index.html index.html.var AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> TypesConfig conf/mime.types DefaultType text/plain ScriptAlias /cgi-bin/ "/mnt/card/htdocs/cgi-bin/" # CGI を稼動させるフォルダ <Directory "/mnt/card/htdocs/cgi-bin"> # cgi-bin ディレクトリの動作 Options Includes ExecCGI # CGI を許可している AllowOverride None Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi .pl
/mnt/card/htdocs にホームページの材料を入れてやって、
# /home/www/bin/apachectl start
として、windows あたりから http:// ( Zaurus の IPアドレス ) / を入れたら見れた。
perl_5.6.1-8.3-4_arm.ipk を拾ってきて本体にインストール。
# perl -v
端末 Terminal を起動して上記コマンドを入力。正しく動いているようだ。
掲示板が動くかどうかテストしてみたい。KENT WEB から yybbs をダウンロード。
/mnt/card/htdocs の中に cgi-bin フォルダを作る。更にその中に yybbs フォルダを作って解凍する。
# chmod 777 -R /mnt/card/htdocs/yybbs
で簡易的にすべてのファイルのパーミッションを 777 で設定する。(テストごときにいちいちファイルごとにパーミッションを設定するのは面倒なので、とりあえずすべての権限を与えて動作確認を取るのである)
yybbs マニュアルによれば、yybbs.cgi 等のパスを、それぞれの環境に見合った設定に変更しなければならない。
# vi /mnt/card/htdocs/yybbs/yybbs.cgi
通常は #!/usr/local/bin/perl なのだが、zaurus に見合ったパスに変更した。
#!/home/root/usr/bin/perl
動かない。何故だろう。確かにそのフォルダには perl という実行ファイルがあるはずなのだが。もしかしたらシンボリックリンクか? そういえば perl は SDカードにインストールした気がする。
# find / -name perl
上記のコマンドを使って perl 本体を検索。それらしい場所を発見したので、以下のように設定を変更。
#!/mnt/card/QtPalmtop/bin/perl
動いたようだ。
yybbs のマニュアルに従い、ファイルごとに細かく権限を設定して、終了。
上記で cgi の動作が確認できた。これで自分でプログラムした CGI も動かせるようになったわけだ。
なお、私がプログラムが出来るかと言うと、そういう意味では決してない。