WEBサーバの基礎
WEBサーバはホームページを閲覧させるためのサーバです。サーバが提供するサービスを利用するためにはクライアント用のソフトウエアが必要になります。WEBの場合はブラウザがそのクライアントソフトウエアになります。たとえば、インターネットエクスプローラやネットスケープナビゲータ、最近のフリーソフトとしてはOperaなどが代表的なブラウザとなります。このブラウザのアドレス欄にURLを指定すれば自動的にホームページが表示されます。URLはUniform Resorce Locatorの略でインターネットのどこにアクセスしたいリソースがあるのかを記述する形式です。http://wweb/zive.net/index.html というホームページを見る場合には次のような区切りになります。
| スキーム名 | サーバ名 | パス名 |
| http: | //wweb.zive.net | /index.html |
スキーム名
最初のhttpの部分でこれからアクセスしようとしているリソースの種類を指定しています。ここで紹介するのはWEBサーバなので、この場合はホームページを見るためのアクセスとなり、httpと指定しています。このほかに、たとえばFTPサーバに接続してファイルをダウンロードするような場合は、「ftp:」という形で指定を行います。
サーバ名
アクセスするサーバ(サービスを提供するコンピュータ)のアドレスを指定しています。アドレスの指定は"wweb.zive.net"などのドメイン名の指定の他に"192.168.0.1"などのIPアドレスでの指定も可能です。しかし、IPアドレスは単純な数字の羅列になってしまい、とても覚えることは困難です。そこで、ドメイン名というもので指定がでいるようになっています。
パス名
アクセスしたサーバ内でどの位置にあるリソースにアクセスするかをパスで指定します。つまり、http://www.painfo.net/ と指定すると、ブラウザがwweb.zive.netにアクセスして、index.htmlというファイルを取ってきます。ブラウザによるwebサーバへのアクセスは特定のデータをダウンロードする行為であるといえます。ブラウザはダウンロードしたデータが表示もしくは実行できない場合はユーザにファイルをダウンロードするかを聞いてきます。webサーバとのやりとりはHTTPというプロトコル(通信手順)で行われており、通常はサーバ側はtcpポート80番で待ち受けています。
それでは、「http://www.painfo.net/」と指定した場合にはどうなるでしょう。この場合もきちんとtopページが出力されることを確認いただけると思います。この場合は、webサーバのほうで、ドメイン名の後ろのパス名が省略されたと認識して、自動的にindex.htmlを補完してwebページにアクセスするような仕組みになっています。だいたいのWebサーバソフトでは、その設定ファイルの中で、「省略されたときに何という名前のパス名を補完するか」ということ自体が任意に設定できるような仕組みになっています。
![]() あの有名ソフトが1980円! |
| ジブリがいっぱい |
ホームシアター導入特集 |
人気家具 |
iPodシリーズが安い |
高級品市場 |
格安液晶テレビ |
| 新製品・最新家電 |
液晶テレビやiPod特価 |
インテリア激安 |
楽天ザ・バーゲン |
激安アウトレット特集 |
DVDレコーダ市場 |
APACHEの特徴
WEBサーバのソフトウエアとしてApacheという名前を良く耳にすると思います。このサーバソフトウエアはほとんどのLinuxディストリビューションに含まれていて、、事実上のデファクトスタンダードな標準WEBサーバとなっています。自宅でホームページを公開している人の他、商用のサイトでも、このApacheというソフトウエアが使用される機会が多くなってきています。
ApacheはもともとはUNIX系のOSで動くオープンソースのWEBサーバソフトとして誕生しましたが、他のオペレーティングシステム上にも移植されてきています。現在、インターネット上の稼働数は他のソフトウエアを引き離して、シャアNo!となっています。他のサーバソフトウエアを大きく引き離している要因としては以下の点があげられます。
- 軽い
- メモリ管理がしっかりしていて速さやメモリ使用も効率的になっている
- オープンソースでフリーなかたちで流通している
- UNIX系OSはもちろんのこと、他にMacOSやWindowsNT、OS2でも動作する
- 豊富な稼働実績があるため信頼性が高い
- 機能が豊富。モジュールを追加することによって、いつも最新の機能が利用でき、手軽に自分で機能追加することが出来る
【PR】Windows系パーツとオリジナルPC【ウインハウス】
また、Apacheの代表的な機能としては以下の機能があげられます。
- プロキシサーバ
- SSIおよびXSSI
- CGI
- さまざまな認証
- Keep−Alive
- バーチャルホスト
- Web上からの状態監視
- ファイルタイプMIME)ベースでのスクリプト起動
- ハンドラ機能
- CERN−HTTPdのメタファイル機能
- WebDAV
- URLの高度なマッピング
Apacheの特徴はその豊富なモジュールの機能です。モジュールとはApacheの機能を拡張するためのパーツのようなものでモジュールを組み込むことによってApacheにさまざまな機能を付加することが出来ます。例えば多くのモジュールを組み込んだ場合はApacheを多機能な構成にすることが可能です。逆に不要なモジュールを取り外せばパフォーマンスを高めることが出来ます。RedhatLinux付属のApacheでは様々なモジュールが /etc/httpd/modules ディレクトリに用意されています。Apacheに標準で組み込まれている主なモジュールとその役割は以下の表の通りです。
| モジュール名 | 役割 |
| mod_access.so | クライアントのホスト名またはIPアドレスでアクセス制限を行う |
| mod_cgi.so | cgiを使用するために必要なモジュール |
| mod_dav.so | WebDAV機能を使用するために必要なモジュール |
| mod_log_config.so | ログファイルの記録やフォーマットの変更 |
| mod_alias.so | URLのパス名の部分と実際のディレクトリ位置との関連づけを行う |
| mod_auth.so | ユーザ名とパスワードによるユーザ認証を行う |
![]() Apacheハンドブック |
![]() Apacheモジュール プログラミングガイド |
![]() Apache―WWWサーバの構築と管理 |
![]() Apacheモジュール活用ガイド―Webデベロッパのための |
Apacheの設定
Apacheの起動確認と起動
Apacheの設定は他のUNIXプログラムと同じく設定ファイルをテキストで記述します。WINDOWSソフトでは通常はウイザードに従って設定していけば良いところですが、ちょっと取っつきにくい部分であると思います。初心者には暗号のように見える記述をしなければなりません。そこで、Webminを使ったAPACHEの設定を紹介します。Webmin自体については、こちらのページで紹介していますので、あわせてご覧ください。
Redhat Linuxなどのディストリビューション版をインストール時に色々なインストールオプションを選ぶことができますが、この時点でhttpdをインストールするように指定すればLinuxをインストールするのと同時にApacheもインストールが行われます。そして、最終的にインストールが終わったあとに、Linuxが立ち上がった時点では、既にApacheがサーバソフトウエアとして起動された状態になっているはずです。サービスを開始していれば、同じネットワークにつながったクライアントのWEBブラウザを使って、http://サーバのIPアドレス/というアドレスにアクセスしてみると、デフォルトでインストールされているトップページが表示されます。Redhat Linuxのインストール手順については、こちらのページに詳しく紹介していますので、あわせてご覧ください。
もし、デフォルトのトップページが表示されない場合は以下の手順でチェックをします。
- クライアントのWEBブラウザから、http://サーバのIPアドレス:10000/ にアクセス
- Webminが表示される
- トップページでSystemボタンをクリックして、Systemページを表示させる

