Webサーバのインストールから運用まで


夢大学 in Toyama '98

  富山大学(経済学部)において、夢大学の一環として   「Webサーバのインストールから運用まで」   と題する講座を開きました。





  日時:1998年9月12日(土)   時間:11:00AM−4:30PM   場所:経済学部端末室   対象:教員・社会人(高校生も受講可)      ただし、Windows95の操作、ホームページの作成、エディタの操作      に慣れている人。技術的には、パソコンの中上級者向けの講座。   人数:10名   内容:室内LANの組み方       Webサーバのインストールから運用まで
  ネットワークを組んだり、Webサーバを運用するためにはかなりの知識   と技術が要求されます。しかし、それだけに挑戦する価値が大です。    例えば、     ・FTPによるファイル転送の道が開けます。     ・一般のWebサーバでは、セキュリティ確保のため、CGIやSSIは      利用できない設定になっているといえます。      したがって、CGIやSSIの実験をするためには、自らのパソコンに      Webサーバを導入するのが不可欠です。これによって、ホームペー      ジにアクセスカウンターを組み込むこといった実験も可能です。   ホームページ作成に飽きたら、     自分でWebサーバを運用しましょう。   さらに進んで、CGIやSSIなどに挑戦してみましょう。   新しい可能性が広がり、パソコンを、もっと面白く便利に使えます。

講座の内容

 

(1) 室内ネットワークの組み方

   2台のパソコンを、ハブ(HUB)と2本のツィストペアケーブルで    で接続し、簡単なLANを構築します。    ・ハードウェアの接続の仕方    ・ソフトウェアの設定の仕方    ファイルを共有し一方のパソコンに保存されているファイルを他方の    パソコンから直接編集したり、パソコン間ファイル転送が可能です。  

(2) Webサーバのインストールから運用まで

   Xitami Web Serverを用いて、     ・インスト−ルの仕方、     ・環境設定の仕方、    を学びます。     Xitami Web Server の特徴&特長      <1> 今やApacheを凌ぐ勢いのあるサーバに成長しています。      <2> フリーソフト、コンパクト(圧縮ファイルで約620KB)です。      <3> 環境設定は、ブラウザからの設定、あるいは、環境ファイルの        編集による設定のいずれでも可能です。    講座では、各自1〜2台のパソコンが使えますので、    マイペースで自由に実習できます。  

(3) 時間に余裕があれば、Perlをインストールし、    CGIやSSI機能を利用してみます。


室内ネットワークの組み方

 

室内ネットワークの詳細説明

補足(フォルダ共有)

 実習に使うパソコンでは、すでに「Microsoft ネットワーク共有サービス」  が追加されています。  従って、フォルダを共有するための設定は、「共有するフォルダを  指定」し「共有する」の設定にすることだけです。  (1)「マイコンピュータ」、「ハードディスクのD:」、    「Xitami」、「ftproot」と進み、「pub」をポイントします。  (2)「ファイル」、「共有」と進み、「共有する」のチェックボックスを     チェックします。    「アクセス権」は「読みとりのみ」とします。     パスワードは yume とします。  (3) 別のパソコンからアクセスしてみて下さい。    「ネットワークコンピュータ」、「ネットワークドライブの割り当て」    と進みます。     パスを指定します。\\xxxxxx\pub と入力します。     ここでxxxxxxは、アクセスするパソコンのIPアドレス、ないし名前     です。     IPアドレスが 160.26.xx.yyならば、\\160.26.xx.yy\pub と入力。     パスワードが要求されたら、 yume と入力します。    これで、ファイルを取り寄せられます。  (注意)    実験が終わったら、上の項目の     (1),(2)の説明箇所で、     ネットワークドライブの「切断」、     フォルダを「共有しない」、    として、設定を元通りにして下さい。

Xitami Web Serverのインストールと運用




配布ディスクの内容

 配布したフロッピーディスクには、7つのファイルが保存されています。   \xitami\xiw3223.exe   Xitamiインストール用自動解凍ファイル   \jperl\perl.exe     Perl本体   \index.htm        ホームページ用のHTMLファイル   \cgi-count.shtml  カウンターを呼び出すHTMLファイル   \js-calendar.html    JavaScriptの例が入ったHTMLファイル   \count.pl       カウンターのCGIプログラム   \count.dat       カウンターの数字を記録するデータファイル

