First Creation : 2004/10/09

Last Update: 2005/10/10

Top > Menu - VD > ZAURUS カスタマイズ 第 4回

CGI (Perl)

今回は ZAURUS で CGI ( Perl ) を起動させることに挑戦した。CGI が動けばフリーの掲示板なども動く。

だがまあその前に、WWW サーバーとして稼動させておこう。

apache 稼動編

1. apache-1.3.27-php-4.2.3_0.1_arm.ipk

後々 PHP をやることを考えて、PHP版 を拾ってきてインストールを行った。

2. httpd.conf の設定

詳細はhttpd.conf 参照。

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
3. サーバー稼動

/mnt/card/htdocs にホームページの材料を入れてやって、

# /home/www/bin/apachectl start

として、windows あたりから http:// ( Zaurus の IPアドレス ) / を入れたら見れた。

CGI 稼動編

1. Perl のインストール

perl_5.6.1-8.3-4_arm.ipk を拾ってきて本体にインストール。

# perl -v

端末 Terminal を起動して上記コマンドを入力。正しく動いているようだ。

2. 権限の設定(一時的に777)

掲示板が動くかどうかテストしてみたい。KENT WEB から yybbs をダウンロード。

/mnt/card/htdocs の中に cgi-bin フォルダを作る。更にその中に yybbs フォルダを作って解凍する。

# chmod 777 -R /mnt/card/htdocs/yybbs

で簡易的にすべてのファイルのパーミッションを 777 で設定する。(テストごときにいちいちファイルごとにパーミッションを設定するのは面倒なので、とりあえずすべての権限を与えて動作確認を取るのである)

3. PATH

yybbs マニュアルによれば、yybbs.cgi 等のパスを、それぞれの環境に見合った設定に変更しなければならない。

# vi /mnt/card/htdocs/yybbs/yybbs.cgi

通常は #!/usr/local/bin/perl なのだが、zaurus に見合ったパスに変更した。

#!/home/root/usr/bin/perl
Internal Server Error

動かない。何故だろう。確かにそのフォルダには perl という実行ファイルがあるはずなのだが。もしかしたらシンボリックリンクか? そういえば perl は SDカードにインストールした気がする。

# find / -name perl

上記のコマンドを使って perl 本体を検索。それらしい場所を発見したので、以下のように設定を変更。

#!/mnt/card/QtPalmtop/bin/perl
YYBBS

動いたようだ。

4. 権限の再設定

yybbs のマニュアルに従い、ファイルごとに細かく権限を設定して、終了。

上記で cgi の動作が確認できた。これで自分でプログラムした CGI も動かせるようになったわけだ。

なお、私がプログラムが出来るかと言うと、そういう意味では決してない。

戻る上へ進む