- Bootup and Shutdownボタンをクリックして表示されるページでシステム起動時やシャットダウン時のサービスを設定できる。リストのActionの中からhttpdを探してリンクをクリックする

- Edit Actionというページが表示されたらStart Nowボタンをクリックする

- Start Actionというページが表示されたらStart Nowというボタンをクリックする
上記の操作でサービスが開始されます。Apacheにはシステム起動時に自動的にサービスを開始させたいので、Start at boot time?のYesを選択してSaveボタンをクリックし設定を保存します。
![]() あの有名ソフトが1980円! |
Apacheの設定
Apacheがサービスを開始していれば、とりあえず何も設定していなくてもWebサーバとして稼働していますが、Webminを使ったApacheの設定方法について解説をします。
WebminでApacheの設定を行う場合は、WebminのトップページからServersボタンをクリックし、各種サーバの設定をするページを表示してからApache Webserverボタンをクリックします。はじめてこの操作を行ったときは、Re-Configure KnownModulesというページが表示されますが、これはApacheの設定ファイルをWebminに組み込むための操作ですので、2回目以降は表示されません。そのままConfigureボタンをクリックします。すると下記の画面が表示されます。

PR>日本最大級 パソコン、家電、DVDソフトの超大型ストア murauchi.co.jp
Apache Webserverをクリックします。