Xitami Web Serverのインストール


 Xitami Web Serverの自動解凍ファイルを保存したフロッピーディスクを配布します。  フロッピーディスクから、自動解凍実行ファイル(xiw3223.exe)を起  動し、Xitami Web Serverをインストールします。  インストールの途中で、幾つかの入力事項があります。   皆さんが全く同一の環境で作業ができるようにするため、   以下の指定を必ず守って下さい。  ・Selected Destination Directory ダイアログの画面     ハードディスクの D:\xitami を指定します。  ・Start Xitami automatically? ダイアログの画面     手動起動を選択します。  ・Choose Admin Password ダイアログの画面     以下のように入力します。     User name admin     Password yume


Xitami Webサーバへのアクセス



 @ Xitami Web Server を起動させます。  A ブラウザを起動させます。     Microsoft Internet Explorer     Netscape Navigator  B ブラウザから、そのパソコン上の Xitami Webサーバにアクセスします。    ブラウザの「新しいページを開く」から、     http://localhost/    ないし、     http://127.0.0.1/    と入力します。    ここで、IP Addressである 127.0.0.1 はループバックの試験のため    に使われる固有のアドレスです。また、localhost は別名です。  C すると、ブラウザに、default.htm が読み込まれます。  D そのページを利用して、Xitami Webサーバがどのようなサービスを    サポートしているか確かめて下さい。  E 他の受講者のパソコンのWebサーバにアクセスして下さい。    ・アクセスするパソコンのIPアドレスを確認    ・ブラウザの「新しいページを開く」から、アクセスするパソコ     ンのIPアドレスを用いてURLを指定します。例えば、     http://160.26.xx.xx/     です。

Xitami Web Serverのディレクトリ構造



 インストール後のディレクトリ構造は以下のようになっています。   Webサーバの管理・運用を行うためには、ディレクトリの配置をよ   く理解しておく必要があります。  D:\xitami        Xitamiのメインディレクトリ  D:\xitami\cgi-bin    cgiスクリプト用ディレクトリ  D:\xitami\cgi-src    cgiソースファイル用ディレクトリ  D:\xitami\debug      D:\xitami\errors    エラー表示用HTMLファイルが入っている  D:\xitami\ftproot    FTP用のファィルを置くディレクトリ  D:\xitami\temp     作業ディレクトリ(CGI i/o に使われる)  D:\xitami\trace  D:\xitami\webpages    HTMLファイルを配置  D:\xitami\webpages\images   イメージファイルを配置  D:\xitami\webpages\private  ユーザーのホームページ用ディレクトリ  D:\xitami\webpages\xitami  Xitamiの英文マニュアルが入っている

Xitamiのマニュアル

 インストールされたディレクトリ D:\xitami\webpages\xitami に  Xitamiの英文マニュアルが入っています。  マニュアルはHTMLファイルです。  よく読んで、アクセス、セキュリテー、CGI、SSIなど、Web  サーバの運用に必要な事柄をマスターしてください。

