★★★ Twitterやってます。フォローして頂けると嬉しいです(*^^*) ★★★

【簡単】Windowsで簡易Webサーバを立ち上げる方法

IT
スポンサーリンク

【簡単】Windowsで簡易Webサーバを立ち上げる方法

ちょっとWebサーバ立てたい!

という時に便利なフリーソフト「簡単WEBサーバー」を紹介します。

こんな時に便利
  • いますぐにWebサーバを立ち上げたい
  • お試しだなんだし、簡単でいいからWebサーバを起動したい
  • 静的Webリソースをサクッと確認したい
  • ちょっとHTTPリクエストの中身を確認したい

特徴

通常、Webサーバを立てるというと、Apachenginxなどをインストールして設定ファイルを編集して起動して・・ といろいろ面倒なのですが、この簡単WEBサーバ」はインストール不要。適当なフォルダに置いてEXEファイルを起動するだけでWebサーバが完成します。

簡易Webサーバなのできちんとした運用には向きませんが、ちょっと静的なWeb資材を動かして確認したいという用途においては取り扱いやすくオススメの一品です。

インストール~起動

フリーソフトの老舗、Vectorで公開されていますので、そちらからダウンロードします。

簡単WEBサーバーの詳細情報 : Vector ソフトを探す!
簡単に設置できるHTTPサーバー

インストールは不要で、ダウンロードしたZIPファイルを適当なフォルダに設置します。

ちなみに私は、Cドライブの下にtoolsフォルダを作成し、その中にKantanWebServerのフォルダをそのまま設置しました。

あとは、KantanWEBServer.exeを起動するだけです。

Webサーバで公開するフォルダを設定

まずは、ドキュメントルートになるフォルダを指定します。画面の「追加」ボタンをクリックします。

パソコンの中のフォルダ指定ができますので、Webサーバで公開したいフォルダを指定します。

せっかくなので、試しに20年以上の学生時代に作っていたホームページの資材でも公開してみたいと思います。

公開するフォルダの設定が終わったら、「待ち受けを開始します」ボタンを押すだけでWebサーバの起動が完了します。

たったこれだけでWebサーバが立ち上がりました! 簡単すぎる。

初めて実行する場合

Webサーバは外部からのHTTPリクエストを受け付けるものです。よってWindowsファイアウォールをHTTPアクセスが通過できるようにする必要があり、このようなウインドウが表示されることがあります。この場合はアクセスを許可してください。

スポンサーリンク

ブラウザで表示する

Webサーバが起動したら、あとは通常のWebサイトの閲覧と同じです。普段使っているブラウザでアクセスしてみます。ブラウザのアドレスバーに http://localhost と入力します。

次のような画面が表示されればWebサーバ起動完了です。今操作しているパソコン上で簡易Webサーバが起動して、さきほど指定したフォルダの内容が表示されていると思います。

フォルダ名をクリックするとフォルダの中身がリスト表示されます。

表示されない場合

このように表示される場合は、Webサーバが起動できていない可能性があります。

KantanWEBServerの画面を確認し、さきほどクリックした「待ち受けを開始します」ボタンが「待ち受けを停止します」に変わっていることを確認してください。

「待ち受けを停止します」が表示されている時はWebサーバは起動できていますので、これで表示できない場合は、Windowsファイアウォールか他のセキュリティソフトで通信が遮断されている可能性があります。その辺りを確認してください。

デフォルト設定では、ディレクトリインデックスの設定がONになっており、フォルダのファイル一覧がリスト表示されます。簡易サーバなので表示ONの方が便利でしょう。もちろん設定でOFFにしてセキュリティを高めることもできます。

index.htmのリンクをクリックしてみます。

おおお!!

私が学生の頃に作って公開していたホームページが表示できました!

ばったん
ばったん

この頃はまだブログというものは無かったげと、ホームページという呼び名でみんなWebサイトを作ってたよ。
「ネスケではBGMが鳴りません」って時代の流れを感じる・・・

ネットワーク経由でも表示できる

簡易版というだけで、原理はWebサーバと同じですので、ネットワーク上の別のパソコンからでもIPアドレスを指定すれば、ブラウザで表示できます。

IPアドレスの調べ方が分からない方は、こちらを参照してください。

スポンサーリンク