Apache Webserverページが表示されたら下の方にVirtual Servers項目があります。このなかでDefault Serversボタンをクリックします。

Virtual Server Optionページが表示されたら、Networking and Addressボタンをクリックします。Networking and Addresページが表示されたら、Server admin email addressにWebマスター、つまり自分のメールアドレスを入力します。

これは、エラーページが表示されたときに表示されるWebマスターのアドレスになります。そして、もしこのサーバーをDNSサーバやダイナミックDNSに登録しているのであれば、Server hostnameにこの名前をドメイン名も含めて入力しておきます。入力が終わったらSaveボタンをクリックして設定を保存します。(エラーページは以下のような形になります)

次に再びApache Webserverページの下の方を表示し今度はVirtual Serverボタンをクリックします。表示sれた設定ページを下にスクロールし、Virtual Server Detail項目を表示後に、Delete Virtual Serverボタンをクリックします。これはとりあえず必要のないバーチャルサーバの設定を削除する操作です。
以上で初期設定が保存されましたので、ページの上にあるApply Changesというボタンをクリックします。この操作でWebminがApacheを再起動させることにより、今までの設定変更がApacheに反映されます。
| WebminによるLinux Server構築 | Webminで作るLinuxサーバ | Webmin大全 | イントラネット構築法 | Vine Linux 2.5とWebminで作るコマンド不要の自宅サーバー | Linuxで作る自宅サーバ |
ホームページをサーバに転送
すでにApacheが起動しているWebサーバであればクライアント側で記述したHTMLファイルをサーバ上の特定のディレクトリに配置することで、ホームページを設置することが出来ます。まずは、IBMのホームページビルダーのようなホームページ作成ソフトを使って、ホームページを作っておきます。そして、ホームページ作成ソフトにはサーバにhtmlファイル等を転送するためのFTP機能が付いていますので、この機能を使ってサーバに転送します。

Redhat Linuxの場合では、デフォルト設定は、/var/www/htmlとなっています。これをドキュメントルートと呼んでいます。上記のファイル転送の設定で、転送先フォルダはこのディレクトリを指定します。
ドキュメントルートに関してもう少し説明をしておきます。ブラウザで指定するときのURLとRedhatLinuxをインストールした初期状態でのサーバ上のディレクトリ位置の関係は以下のようになります。
| ブラウザで指定するときのURL | 実際のサーバ上のディレクトリの位置(ドキュメントルート) |
| http://www.painfo.net/ | /var/www/html/index.html |
ドキュメントルートを他のディレクトリに変更したい場合はwebminで設定の変更を行います。