FTPの実験

 FTP(File Transfer Protocol)は、ファイルを転送するための  プロトコルです。  WebサーバがFTPをサポートしていれば、パソコンで「ファイル共有」の  設定にしていなくても、ファイルを転送できます。  ですから、   ・2台のパソコンがハブを通して接続されており、   ・パソコンにIPアドレス(インターネット用のアドレスでなくても    良い)が付けてあれば、  特別の設定をしなくてもファイル転送が可能です。  FTPはファイルのサイズ、OSを問いませんから、フロッピーディスクに  入りきらないファイルや、OSが異なるパソコンに上のファイル転送に威  力を発揮します。 (1) ファイルのダウンロード  Xitamiでは、ディフォルトの状態で、FTPが使えます。 @ Xitamiを起動させます。 A FTPソフトからXitami(FTPサービス)にログインします。   例えば、Windows95付属の ftp.exe を起動させます。   XitamiがインストールされたパソコンのIPアドレスを用いて   アクセスします。   以下の説明は、ftp.exeを用いる場合です。   また、Xitami Web Serverに対して、そのパソコン自体からアクセスする   ものと想定しますので、アドレスは 127.0.0.1 です。  下線部は、皆さんが入力する文字列です。   Xitami Web Serverがあるパソコン(パソコン自体)にアクセス    ftp> open localhost    もしくは、    ftp> open 127.0.0.1   匿名でログインします。    user(-------): anonymous   パスワードを入力します。   パスワードは、ディフォルトで、何でも可(abc, 123 など)。    Password: abc   以下の用にプロンプトが表示されたらログイン完了です。    ftp>  試しにファイルをダウンロードしてみましょう。   pwd コマンドで現在のディレクトリを確認します。    ftp>pwd   ls コマンドでファイルを確認します。    ftp>ls   ディレクトリの中に index.txt がありますから、   index.txt   というような表示がでます。   ファイルをフロッピーディスク( a:\ )に保存します。   フロッピーディスク(Aドライブ)を挿入して下さい。   lcd コマンドでファイルをダウンロードする A:\ に移動。    ftp>lcd a:\   bin コマンドでバイナリー転送を指示。    ftp>bin   get コマンドでファイルをダウンロード。    ftp>get index.txt   quit ないし bye で ftpから抜けます。    ftp> quit (2) ファイルのアップロード @ ディフォルトでは、ftpから、    UserID: upload    Password: upload   でログインします。 A 試しに、ファイルをアップロードしてみましょう   フロッピーディスクに保存した index.txt を index123.txt と   名前を変えてアップロードします。   lcd コマンドでアップロードしたいファイルがあるディレクトリに移動。    ftp> lcd a:\   bin コマンド:バイナリー転送を指示。   ftp> bin   put コマンド:ファイルをアップロード。   ftp> put index.txt index123.txt   quit で ftpから抜けます。   ftp> quit   エクスプローラで、D:\xitami\ftproot\upload をみて、   index123.txt があるか確認して下さい。 --------- 補足  FTPサービスについて細かい設定をする場合、  defaults.cfg (編集用に、xitami.cfgをコピー・名前変更)  ftpuserfile.aut (編集用に、ftpuses.autをコピー・名前変更)  を編集する必要があります。  ただし、講座では詳細な説明はいたしません。 ---------

SSI・CGI機能を用いるための必要事項

@ Perlをインストールします。   インストール先は Xitamiの最上位ディレクトリ( D:\Xitami )   です。   配布するフロッピーディスクに、Perl.exe(Perl Ver.4.036) が   入っています。ファイルのパスは \jperl\perl.exe です。   エクスプローラで、ハードディスクの D:\xitami にコピーします。    Xitamiの最上位ディレクトリにはXitami本体のプログラムが入っ    ていますので、autoexec.batでperl.exeへのパスを指定する必要    ありません。 A Xitami Web Server で、SSIの EXEC コマンド(CGI引数とCMD引数)   を機能させるためには、   autoexec.bat ファイルに、    SET SSI_INSECURE=yes   という1行を加える必要があります。   これが少しやっかいな設定です。    (Apacheではconfファイルで設定できます。) B パソコンを再起動させます。

CGIスクリプトを書くときの注意

 SSIを利用する場合は、  CGIスクリプトに   Content-type: text/html  というヘッダーは必要ないといえます。  Content-type: text/html を付けると、ブラウザに ”Content-type: text/html”  という文字列が表示されてしまいます。

