Windowsでの遠隔計測にApacheを使おう!】

最終更新日 /2006/03/25/
ドメイン移転日 /2009/01/28/


 


Windowsでの遠隔計測にApacheを使おう!】
 「自宅のWindowsパソコンをサーバーにしてHPを公開したい」とか「WWWやLANで計測データを遠隔監視したい」などと思ったことはありませんか?
このページではその方法を紹介します。

【目次】
 1.HTTPサーバ「Apache」をダウンロードする
 2.Apacheの設定方法について
 3.Apacheの動作確認を行う
 4.bmp形式ファイルを変更する方法
 5.タグに着目してhtm形式ファイルを変更する方法
 6.その他の方法

 


1.HTTPサーバ「Apache」をダウンロードする
  
一部のパソコンでは「Apache」がプレインストールされている場合がありますが、そうでない場合はここからダウンロードします。このページ からはUnix用だけでなくWindows用にコンパイルされたApacheも入手することができます。
  2006年6月14日現在、Apache HTTP Server 2.2.2とApache HTTP Server 2.0.58、Apache 1.3.36が利用可能です。現在、筆者はApache HTTP Server 2.0.58を使用しています。

 【インストールの手順】
   1.Win32 Binary (MSI Installer): apache 2.0.58-win32-x86-no ssl.msiをクリックします。
   2.すると「ファイルのダウンロード - セキュリティの警告」ダイアログボックスが現われるので「実行」ボタンをクリックします。
   3.「Internet Explorer - セキュリティの警告」ダイアログボックスが現われるので「実行する(R)」ボタンをクリックします。



ここ以降はhttpd-2.0.55ダウンロードした際の状態を表示しております。

【ステップ1】
 下のダイアログボックスが現われるので「Next>」ボタンをクリックします。


【ステップ2】
 Apacheのライセンス条件を受け入れます。
オプションボタン「I accept the terms in the license agreement」を選択してから「Next>」ボタンをクリックします。
【ステップ3】
 最初に読むように注意書きダイアログボックスが表示されます。
「Next>」ボタンをクリックします。
【ステップ4】
 
ドメイン名、サーバー名、サーバー管理者の連絡先を記入して、推奨されているfor All Users, on Port 80...を選択して「Next>」ボタンをクリックします。
【ステップ5】
 Typical(標準)を選択して「Next>」ボタンをクリックします。
【ステップ6】
 インストール先のフォルダを指定して「Next>」ボタンをクリックします。
【ステップ7】
 「Install」ボタンをクリックしてインストールを始めます。

【ステップ8】
 暫く待つと最後に終了を知らせるダイアログボックスが現われます。
「Finish」ボタンをクリックして終了します。

【確認しましょう】
 WindowsのスタートメニューにApacheが登録されているか確認します。
  「スタート」-「すべてのプログラム(P)」で確認します。

【確認しましょう2】
 タスクバーに赤い羽根マークのアイコンがあるか確認します。
無事見つかればインストールは終了です。



 

2.Apacheの設定方法について
 次にインストールしたApacheを動作させるために必要な設定を行います。
【設定ステップ1】
 
スタートメニューからApacheの定義ファイルを編集します。





 Edit the Apache httpd.conf Configuration Fileを選択するとメモ帳が起動され、httpd.confファイルが開きます。












 

【設定ステップ2】
 導入したパソコンのIPアドレスを記入します。私の場合は自宅のルーターによってインターネットからのHTTPプロトコルは黄色のIPアドレス及びポートにマップされています。
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 192.168.105.2:80
【設定ステップ3】
 サーバー管理者のメールアドレスを記入します。大抵の場合は既にインストール時に設定されているものと思います。
 
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin info@neo-tech-lab.com
 
【設定ステップ4】
 サーバー名称を記入します。大抵の場合は既にインストール時に設定されているものと思います。







 
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
ServerName neotechlab.or.tp:80
【設定ステップ5】
 クライアントから供給されるホスト名とポートを使用する設定にします。


 
