LoginSignup
26
23

More than 3 years have passed since last update.

Windows10でClassic ASP(レガシーASP)実行環境を構築する

Last updated at Posted at 2019-04-06

未だに使われるところでは使われているClassic ASP(Active Server Pages)。
VBScriptやJScriptでサーバーサイド処理を記述して、IIS上で動くWebアプリを作ることができる技術です。

2000年以降一度もアップデートされてない枯れた技術ですが、Windows10でも実行環境を整えることができるのでその手順を紹介します。

IISの有効化

IIS(Internet Information Services)はWindowsに標準搭載されているWebサーバ。
ASPはこれじゃないと動かせないので(頑張ればApacheでも動かせるらしい)、まずはIISを有効化する。

コンパネの「プログラムと機能」から「Windows機能の有効化または無効化」を選択。

image.png

「インターネットインフォメーションサービス」をにチェックを入れる。
下層の機能にも勝手にチェックが入るが「ASP」にはチェックが入らないので自分で入れる。

image.png

OKを押す。

image.png

有効化された。

image.png

IISを有効化するとデフォルトのWebサイトが構成されるので、ブラウザで「http://localhost/」にアクセスする。

image.png

IISが立ち上がってることが確認できた。
(他のアプリとかが80番ポート使ってるとうまくいかないかも)

Classic ASPを動かす

デフォルトページの階層が「C:\inetpub\wwwroot\」なので、ここに適当なASPファイルを作る。

index.asp
<html>
<body>
<%
Response.Write "<p>Hello Classic ASP!</p>"
%>
<p><%= Now() %></p>
</body>
</html>

http://localhost/index.asp」にアクセス

image.png

これで最低限のASPの実行環境は整う。

IISの設定

ただし、動かしたいASP Webアプリの構成によってはいくつか追加でIISの設定をしないと動かない場合がある。

IISマネージャーを起動する。

image.png

無題.png

64bit環境で32bitの外部コンポーネント(DLL)を呼び出している場合

Server.CreateObject()のところで、
「Microsoft VBScript 実行時 エラー '800a01ad' ActiveX コンポーネントはオブジェクトを作成できません。」
というエラーがでる。

「アプリケーション プール」を選択しサイトに指定している「アプリケーション プール」を選択。
右クリックから「詳細設定」を開き、32ビットアプリケーションの有効化を「True」にする。

無題.png

32bit環境で動かしている場合は設定の必要はない。

ドキュメントルートより上位の階層のファイルを読み込んでいる場合

デフォルトの設定では、ドキュメントルートより上位階層のディレクトリを参照することができない。
ドキュメントルートより上位階層のインクルードファイルなどを読み込んでいるWebアプリの場合、これを許可する必要がある(セキュリティ的によろしくないので本来は仮想ディレクトリで参照したほうがよい)。

サイトを選択し「ASP」を選択する。
ASPの構成プロパティが表示されるので、その中から「親パスを有効にする」を選び「True」にする。

.png


ちなみに、Windows Server2016でも「役割と機能の追加」から同じ手順で実行環境を用意できます。

まだまだ、長生きしそうですね…。

26
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
23