SSI (#EXEC CGI) の実験

 簡単なアクセスカウンターの導入を例として説明しましょう  Perlがインストールされているかどうか確認して下さい。  SSI機能の #EXEC CGI を用います。 @ アクセスカウンターを呼び出すファイルを作成します。   内容は以下のようです。  ------------------------------------  このページへの訪問回数は、今回で  <!-- #exec cgi="/cgi-bin/count.pl" -->  回目です。  ------------------------------------  ファイル名を、cgi-count.shtmlとして、   D:\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ディレクトリ、   D:\xitami\webpages に保存します。  に保存します。  注意事項   Xitami では、CGIスクリプトであることをサーバに知らせるために   #!perl   という1行を付け加えます。    ・Apache for Windows では、#!/usr/local/bin/perl、というように指     定します。    ・Xitamiでは、perl へのパスをautoexec.batで設定しますので、     "perl" だけでよいのです。設定が少し不便です。 B テキストエディタで数字(初期値)が入ったデータファイルを作成します。  ファイル名は count.dat    ただし、 Aでファイル名を指定していますから、ファイルがなければ    perlは自動的にcount.datファイルを作成します。    ですから、必ずしも作成する必要はありません。  xitamiの最上位ディレクトリに保存します。    Xitamiを D:\xitamiにインストールしたので、    D:\xitami    に保存します。    注意すべきことは、Xitamiの場合、CGIの実行および実行結果    の保存がXitamiの最上位ディレクトリで行われることです。 C 自分のホームページを作成します。   配布したフロッピーディスクをAドライブに挿入します。    A:\index.htm を、D:\xitami\webpages にコピーします。   ホームページ用のファイル(index.htm)には    <A HREF"count.shtml">   の指定がすでにしてあります。    注意:拡張子がshtmlとなっていることに注意して下さい。   ホームページの開き方    ブラウザの「新しい頁を開く」から、    http://localhost/index.htm    とURLを指定してアクセスします。  これで、簡単なアクセスカウンターが導入できました。  うまく動作し、ページが読まれる毎に1ずつ数字が増えれば完成です。  カウンターがうまくいったら、Xitami Web Serverを使いこなしたこと  になります。

カウンターの導入のトラブルシューティング

 カウンターが動作しない場合は、以下のようにして下さい。  @ 確認   ・ahtoexec.bat に    SET SSI_INSECURE=yes    が指定されているか確認   ・ファイル名とディレクトリ正しいか確認   ・改行文字コードは LF になっているか確認   ・エラー・ログを確認し問題を処理    D:\xitami にあるエラーログをエディタで見てエラーの内容を    確認し、問題に対処します。      A それでもだめなら    配布したフロッピーディスクを用います。    ・A:\cgi-count.shtml を、D:\xitami\webpages にコピー    ・A:\count.pl を、D:\xitami\cgi-bin にコピー    ・A:\count.dat を、D:\xitami     にコピー   次に、ブラウザの「新しい頁を開く」から、    http://localhost/index.htm   とURLを指定してアクセスします。   cgi-count.shtml へのリンクの箇所をクリックすればうまく   いくはずです。

さらに進んだ作業

 @ カウントの取り方    カウントをとるために、    <A HREF"count.shtml">ここをクリックして下さい</A>   としてカウンターへのリンクを張っても、閲覧者がクリックしなければ   話になりません。   そこで、例えば、訪問者がホームページ(index.htm)から別のページ   (page-one.shtml)に必ず入るようし、そのページ(page-one.shtml)に    <! --#exec cgi="/cgi-bin/count.pl" -->   というような1行を加えます。   CGIスクリプトを保存するディレクトリは cgi-binで、実際の指定は    /cgi-bin/ です。   この作業をしてみて下さい。  A ホームページの編集    受講生同士でホームページを閲覧し合い、ホームページを改良し    て下さい。  B JavaScriptの実験    ホームページ(index.htm)にはJavaScriptのページへのリンクが    張ってありますが、まだそのファイルをコピーしていません。    フロッピーディスクから     js-calendar.html を、D:\xitami\webpages にコピーします。    次に、ホームページからアクセスし、JavaScriptのサンプルを    閲覧します。    手直ししたい人は、js-calendar.html を修正してみて下さい。

補足

CGIスクリプトを動かすために

 CGIスクリプトをPerlで正確に走らせるには、    漢字コードは EUC、改行は LF でなければなりません。  そこで、作業用ディスクに変換ツール(pgbrow32.exe)を用意しま  した。   \PageBrowser にある2つのファイルを D:\xitami にコピー   して下さい。  使い方は講座の中で説明します。

GIFを用いたカウンターの導入

 (1) Xitamiのフロッピーディスクから、   ・ dg-count.shtml を D:\xitami\webpages にコピー   ・ digital-counter.pl を D:\xitami\cgi-bin にコピー   ・ \odometerに入っているgifファイル(0.gif〜9.gif)を     D:\xitami\webpages にコピー  (2) index.htmに以下の1行を追加    <A HREF="dg-count.shtml> GIFカウンター </A>    動かすにはリンクの箇所をクリック  課題: 別のページにリンクを張り、そこにGIFカウンターを      埋め込む実験をしてみて下さい。

GIFを用いたカウンターのCGIスクリプト

以下のようにスクリプトを作成します。 ただし、行番号は取り除く(1: 2: などは削除すること) ファイル名は、digital-counter.pl 改行文字コードは LF です。 D:\xitami\cgi-bin に保存します。 1: #!perl 2: $filename = "count.dat"; 3: open (FILE,"$filename"); 4: $num = <FILE>;# 5: close (FILE); 6: $num = $num + 1; 7: open (FILE,">>$filename"); 8: print FFILE $num; 9: close (FILE); 10: @countup = split(//,$num); 11: while ($#countup + 1 < 6) { 12: @countup = (0,@countup); 13: } 14: foreach $digit (@countup) { 15: print "<IMG SRC=\"$xdigit.gif\" ALT=\"$digit\">"; 26: } スクリプトの解説 1: Perl.exe へのパス指定   Perl.exeへの絶対パスはautoeec.batで指定します。 2: 後からファイル名を変更してもスクリプト自体を変更しなくてもよ   いように、ファイル名に変数 $filenam を使っている。   こうすれば、変更するのは、"count.dat"という実名のみ。 3: ファイルハンドルをFILE、ファイル名を$filenameとしてオープン 4: 数値変数を$numとするu   データファイルから数値を読み出し、$numに代入 5: 一旦、ファイルを閉じる 6: データファイルの数値に1を加算 7: データファイルを、書き込みモードでオープン   ">$filename"というように、">"を付けます 8: データファイルに1を加算した数値を書き込む 9: ファイルを閉じる 10: 数値を個別の数字に分解。123ならば、1と2と3 11: 6桁で表示する(例えば 000123)ため配列countupを用いて左側に   余分のゼロを付け加える 12: 配列の順番に、変数$digitに数値(例えば、0,0,0,1,2,3)を読み込み、   0.gif, 0.gif, 0.gif, 1.gif, 2.gif, 3.gif を順番に張り付ける。

最終作業と確認

 (1) フォルダの共有設定を、元通りにして下さい  (2) Xitami Web を アンインストールして下さい。    「マイコンピュータ」、「コントロールパネル」、    「アプリケーションの追加と削除」と進み、    Xitami Web Server を削除して下さい。  (3) autoexec.batを変更した場合、    SET SSI_INSECURE=yes    の1行を削除して下さい。  (4) netscape Navigatorの設定を元通りにして下さい。    「編集」、「設定」「詳細」と進みます。    「直接接続」になっていたら、「手動接続」に直します。

講座を終わっての感想

 講座に参加した人の技術が、高校生を含めて、結構高く、フォルダの  共有、Ftpを用いたファイル転送、などはスムーズにこなせた。  CGIを用いた普通のカウンターの張り付けはうまくいったが、SSI機能  を利用したGIFカウンターを完成させるまでは至らず残念であった。   私の研究室のパソコンではうまく機能しているのであるが、   実習での、Perlのパス指定がまずかったのかもしれない。  Apache Serverについてはファイルのダウンロードと  インストールまでは実習を行うことができた。   ・私の研究室のパソコンからftpでファイルをダウンロード   ・インストール  ただし、時間が足らず、細かい説明まではできなかった。  技術的に高度のことをやりたいと思っている人、周りに教えてくれる  人がいなくて苦労している人、が案外多いこともわかった。  高い技能を持っているほど、講座を楽しみ、かつこちらが教える内容  の意義や有用性を理解する傾向にある。これは、解決したい技術的上  の課題や目的がはっきりしているからであろう。  このような講座を来年も是非開いてほしいという要望が多く、講座は  ひとまず成功したといえる。
 Last Modified: 14 September, 1998

戻る