バーチャルサーバ
バーチャルサーバとは物理的に1台のサーバマシンで複数の異なったURLを持つWEBサーバを稼働させることです。Apacheで設定できるバーチャルサーバにはネットワークカードをマシンにマシンに複数さしてルーティングを行った場合の複数のIPアドレスで稼働するものと、単一のIPアドレス上で稼働するものの2種類があります。ここでは単一アドレスで複数のサーバを設定する手順を説明します。なお、バーチャルサーバ機能はDNSサーバやダイナミックDNSに登録したサーバ名(URL)を複数持っていないと意味がありませんので、事前に登録あるいは取得しておくことが必要です。
バーチャルサーバの追加
WebminのServers>Apache Webserverページを表示したら、ページの下の方にスクロールして、Create a New Virtual Serverという欄に必要事項を入力します。まず、AddressはこのサーバのIPアドレス、Portは80を入力します。次にこの例ではDocument Rootにユーザ「COSMOS]のユーザWebディレクトリ「/home/cosmos/public_html」をServer NameにはDNSサーバに登録した「cosmos.zive.net」を入力しました。Document Rootはホームページのデータを置いて問題の無いディレクトリであればどこでも構いません。Server NameはDNSサーバやダイナミックDNSに登録してある名前でないといけません。入力を終えたらCreateボタンを押します。

これでバーチャルサーバの一覧に上記のcosmosがq追加されたかと思います。Apply Changesのボタンを押してApacheを再起動すれば設定したバーチャルサーバがサービスを開始します。下記の2つのURLで同じバーチャルサーバ上のホームページが表示されることと思います。
- http://ローカルIPアドレス/~cosmos
- http://cosmos.zive.net/
他にもDNSサーバやダイナミックDNSに登録したサーバ名があれば、複数のバーチャルサーバをApacheに登録することが出来ます。
必要な一連のバーチャルサーバの登録が終わったあとは、個々のバーチャルサーバの設定を行いたいときは表示されているバーチャルサーバの一覧から設定を行いたいサーバを選ぶことによって設定ができるようになります。
- ネットワークとアドレス
- ネットワーク関連の設定を行うことができます。ここで重要なのはサーバのホスト名とサーバ管理者のメールアドレスです。この2つは正しく設定する必要があります。
- ドキュメントのオプション
- webに公開するデータの置き場所などの指定ができます。通常、Apacheではホスト名だけのリクエストがきた場合はwebに公開するデータを収めたディレクトリにあるindex.htmlファイルを返します。これらのwebに公開するデータを収めたディレクトリは標準の場所が決まっていますが、これを変更することも可能です。これはドキュメントのオプションのドキュメントのルートディレクトリ」で設定します。
- エラー処理
- この設定項目では独自のエラーページを表示させることができるようになります。たとえば、ファイルが見つからないときに表示される404エラーを示すページを自分で用意することができます。
【PR】激安パソコン販売 Y2PC
CGIの設定
一般に、CGI(Common Gateway Interface)はホームページ上で掲示板やチャット、メール送信フォームといったものを使えるようにするためだけの仕組みだと考えられていますが、CGIの実体を解説します。Webサーバーはソフトウエアがサービスしているにすぎませんから、OSの色々な機能や他のアプリケーションの機能をWebサーバ上で使用することがCGIだと考えることができます。
CGIへのアクセスの多くはサーバ上のソフトウエアやスクリプトファイルに対してリンクの形でHTMLソースに記述されます。ホームページのHTMLソースに記述された特定のコマンドは、HTTPリクエストの形でWebサーバに伝えられます。Webサーバはそのリクエストが許可されているものだと判断したときにOSに指令を出してコマンドを実行させます。コマンド実行の結果がテキストとして返されれば、Webサーバは実行結果をOSから受け取って適切なHTTPへヘッダを付けてクライアントへ返却します。これがCGI動作の大きな流れで、この流れ全体を指してCGIと呼びます。
ApacheではデフォルトでCGI用のディレクトリが用意されています。「http://サーバのIPアドレス/cgi-bin」がそのURLで、RedhatLinuxの場合のサーバ上の絶対ディレクトリは「/var/www/cgi-bin」となっています。ここにCGIスクリプトを入れると起動することができるようになります。
![]() はじめての人のためのかんたんPerl/CGI入門 |
![]() 速効!図解プログラミング Perl/CGI |
![]() Perl/CGI逆引き大全555の極意 |
![]() インターネットショップのためのCGI&受注管理 |
アンケート
![]()
![]()
| 累計 |
|
人 | 本日 |