WWW Serverの構築

さて、Nameserverのインストールも無事終わりました。これからメインイベントとも言えるWeb Serverの構築に取りかかりましょう。Web Server のデファクトスタンダードであるapacheをインストールします。インストールの方法はいろいろありますが、portsを利用する方法がお手軽でしょう。新しいバージョンである、apache2系列のものをインストールします。2003年12月現在、2.0.48が最新です。

# cd /usr/ports/www/apache2
# make
# make install

これで、自動的にfetchしてcompileしてinstallしてくれます。なお、portsでインストールすると次のようなファイル配置になります。

/usr/local/sbin/httpd
/usr/local/etc/apache2/httpd.conf
/usr/local/etc/rc.d/apache2.sh
/usr/local/www/data.default(<--data)/index.html

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

# cd /usr/local/www
# chown  -R masao data

これでputができるようになります。あるいは、wwwというuserでputしてもいいでしょう。それではブラウザからhttp://www.fujie.org/と入力してみてください。これでindex.htmlのページが出れば成功です。また、ホームディレクトリにpublic_htmlというディレクトリを置き、そこにhtmlファイルを置くと、fujieというユーザーがいたとして、http://www.fujie.org/~fujie/でその個人のホームページがみられます。

apache-1.3.6以降では、confファイルは、httpd.confにすべて記載し、access.confとsrm.confは使用しないようになりました。参考に、僕のhttpd.confの書き直した一部を記載します。

# cd /usr/local/etc/apache/
# ee httpd.conf
-----
ServerAdmin masao@fujie.jp
-----
<Directory "/usr/local/www/data">
  Options Includes Indexes FollowSymLinks MultiViews
  AllowOverride None
    XBitHack on
</Directory>
-----
HostnameLookups On
-----
IndexIgnore */* *
-----

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

2.アクセスカウンターの設定
最近はやりのアクセスカウンターをセットしてみましょう。これはデフォルトではインストールされていません。portsでインストールして下さい。

# cd /usr/ports/www/wwwcount
# make install

つぎに設定ファイル(/usr/local/etc/Counter/conf/count.cfg)を修正します。ファイルの最後のほうに

# BLOCK5
# Auth block
#
#
#
##
{
your.host.your.domain
your
0.0.0.0
}

という部分がありますから、この"{"から"}"までの行を#でコメントアウトして、最後に

{
www.fujie.org
}

を書き加えます。ただし最新のwwwcount-2.4ではデフォルトでここの部分の記載があるようです。つぎにカウンターデータの初期化を行います。カウンターデータは/usr/local/etc/Counter/data/ に格納されます。そこで、次のように入力します。

# cd /usr/local/etc/Counter/data/
# echo 1 > x.dat
# chown nobody x.dat
# chmod 664 x.dat

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

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

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

# cd /usr/ports/lang/perl5
# make install

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
# touch counter.dat
# chmod 666 counter.dat

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

あとは、カウンターを表示したいhtmlファイルに次の行を挿入すれば終わりです。

<!--#exec cmd="./counter.pl"-->

では次にメールサーバーの設定(POP3 Server)にかかりましょう。

TOP PAGE