Apache Server Configuration

1.Apacheの役割
 ApacheはLinuxのディレクトリ階層の一部をネットワークに接続してきたクライアントが読み出せるように公開する仕組みを実装しています。
 通常ApacheがWebサーバーに対して、「ここがコンテンツのスタート位置です」と言う情報を与え、エイリアスのトップレベルでサーバーが参照された場合は、その位置にある許可されたファイルをクライアントへ転送します。
 例えば、http://www.we-shall.com/とブラウザから参照されようとした時に、/usr/local/www/htdocs/がドキュメントルートとして参照されます。同じように、/usr/local/www/htdocs/manual/index.htmlがある場合に、http://www.we-shall.com/manual/index.htmlと絶対パスを指定することで参照する事が出来ます。

2.Apacheのインストール
 最初にパッケージで入れられたApacheのバージョンを確認しておきましょう。最新のApacheがすでに存在するのであれば、以下の作業は必要ありません。「Apacheの応用設定」へ進みます。
・古いバージョンを削除する。
[root@server /root]# rpm -e apache
 これでApacheが削除されます。存在しない場合はエラーメッセージが出ます。
・ソースファイルを用意します。
 CD-ROMからインストールする手順を説明します。ダウンロードしたソースを利用する場合も手順はほぼ同等です。
 CD-ROMをマウントします。
[root@server /root]# mount /mnt/cdrom
 解凍用のディレクトリへ移動します。
[root@server /root]# cd /usr/local/src
 ソースを解凍します。ソースファイルが置かれている場所によって、以下は異なります。
[root@server src]# tar xvzf /mnt/cdrom/cocoa/src/apache_1.3.6.tar.gz

 コンパイル準備。まずはディレクトリを移動。
[root@server src]# cd apache_1.3.6
 コンパイル設定を行います。
[root@server apache_1.3.6]# sh /mnt/cdrom/cocoa/conf/conf-apache
 コンパイルを開始します。
[root@server apache_1.3.6]# make
 Apacheをインストールします。
[root@server apache_1.3.6]# make install
 Apacheの起動ファイルをCD-ROMからコピーします。
[root@server apache_1.3.6]# cp /mnt/cdrom/cocoa/conf/httpd /etc/rc.d/init.d
 コピーした起動ファイルのパーミッションを変更
[root@server apache_1.3.6]# chmod 755/etc/rc.d/init.d/httpd

3.ここからApacheの設定に入ります。
[root@server apache_1.3.6]# vi /usr/local/etc/apache/httpd.conf
--------------------------------------
# as error documents.
#
ServerAdmin webmaster@we-shall.com
 ←管理者のメールアドレスを設定します。
--------------------------------------
# anyway, and this will make redirections work in a sensible way.
#
ServerName www.we-shall.com
 ←#を消してWebサーバーのホスト名を記入。
 上書き保存[:w]し、終了[:q]します。
 エイリアスにwebmasterを追加します。
[root@server apache_1.3.6]# vi /etc/aliases
--------------------------------------
# Person who should get root's mail
#root:   marc
root:    nakayama
webmaster: nakayama
 上書き保存[:w]し、終了[:q]します。

4.Apcheを起動します。
[root@server apache_1.3.6]# /etc/rc.d/init.d/httpd start
コンソールには
/usr/local/sbin/apachectl start: httpd started
などと表示されます。動き出しました。

 ・マシンの電源投入時や他のOSから切り替えてLinuxを起動する際に、Aapcheも自動起動させたいものです。以下のように設定します。
[root@server apache_1.3.6]# ls -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd
 ・次にマシンをシャットダウンする時や他のOSに切り替える際には、Apacheを自動停止させねばなりません。以下のように設定します。
[root@server apache_1.3.6]# ls -s /etc/rc.d/init.d/httpd /etc/rc.d/rc0.d/K15httpd
 ・さらに管理用ユーザーの登録が必要です。
[root@server apache_1.3.6]# useradd -d /usr/local/www -p '********' -g users www
 wwwと言うWebサーバー管理用のユーザーを"********"と言うパスワードで設定しました。
[root@server apache_1.3.6]# chown -R www /usr/local/www
 Webルート以下すべての所有権をユーザーwwwに与えました。


 以上でAapcheのインストールと設定が完了です。

5.Apacheの応用設定
 ○/usr/local/etc/apache/httpd.confはApacheの起動時における各種設定が書かれているファイルです。このファイルを書き換えることで思い思いのApacheができあがります。
例えば、クライアントのブラウザからhttp://www.we-shall.com/Apache/と参照したときに、Apacheのマニュアルを表示させたい場合は[Alias]行を付加します。
Alias /Apache/ "/usr/local/www/htdocs/manual/"
 これでエイリアスが有効となり、参照先のファイルを転送します。

 ○ブラウザから絶対参照をせずに、ディレクトリだけを指定した場合は、[DirectoryIndex]行で指定しているファイルを転送の対象とします。では書き加えてみます。
DirectoryIndex index.html index.htm default.htm default.html
 これで4種類のファイルを検索する事になります。左から順に検索し、ヒットしたファイルを転送します。

 ○Apacheを起動したものの、設定ファイルを修正する必要があり、Apacheを再起動する必要が出てきた場合は
[root@server /root]# /etc/rc.d/init.d/httpd restart
 で再起動します。

 ○ユーザーを登録した際に、http://www.we-shall.com/~nakayama/で参照するディレクトリはどこだ?
 この場合も/usr/local/etc/apache/httpd.confをまず設定しなければなりません。設定箇所は[UserDir]行です。
UserDir WWW
これでユーザーのディレクトリに存在するwwwディレクトリがWebページ用として扱われます。



 ftpサービスを利用してWebサイトのコンテンツをアップするにはftpサーバーが必要です。


トップへ戻る

12/January/2000