Xitami Webサーバ
Xitami Web Serverの特徴
・主要なOSに対応しています。UNIX, Windows, OS2など
コンピュータの機種・OSを問わず、同一の操作でサーバを管理できます。
Apacheも同様です。
・ソースファイルも提供されており、Webサーバの内部も知ることができます。
プログラムの中身を知ることによって正確な管理・運用が可能です。
NCSA HTTPd, Apacheも同様です。
FTPの実験
(1) ファイルのダウンロード
Xitamiでは、ディフォルトでFTPが使える設定になっています。
@ Xitamiを起動させます。
A FTPソフトからXitami(FTPサービス)にログインします。
例えば、Windows95付属の ftp.exe を起動させます。
XitamiがインストールされたパソコンのIPアドレスを用いて
アクセスします。
IPアドレス: 自らのパソコンへへのアドレス: 127.0.0.1
または、インターネット管理者が与えたIPアドレス
以下の説明は、ftp.exeを用いる場合です。
下線部は、入力する文字列です。
ftp> open 127.0.0.1
user(127.0.0.1:(none)): anonymous
331 Anonymous access ok: give e-mail as passward
Passwoerd: abc
パスワードは、ディフォルトで、何でも可(abc, 123 など)。
例: Passwoerd: abc
230 Use anonymous logged-in
ftp>
と表示されたらログイン完了です。
ls コマンドでファイルを確認します。
B 試しに、ファイルをダウンロードしてみましょう
lcd コマンド:ファイルをダウンロードしたいディレクトリに移動。
bin コマンド:バイナリー転送を指示。
get コマンド:ファイルをダウンロード。
C quit で ftpから抜けます。
ftp> quit
(2) ファイルのアップロード
@ ディフォルトでは、ftpから、
UserID: upload
Password: upload
でログインします。
A 試しに、ファイルをアップロードしてみましょう
lcd コマンド:アップロードしたいファイルがあるディレクトリに移動。
bin コマンド:バイナリー転送を指示。
put コマンド:ファイルをアップロード。
B quit で ftpから抜けます。
ftp> quit
細かい設定のためには、
defaults.cfg (編集用に、xitami.cfgをコピー・名前変更)
ftpuserfile.aut (編集用に、ftpuses.autをコピー・名前変更)
を編集する必要があります。
SSI・CGI機能を用いるための必要事項
@ 前もってPerlをインストールしておきます。
例 c:\perl\bin
PerlをインストールするときにPerleへパスが自動設定されることも
ありますが、そうでない場合は、自分でパスを設定します。
例 autoexec.batファイルに
PATH c:\perl\bin
を追加します。
A SSIの EXEC コマンドの、CGI引数とCMD引数、を機能させるためには、
autoexec.bat ファイルに、
SET SSI_SECURE=yes
という1行を加える必要があります。
これが少しやっかいな設定です。(Apacheではconfファイルで設定できます。)
CGIスクリプトを書くときの注意
XitamiとApacheの重要な相違点
(1) Perlのパス指定
Perlをインストールするとき、
autoexec.batにPerlのPATHが自動的に書き込まれる、
ないしは、
autoexec.batにPerlのPATHを自分で書き込む、
ならば、パス指定は、
#!perl
とするだけでよい。
ところが、Apacheでは、autoexec.batにPerlのパス指定をする必要
はなく、スクリプトファイルでパスを指定します。
(例) #!/perl/bin/perl
したがって、Apach用のスクリプトをXitamiで使用する場合に書き換
えが必要です。
(2) ファイルタイプの指定
Xitamiでは、CGIスクリプトに
Content-type: text/html
というヘッダーは必要ないといえます。SSIフィルターが自動的に付
けるようです。
print "Content-type: text/html";
と書くと、ブラウザが
”Content-type: text/html”
と表示してしまいます。
したがって、Apach用のスクリプトをXitamiで使用する場合に書き換
えが必要です。
私はUNIXでCGIスクリプトを動かすことに慣れていますので、xitamiの方
法が気にくいません。Apacheはその点で、UNIXの流儀をそのまま踏襲し
ており、UNIXとWindowsの相違をほとんど感じさせません。
SSI (#EXEC CGI) の実験
簡単なアクセスカウンターの導入を例として説明しましょう
ただし、Perlがインストールされていなければなりません。
SSI機能の #EXEC CGI を用います。
@ アクセスカウンターを呼び出すファイルを作成します。
ファイル名は、page-one.shtmlとして、内容は以下のようです。
------------------------------------
このページへの訪問回数は、今回で
<!-- #exec cgi="/cgi-bin/counter.pl" -->
回目です。
------------------------------------
Xitami の webpages ディレクトリに保存します。
A カウンターのCGIスクリプトを作成します。
ファイル名は count.pl です。
------------------------------------
#!perl
$filename = "count.dat";
open (FILE,"$filename");
$num = <FILE>;
close (FILE);
$numr = $num + 1;
open (FILE,">$filename");
print FFILE $num;
close (FILE);
print $num;
------------------------------------
xitamiのcgi-binディレクトリに保存します。
注意事項
Xitami では、CGIスクリプトであることをサーバに知らせるために
#!perl
という1行を付け加えます。
・Apache for Windows では、#!/usr/local/bin/perl、というように指
定します。
・Xitamiでは、perl へのパスをautoexec.batで設定しますので、
"perl" だけでよいのです。
逆にいうと、autoexec.batでの設定と、Xitami用のファイルを
Apacheで用いる時、1行目を書き換える作業が必要ですから
不便といえば不便です。
私も、うっかりして.shtml ファイルを書き換えないで使い、CGI
スクリプトが動かなくなったなんて慌てたこともあります。
B テキストエディタで数字(初期値)が入ったデータファイルを作成します。
ファイル名は count.dat
ただし、 Aでファイル名を指定していますから、ファイルがなけれ
ばperlは自動的にcount.datを作成します。
したがって、count.datファイルを必ずしも作成する必要はありません。
xitamiの最上位ディレクトリに保存します。
Xitamiを D:\xitmiにインストールしたのであれば、D;\xitami
注意すべきことは、Xitamiの場合、CGIの実行および実行結果
の保存がXitamiの最上位ディレクトリで行われることです。
CGiスクリプトが動かない時には、このことのチェックも必要です。
C Webページから
<A HREF"count.shtml">
によって呼び出します。
注意事項
カウントをとるために、
<A HREF"count.shtml">ここをクリックして下さい</A>
としてカウンターへのリンクを張っても、閲覧者がクリックしなければ
話になりません。
そこで、例えば、訪問者がホームページ(index.html)から別のページ
(page-one.shtml)に必ず入るようにし、そのページ(page-one.shtml)に
<! --#exec cgi="/cgi-bin/count.pl" -->
というような1行を加えます。
CGIスクリプトを保存するディレクトリは cgi-binで、実際の指定は
/cgi-bin/ です。
これで、簡単なアクセスカウンターが導入できました。
うまく動作し、ページが読まれる毎に1ずつ数字が増えれば完成です。
カウンターがうまくいったら、Xitami Webserverを使いこなしたことになります。
Xitamiの操作をマスターしたら、次は、UNIX流の Apache Server です。