【簡単】Windowsで簡易Webサーバを立ち上げる方法
ちょっとWebサーバを立てたい!
という時に便利なフリーソフト「簡単WEBサーバー」を紹介します。
特徴
通常、Webサーバを立てるというと、Apacheやnginxなどをインストールして設定ファイルを編集して起動して・・ といろいろ面倒なのですが、この「簡単WEBサーバ」はインストール不要。適当なフォルダに置いてEXEファイルを起動するだけでWebサーバが完成します。
簡易Webサーバなのできちんとした運用には向きませんが、ちょっと静的なWeb資材を動かして確認したいという用途においては取り扱いやすくオススメの一品です。
インストール~起動
フリーソフトの老舗、Vectorで公開されていますので、そちらからダウンロードします。
インストールは不要で、ダウンロードしたZIPファイルを適当なフォルダに設置します。
ちなみに私は、Cドライブの下にtoolsフォルダを作成し、その中にKantanWebServerのフォルダをそのまま設置しました。
あとは、KantanWEBServer.exeを起動するだけです。
Webサーバで公開するフォルダを設定
まずは、ドキュメントルートになるフォルダを指定します。画面の「追加」ボタンをクリックします。
パソコンの中のフォルダ指定ができますので、Webサーバで公開したいフォルダを指定します。
せっかくなので、試しに20年以上の学生時代に作っていたホームページの資材でも公開してみたいと思います。
公開するフォルダの設定が終わったら、「待ち受けを開始します」ボタンを押すだけでWebサーバの起動が完了します。
たったこれだけでWebサーバが立ち上がりました! 簡単すぎる!
ブラウザで表示する
Webサーバが起動したら、あとは通常のWebサイトの閲覧と同じです。普段使っているブラウザでアクセスしてみます。ブラウザのアドレスバーに http://localhost と入力します。
次のような画面が表示されればWebサーバ起動完了です。今操作しているパソコン上で簡易Webサーバが起動して、さきほど指定したフォルダの内容が表示されていると思います。
フォルダ名をクリックするとフォルダの中身がリスト表示されます。
デフォルト設定では、ディレクトリインデックスの設定がONになっており、フォルダのファイル一覧がリスト表示されます。簡易サーバなので表示ONの方が便利でしょう。もちろん設定でOFFにしてセキュリティを高めることもできます。
index.htmのリンクをクリックしてみます。
おおお!!
私が学生の頃に作って公開していたホームページが表示できました!
この頃はまだブログというものは無かったげと、ホームページという呼び名でみんなWebサイトを作ってたよ。
「ネスケではBGMが鳴りません」って時代の流れを感じる・・・
カスタマイズしてみる
簡易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ぐらいの超軽量なので邪魔にならないので、パソコンに入れとくと便利だと思います。
コメント