カスタマイズしてみる

簡易Webサーバということでブラウザでアクセスして表示できればいいかなーと思っていたんですが、設定画面をチラ見したところ、いろいろ設定できそうなので、ちょっと試してみました。

変更した設定を有効にする場合は、簡単WEBサーバを再起動すれば新しい設定が有効になります。

アクセスログの記録

設定画面の「ログ」セクション、LogSaveFlagをTrueにすると、Webサーバへのアクセスログが記録できます。

ログの出力形式

残念ながらログ出力形式のフォーマットまでは変更できませんでした。リクエストヘッダとレスポンスヘッダの中身をすべて出力しているようです。

アクセスログ(正常:200)

GET /homepage/index.htm HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.9,en;q=0.8
If-Modified-Since: Sat, 10 Feb 2001 11:39:04 GMT

HTTP/1.1 200 OK
Date: Sat, 16 Jan 2021 21:46:26 GMT
Last-Modified: Sat, 10 Feb 2001 11:39:04 GMT
Server: TTFA
Accept-Ranges: bytes
Connection: keep-alive
Content-Type: text/html
Content-Length: 534

アクセスログ(コンテンツ見つからない:404)

GET /homepage/new.htm HTTP/1.1
Host: localhost
Connection: keep-alive
sec-ch-ua: "Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: frame
Referer: http://localhost/homepage/menu.htm
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.9,en;q=0.8

HTTP/1.1 404 Not Found
Server: TTFA
Connection: Keep-Alive
Content-Length: 275
Content-Type: text/html

404の場合は、タイムスタンプが記録されていないようですので、そこはちょっと気をつける必要があります。

ログまとめ

情報が少ないよりは多い方が後からどうにでもできるので助かりますが、1リクエストでこのログの量なので大量にアクセスされるとログの書き込みで遅延しそうですし、ログファイルサイズも肥大化しそうです。

また、ログファイルへの書き出しがWebサーバ終了時だったので、ずっとメモリ上で保持する仕様だとすると長時間稼動させるとメモリの消費も多い可能性が高いです。

また、tail -f のような感じでリアルタイムでのログ確認はできないことも加味すると、ヘッダの中身やHTTPステータスコードを確認したい時以外は、ログ出力OFFの方が良さそうです。

ディレクトリインデックスと自動起動設定

ディレクトリインデックスの設定

OpenFolderFlagをTrueにすると、ディレクトリのファイルがリスト表示されます。便利な反面ファイルがすべて表示されてしまうので一般的にはFalseですが、簡易Webサーバとして個人で使うならTrueの方が便利です。

自動起動の設定

StartFlagをTrueにすると、EXEファイルを起動するのと同時にWebサーバが立ち上がり、リクエスト受け付け可能状態になります。設定が完了したらTrueの方が便利でしょう。

サーバ設定

サーバ設定ではディレクトリインデックス画面のカスタマイズができます。ちなみにFirstHTMLを編集すると、このようなウインドウが表示され、ページタイトルや各スタイルクラスの編集ができます。

あとは、ポート番号やドキュメントルートのファイル名などが設定できます。ポート番号をずらせば1台のパソコンで複数のWebサーバが起動できます。

Basic認証

簡易WebサーバなのにBasic認証がついているのはちょっと驚きました。

BasicAttsetationをTrueにすると、Basic認証が有効になります。ユーザIDとパスワードはPersonCollectionから登録できます。

Basic認証を有効にするには、簡単WEBサーバを再起動します。再起動後にアクセスすると、このように認証がかかるようになります。

おお、Basic認証がついているなら、複数人で共有しても一定のセキュリティは確保できますね。なかなかいいです。

スポンサーリンク

簡単WEBサーバまとめ

Windows使っていてちょっとWebサーバ使いたいって時にかなりオススメです。

ファイルサイズも160KBぐらいの超軽量なので邪魔にならないので、パソコンに入れとくと便利だと思います。

簡単WEBサーバのおすすめポイント
  • インストール/アンインストール不要
  • たぶん最初でも5分ぐらいでWebサーバが立ち上げられる
  • 設定画面もGUIで直感的に設定できた
  • EXEを実行するだけでWebサーバを起動できる手軽さ

コメント

タイトルとURLをコピーしました