Webサーバを稼働させる
演習03で基本的なネットワーク通信が出来るようになりました。しかしpingコマンドによる疎通確認だけではイマイチ面白くありません。そこで今回はちょっとだけ実用性のある例として、LAN内でWebサーバを稼働させてみましょう。
今回実験するネットワーク
ネットワーク図
演習03とほぼ同じです。PC-B が Server-A に変わっただけです。サーバ専用のハードウェアを用意する必要はなく、一般的なPCにWebサーバをインストールすればOKです。

実機の場合の必要機材
実機で実験する場合は以下の機材が必要です。
| 種類 | 台数 | 機種例 | |
|---|---|---|---|
![]() | ルータ | 1台 | 1841 |
| ハブ(又はスイッチ) | 2台 | 何でも可 | |
![]() | PC | 1台 | 機種は問わない。OSも何でも可 |
| サーバ | 1台 | 普通のPCでも可。 Webサーバ(Apache等)をインストールしておく。 | |
| ケーブル | 4本 | ストレート・ケーブル |
PC、サーバの設定
PCおよびサーバのIPアドレス等の設定内容は以下の通りです。
設定方法は演習03を参照してください。
| PC | IPアドレス | サブネットマスク |
|---|---|---|
| PC-A | 192.168.0.101 | 255.255.255.0 |
| Server-A | 192.168.10.201 | 255.255.255.0 |
ルータの設定
ネットワーク図に書かれているとおりに各インターフェイスのアドレスを設定します。ホスト名もRT1に変更しておきましょう。
コマンドは演習03とまったく同じですが、まとめて再掲します。
Router>enable⏎
Router#configure␣terminal⏎
Router(config)#hostname RT1⏎
RT1(config)#interface␣fastethernet␣0/0⏎
RT1(config-if)#ip␣address␣192.168.0.1␣255.255.255.0⏎
RT1(config-if)#no␣shutdown⏎
RT1(config-if)#exit⏎
RT1(config)#interface␣fastethernet␣0/1⏎
RT1(config-if)#ip␣address␣192.168.10.1␣255.255.255.0⏎
RT1(config-if)#no␣shutdown⏎
RT1(config-if)#exit⏎
RT1(config)#
Webサーバの用意
Apacheのインストール
WebサーバにはApacheを使用します。単体でインストールするより、むしろXAMPPというパッケージでMariaDBなどと一緒に導入してしまうのが簡単です。XAMPPのインストール手順は別記事を参照してください。
XAMPPのインストール(Windows)はこちら
XAMPPのインストール(MacOS)はこちら
インストールが完了したら、Apacheを起動しておきます。
実験用Webページの用意
htmlファイルの作成
Server-Aに以下のようなファイルを用意しましょう。
| ファイル名 | networktest.html |
| ファイルの配置場所 | Apacheのドキュメントルート直下 Windows版の場合:デフォルトでは C:\xampp\htdocs 以下 MacOS版の場合:デフォルトでは アプリケーション/XAMPP/htdocs 以下 |
| ファイル形式 | テキスト(html) |
| 文字コード | utf-8 |
ファイルの内容は以下のようにします。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ネットワーク実験</title>
</head>
<body>
<h1>ネットワーク実験</h1>
<p>これは Server-A(192.168.0.201)です</p>
</body>
</html>動作確認
PC-AのWebブラウザで確認する
PC-Aでブラウザを起動し、アドレス欄に『http://192.168.10.201/networktest.html』と入力します。ブラウザにこのように表示されれば成功です。

上手くいかなかった場合
404 NotFoundの場合
ブラウザ画面に『404 Not Found』などと表示された場合は、Webサーバとの通信自体はできていますが、ファイルが見つけられない状態です。
実験用のhtmlファイル(networktest.html)のファイル名や配置場所が間違っていないか確認してください。
Webサーバの動作の確認
Webサーバ側に問題が無いか確認しましょう。
Server-A側でWebブラウザを起動し、アドレス欄に『http://localhost/networktest.html』と入力します。

- 正常に表示された場合、サーバは正常に起動しています。
- 『このサーバは表示できない』という意味の表示があった場合、サーバが起動しているか確認してください。
- htmlファイルの内容に問題が無いか確認してみましょう。タグの閉じ忘れなどで、htmlファイルが転送されていてもブラウザに何も表示されないことがあります。
PC-AとServer-A間の疎通確認
Webサーバが正常に動作しているのにWebブラウザで表示できない場合、PC-AとServer-Aの間で正常に通信ができているかを確認します。
PC-Aでコマンドプロンプトを開き、『ping 192.168.10.201』と入力して通信が出来るかどうか確認してみましょう。
pingに失敗した場合、様々な原因が考えられます。以下を確認しましょう。
- PCおよびサーバのIPアドレス/サブネットマスクは正しく設定されているか
- 使用するケーブルを間違えていないか(ストレートケーブル)
- ルータのインターフェイスのIPアドレス/サブネットマスクの指定を間違えていないか
- ルータのインターフェイスを間違えていないか(PC-Aに接続している側がFa0/0)
- 各機材の電源が入っているか
- PCおよびハブ(またはスイッチ)のインターフェイスにイーサネットケーブルがちゃんと刺さっているか(ポートLEDを確認)、正しいケーブルを使用しているか
- 既存のネットワークで実験している場合、IPアドレスが競合していないか、ループ接続をしていないか
ファイアウォールの確認
Webサーバが正常に動作し、ネットワークの疎通が確認できてもWebページの表示が出来ない場合、Server-Aのファイアウォールがhttpの通信をブロックしている可能性があります。『ファイアウォールの設定』を参照して、Server-Aのhttpの送受信を許可します。
Windowsファイアウォールでは『Apache HTTP Server』というルールを有効化します。
ルールがない場合は、SERVER-A側の『TCP 80/443ポートへのパケット受信』およびPC-A側の『TCP 80/443ポートからのパケット送信』を許可する設定にします。
おわりに
XAMPPを利用すれば、案外簡単にWebサーバを稼働させることが出来ることが判ったと思います。これを応用すれば、LAN内での情報共有などもできるようになるかもしれません。
ただし、今回はあくまで学習・実験として『Webサーバを稼働させた』だけで、セキュリティ面は一切考慮していません。よって、インターネットから直接見られるようにするなど不特定多数に公開することは絶対に避けてください。




コメント