# UseCanonicalName: Determines how Apache constructs self-referencing
# URLs and the SERVER_NAME and SERVER_PORT variables.
# When set "Off", Apache will use the Hostname and Port supplied
# by the client. When set "On", Apache will use the value of the
# ServerName directive.
#
UseCanonicalName Off
【設定ステップ6】
 htmlで記述されたドキュメントを置くディレクトリを記述します。デフォルト設定ではApche内のhtdocsに設定されています。




 
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
DocumentRoot "C:/MyDoc/NeoTechLab/20060101"
# This should be changed to whatever you set DocumentRoot to.
#
#<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
<Directory "C:/MyDoc/NeoTechLab/20060101">
【設定ステップ7】
 WindowsXPでユーザーアカウントが複数ある場合に~user要求で個別のディレクトリにアクセスを割り振る場合の指定を行う。

 
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Be especially careful to use
# proper, forward slashes here. On Windows NT, "Personal/My Website"
# is a more appropriate choice.
#
#UserDir "My Documents/My Website"
UserDir "C:/MyDoc/NeoTechLab/20060101"
【設定ステップ8】
 ドメイン名だけでアクセスされた場合(例:http://www.neo-tech-lab.com)でもindex.htmを開くように設定を行う。


 
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents. The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.htm index.htm.var
【設定ステップ9】
 アクセス記録をIPアドレスで残すか(Off時)、ホスト名で残すか(On時)の設定を行う。
 このログはアクセス解析等で使うことができます。ページごとに固有名称の(例えばページ番号アイコン等のgif形式画像ファイルを貼り付けておくと解析ソフトウェアを作る場合に便利です。)
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off
【設定ステップ10】
 1) httpd.confファイルを上書き保存します。
  2) Apacheを一旦停止(Stop)します。
    
 3) Apacheを再度開始(Start)します。
    

3.Apacheの動作確認を行う
  設定がうまく完了し、Apacheが動作しているか否かを確認しましょう。
 1) httpd.confファイルで設定したディレクトリにindex.htmと名付けたHTMLで記述されたドキュメントファイルを置きます。
 2) Internet Explorerを立ち上げます。
 3) Internet Explorerのアドレスバーにhttp://の後に設定ステップ2で指定したIPアドレスを続けて入力します。
  例では http://192.168.105.2 です。エンターしてindex.htmの内容が表示されればOkです。
    

4.bmp形式ファイルを変更する方法
 htmlドキュメントにはbmp形式ファイルを画像として貼り付けることができます。HTTPサーバー(Apache)をインストールしているパソコン上で別のアプリケーション・ソフトウェアを動作させておき、そのアプリケーションから定期的にApacheがサービスを行っているディレクトリ内にあるbmp形式ファイルを書き換え更新するようにすれば、インターネット上から見て定期的に内容が変化する画像を表示することが可能になります。
【例1】
 右の例では、HTTPサーバー(Apache)が稼働しているパソコン上で1000ミリ秒毎に現在時刻をPicture1にプリントしてLocalTime.BMPという画像ファイルを作成しています。
 このLocalTime.BMPを貼り付けているHTMLファイルがあるとリロードするたびに時刻が変化するようにできます。
 BMP形式ファイルを計測データに対応させて書き換えればグラフ等のデータをブラウザで閲覧することが可能になります。




 


Private Sub Form_Load()
   Picture1.FontSize = 26
   Picture1.AutoRedraw = True
   Timer1.Interval = 1000
   Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
   Picture1.Cls
   Picture1.Print Time$
   SavePicture Picture1.Image, "C:\MyDoc\NeoTechLab\20060101\Apache.files\LocalTime.BMP"
End Sub
表示例: 

5.タグに着目してhtm形式ファイルを変更する方法
 上記項目4と同様の方法で定期的にHTMLファイルの一部領域を書き換える処理をアプリケーション・ソフトウェアにより実行すれば、計測データ等をブラウザで閲覧することが可能になります。

6.その他の方法
 その他の方法としては、Visual Basicのインターネットトランスファ(Inet)コントロールを用いてHTTPプロトコルのGETコマンドをクライアント側からサーバー側に送信してデータをテキスト形式あるいはバイナリ形式で受け取る方法があります。下記例はInetコントロールのOpenURLメソッドを使っています。
 
【実施例】
 クライアント側アプリケーションの例です。インターネットトランスファ(Inet)コントロールを使う方法の例です。

 
Private s() As Byte   ' 配列s()をByte型で定義する

  s() = Inet1.OpenURL("http://192.168.105.3/LocalTime.bmp ", 1) ' 指定ファイルをバイナリ形式で読み取り格納
   Open "C:\MyDoc\NeoTechLab\20060101\TempPic.bmp" For Binary Access Write As #1
      Put #1, , s()
   Close #1
   Picture2.Picture = LoadPicture("C:\MyDoc\NeoTechLab\20060101\TempPic.bmp") ' Pictureボックスに表示

アクセスキーワード:このページではApacheをWindowsパソコン にインストールして稼働させ、計測データをグラフィック表示させる方法について紹介しています。(NeoTechLab 私設研究所Neo−Tech-Lab.com 上田智章)