LoginSignup
0
0

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-07-04

はじめに

↓過去に書いた記事のアップデートです。

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

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

IISの有効化

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

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

image.png

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

image.png

OKを押してしばらく待つとIISが有効化される。

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

image.png

IISが立ち上がってることが確認できた。
(デフォルトサイトは80番ポートで構成されるので、他のアプリとかが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

Windowsキー+Rキーで起動できる「ファイル名を指定して実行」にinetmgrと入力して起動すると簡単。

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

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

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

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

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

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

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

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

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

{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png


最新バージョンでは試してないですがWindows Serverでも「役割と機能の追加」から同じような手順で実行環境を用意できます。

0
0
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
0
0