WWW Serverの構築

RedHat Linux 7.1J にはデフォルトで、apache-1.3.19 がインストールされていますので、それをカスタマイズすれば十分でしょう。

1.ディレクトリ属性の変更
HTMLファイルは、RedHat Linux 7.1J では、/var/www/html/ に格納されます。ですからFTPソフトでそのディレクトリにホームページのファイルを全部アップロードすればそれで終わりなのです。ところが、実際putしようとするとpermission deniedで蹴られてしまいます。そこで、/var/www/ 以下の許可属性(所有者)を変更しなくてはなりません。

# cd /var/www/
# chown -Rf masao *
# chgrp -Rf masao *

もちろん、masao の部分は適切な user名を入れてください。これでputができるようになります。それではブラウザから http://linux.fujie.org/ とホストネームを入力してみてください。これで index.html のテストページが出れば成功です。また、ホームディレクトリにpublic_htmlというディレクトリを置き、そこにhtmlファイルを置くと、fujieというユーザーがいたとして http://www.fujie.org/~fujie/ でその個人のホームページが見られます。apache-1.3.6 からデフォルトでは、access.conf と srm.conf は使わなくなりました。すべて httpd.conf (RHL なら /etc/httpd/conf/httpd.conf) に記載します。参考に、僕のhttpd.confの書き直した一部を記載します。

# cd /etc/httpd/conf/
# vi httpd.conf
-----
ServerAdmin masao@fujie.jp
-----
<Directory "/var/www/html">
  Options Includes Indexes FollowSymLinks MultiViews
  AllowOverride None
    XBitHack on
</Directory>
-----
HostnameLookups On
-----
IndexIgnore */* *
-----

XBitHack on となっているので、SSIがあるファイルのパーミッションは 755 にしなくてなりません。

2.wwwcountのインストール
アクセスカウンタのWWWCOUNTをインストールしてみましょう。まず、最新のバージョンのwwwcount.2.5.tar.gzをダウンロードして、/usr/local/src/ に置きます。そして型のごとく展開します。

# cd /usr/local/src/
# tar zxvf wwwcount2.5.tar.gz
-----

そしてコンパイルします。

# cd /usr/src/wwwcount2.5/
# ./Count-config
-----

幾つかの質問に答えます。cgi directory と document directory以外はほとんどデフォルトでいいでしょう。次に、configureします。

# ./configure

そして、make

# make all

さらに質問に答えてconfファイルの作成。そして、インストール

# ./Gen-conf
-----
# ./Count-install
-----

質問には次のように答えました。

*Do you know the user and group id of httpd' child process [y|n]:?  n

他は状況に合わせて答えて下さい。これで、count.cfgも自動的に作られるはずです。つぎにカウンターデータの初期化を行います。カウンターデータは/usr/local/etc/Counter/data/ に格納されます。そこで、次のように入力します(例)。 またパーミッションも変更します。

# cd /usr/local/etc/Counter/data/
# echo 1 > x.dat
# chown nobody x.dat
# chmod 666 x.dat
# cd /var/www/cgi-bin/
# chmod 755 Count.cgi

そして最後にアクセスカウンターを表示したいhtmlファイルに次の1行を加えればおしまいです。

<img src=/cgi-bin/Count.cgi?df=x.dat>

3.SSIカウンターの設定
SSI(Server Side Include)を利用したアクセスカウンターを作ってみましょう。SSIは応用範囲が広いため、アクセスカウンターに限らず、Perlを利用していろいろなプログラムを利用することができます。ここでは一番簡単なアクセスカウンターを作ってみます。

3-1 counter.plを作る
次のような内容のファイルをエディタで作成してください。

#!/usr/bin/perl
$datafile = "counter.dat";
open(DATA,"$datafile");
$number = <DATA>;
close(DATA);
$number = $number +1;
open(DATA,">$datafile");
print DATA $number;
close(DATA);
print $number;

1行目はサーバーによっては、#!/usr/local/bin/perlかも知れません。telnetでサーバーに入って、# which perl で確かめてください。このファイルをcounter.plという名前で保存しhtmlファイルと同じディレクトリにputしてください。

3-2 .htaccessファイルを作る
次のような内容のファイルをエディタで作成してください。

AddType text/x-server-parsed-html .html
AddType application/x-httpd-cgi .cgi

最後に必ずリターンを入れてください。このファイルを.htaccessという名前で保存し、htmlファイルと同じディレクトリにputしてください。

3-3 パーミッションの変更
telnet でサーバーに入って、

# chmod 755 counter.pl
# echo 1 > counter.dat
# chmod 666 counter.dat

としてください。ディレクトリは、/var/www/html/(または/home/user/public_html/)です。

3-4 サーバーの設定
あとは、カウンターを表示したいhtmlファイルに次の行を挿入し、そのファイルの permission を 755 にすれば終わりです。

# cd /var/www/html/
# vi index.html
<!--#exec cmd="./counter.pl"-->
-----
# chmod 755 index.html

TOP PAGE