TELNETを利用したCシェル+SSI環境へのインストール


以下の環境を想定し説明します。皆様の環境に合わせて図中の赤字の部分を変更して下さい。

ホスト名(サーバー) www.yours.com
ホームページの置いてあるディレクトリ名 /home/yours/public_html
アクセスログとカウンターを置くディレクトリ名 /home/yours/public_html/log
アクセスログファイル名 index.wit
LogWriter.cshを置くディレクトリ名 /home/yours/cgi_bin
LogWriterの種別 LogWriter.csh (Cシェル)
LogWriterの実行方式 SSI
  1. 解凍済みディレクトリからLogWriter.cshをサーバー側の/home/yours/cgi_binへファイル転送(FTP)します
  2. サーバー(www.yours.com)にTELNETでLoginします
  3. アクセスログとカウンターを置くディレクトリを作成します
    % cd /home/yours/public_html

    % mkdir log

  4. アクセスログとカウンターを置くディレクトリのパーミッションを設定します
    % chmod 777 log

    % ls -l log


    以下の様に drwxrwxrwx が表示されればOKです。
    drwxrwxrwx 1 staff group 1536 1997 log
  5. LogWriter.cshのパーミッションを設定します
    % cd /home/yours/cgi_bin

    % chmod 755 LogWriter.csh
    % ls -l LogWriter.csh

    以下の様に -rwxr-xr-x が表示されればOKです

    -rwxr-xr-x 1 staff group 265 1997 LogWriter.csh
  6. LogWriter.cshをサーバー上で実行(テスト)します
    % cd /home/yours/cgi_bin
    % ./LogWriter.csh /home/yours/public_html/log/index.wit

    % cat /home/yours/public_html/log/index.wit

    以下の様な表示になります

    {+}
    {BDATE:20070529140735}


    ここまでうまく実行できれば、Cシェルの環境は万全です。
  7. .htaccessを確認します
    サーバーでCシェルをHTMLからSSIで実行する場合には、このファイル(.htaccess)をHTML のディレクトリに置かなくてはなりません
    % cat /home/yours/public_html/.htaccess
    一般的には以下の様な表示になると思います。また、存在しない場合は ご自分で .htaccess をホームページのディレクトリに作成して下さい。

    AddType text/x-server-parsed-html
    .shtml
    AddType application/x-httpd-cgi .cgi
    AddType application/x-httpd-cgi .pl
    AddType application/x-sh .sh
    AddType audio/x-midi .mid
    AddType audio/midi .mid


    この中で重要なのは1行目の部分で特に最後の .shtml が重要です。 これは、アクセスログをとろうとするあなたのホームページの拡張子が .shtml でなくてはならない事を意味しています。つまり、あなたのホームページがindex .shtml であれば正しく実行されますが、 index .htm であったり、index .html であったりするとこのファイルの定義と矛盾 するために、LogWriter.cshは実行されません。 したがって、この1行目の最後に書かれている .shtml とアクセスログをとるホームページの拡張子を同じにするか、1行目の.shtmlを.htmlに変更してホームページの拡張子と統一して下さい。
  8. HTMLにアクセスログ書き出し用タグを入れます
    <HEAD>
    </HEAD>
    <BODY>
    <!--#exec cmd="/home/yours/cgi_bin/LogWriter.csh /home/yours/public_html/log/index.wit"-->


    これで、/home/yours/public_html/index.shtmlがアクセスされると /home/yours/cgi_bin/LogWriter.cshを起動し、アクセスログを /home/yours/public_html/logディレクトリの下に、 index.witと言う名前で作成します。
  9. インターネットに接続したコンピューターからWWWブラウザーでそのホームページを開いて下さい。 アクセスログが書かれるはずです。
  10. 再びサーバーのアクセスログを置いてあるディレクトリへ移ります。
    % cd /home/yours/public_html/log
  11. アクセスログが書かれているか確認します
    % cat /home/yours/public_html/log/index.wit

    おそらく以下の様な表示になります

    {+}
    {BDATE:20070529140735}
    {+}
    {BDATE:20070529140735}
    {HOST:www.yours.com}
    {IP:202.2.3.1}
    {BROWSER:Mozilla/2.0}
    {URL:http://www.abc.com}


    上の例で、2つ目の{+}以降が今回書かれたログです。 この様にアクセスログは、{+}で1件ごとを区切っています。
  12. アクセスログとアクセスカウンターのパーミッションを設定します
    % chmod 777 /home/yours/public_html/log/index.*

    これであなたのホームページに訪れた人のアクセスログ作成が始まります。

アクセスログが正しく作成されない場合は以下の点を確認して下さい。

  1. アクセスログファイルのパーミッションは、正しいか? 777
  2. LogWriter.cshのパーミッションは、正しいか? 755
  3. ホームページの拡張子が .htaccess で定義されているものとあっているか?(.htmlか.shtml)
  4. HTMLに記述したLogWriter.csh の絶対パスが正しいか?
    <!--#exec cmd="/home/yours/cgi_bin/LogWriter.csh /home/yours/public_html/log/index.wit"-->
  5. アクセスログファイルの拡張子は .wit になってるか?
  6. ホームページディレクトリに作成した.htaccessは正しいか?


Witness4で解析してみましょう
  • タスクバーの【スタート】-【プログラム】-【アクセスログ解析・統計ソフト Witness4】を起動します。
  • メニューバーの【ツール】-【サーバー一覧】画面で【追加】ボタンを押し、Webサーバーを登録します。
  • メニューバーの【ファイル】-【開く】-【ネットワーク】で先程登録したWebサーバーを選択し、【接続】ボタンによりサーバーに接続します。
  • ネットワークファイルチューザーでWebサーバー上に作成したアクセスログファイルを選択し【開く】ボタンを押します。
  • アクセスログの解析が始まります。