Iwao myds

dev.mish.work へ移行しました.

この画面は、簡易表示です

IIS

WS2022 IIS 環境に PHP インストール

先日作成した Windows Server 2022 の IIS 環境 に PHP をインストール.
先ず,CGI を追加.
CGI の追加


Web PI のインストール.
Web Platform Installer で PHP 8 のインストール.
PHP 8 のインストール
次の内容の php を開き,うまく動作していることを確認.
<?php phpinfo(); ?>

この投稿は役に立ちましたか? 役に立った 役に立たなかった 1 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


WS2022 ASP ActiveX dll exe の設定

必要に応じてファイアウォールの設定.
ファイアウォールの設定
オートメーションを使用しているのでエラーになる.
500 Internal server error.
サーバ上で確認すると,
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find out more about this error.
「ASP」-「機能を開く」で「ブラウザへのエラー送信」を「True」に
「ASP」-「機能を開く」で「ブラウザへのエラー送信」を「True」に


Server オブジェクト エラー ‘ASP 0177 : 800401f3’
Server.CreateObject に失敗しました
/_LIB_/L_Mainte.asp, 行 33
800401f3
Server オブジェクト エラー 'ASP 0177 : 800401f3' Server.CreateObject に失敗しました /_LIB_/L_Mainte.asp, 行 33 800401f3
エラーは Server.CreateObject を呼んでいる所.
set oFCnt = Server.CreateObject("AsFile.Counter")
AsFile.dll を登録
AsFile.dll を登録
この dll は 32 ビットなので「32 ビット アプリケーションの有効化」.
32 ビット アプリケーションの有効化
次の様な asp を実行してテスト.
<%@ Language=VBScript %>
<% Option Explicit %>
<HTML>
<BODY>
<%
on error resume Next
dim oFCnt : set oFCnt = Server.CreateObject("AsFile.Counter")
dim oImgC : set oImgC = Server.CreateObject("AsImageConverter.Application")
Response.Write "AsFile Count.." & oFCnt.GetVersion & "<br>" & vbCrLf
Response.Write "AsImgC App …" & oImgC.GetVersion & "<br>" & vbCrLf
%>
</BODY>
</HTML>
AsimageConverter は exe でまだ登録していない状態.
CheckAS.asp  AsFile
「管理者」として起動したコマンドプロンプトで,AsImgCnv.exe を登録.
AsImgCnv.exe を「管理者」として実行して登録.
「コンポーネント サービス」で,IUSR が起動できるように設定.
32 ビット exe は,そのままの comexp.msc の起動では表示されない.
「 %windir%\system32\comexp.msc /32 」の様に /32 のオプションの指定が必要.
「セキュリティ」タブ-「起動と…」-「カスタマイズ」-「編集」.
「IUSR」を追加して「ローカルからのアクティブ化」にチェック.
「IUSR」を追加して「ローカルからのアクティブ化」にチェック
これで 32 ビットのオートメーション dll と exe が起動できるようになる.
オートメーション dll と exe の起動の確認


「ODBC データソース 32 ビット」の設定.
ODBC データソース 32 ビット
設定直後は,次のエラーになることがある?
Provider エラー ‘80004005’
この場合は OS を再起動すればうまく動作する 様になる.


参考にさせてもらったところ.
64bit Windows 環境で 32bit の DCOM コンポーネントを登録しても一覧に表示されない
64bit版Windowsでx32bit版のDCOMが表示されない

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


WS2022 Classic ASP インストール

Windows Server 2022 を VirtualBox 仮想マシンにインストール.
Windows Server 2022 インストール
Windows Server 2022 インストール OS の選択
Windows Server 2022 インストール カスタムを選択
Windows Server 2022 インストール中
Windows Server 2022 インストール完了
特に難しい所はない.


続いて Classic ASP のインストール.
「サーバーマネージャー」で「管理」-「役割と機能の追加」.
「サーバーの役割」で「Web サーバー(IIS)」を選択.
「Web サーバー(IIS)」を選択
「役割サービス」で「ASP」を選択.
「役割サービス」で「ASP」を選択
ASP をインストール.
ASP をインストール


簡単な asp ファイルを作成.
MSDN 2001/10
mk:@MSITStore:C:\Program%20Files%20(x86)\Microsoft%20Visual%20Studio\MSDN\2001OCT\1041\jpiis.chm::/iishelp/iis/htm/asp/iiwabasi.htm


<%@ Language=VBScript %>
<HTML>
<BODY>
This page was last refreshed on <%= Now() %>.
</BODY>
</HTML>
Classic ASP の動作テスト


参考にさせてもらったところ.
Windows Server 2022 にIIS 10.0をインストールし、ASP.NETを有効化
windows server 2016で、classic asp を有効化
Windowsの機能の有効化(Windows Server 2016)
Windows のパスワードの複雑性の要件を無効にする (Windows Server Tips)
繋がらない!Windows10で共有フォルダにアクセスできない時の対処法


次のツールも問題なく動作した.
Win10 用 タイトルバーの色設定


2021/11/08
入っている MFC*.dll .
WS2022 に入っている MFC*.dll
WS2022 に入っている MFC*.dll
WS2022 に入っている MFC*.dll


2021/11/09
共有フォルダにアクセスしようとすると,アクセスできない.
[Window Title]
ネットワーク エラー
[Main Instruction]
\\WS2022 にアクセスできません
[Content]
名前のスペルを確認しても問題がない場合は、ネットワークに問題がある可能性があります。ネットワークの問題を識別して解決するには、[診断] をクリックします。
[^] 詳細を非表示にします [診断(D)] [キャンセル]
[Expanded Information]
エラー コード: 0x80070035
ネットワーク パスが見つかりません。
エラー コード: 0x80070035 ネットワーク パスが見つかりません。
Win7 環境や Win10 20H2 などからは問題なくアクセスできる.
グループポリシーでゲストログオンを許可する」必要があった.
グループポリシーでゲストログオンを許可する

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 IIS https 化

テスト環境の IIS を https 化しようと思い,いろいろと…


当然であるが「サイトバインドの追加」で「SSL 証明書」がない.
サイトバインドの追加 SSL 証明書
NAS では Let’s Encrypt を使用しているので調べると win-acme などがあるみたい.
そこから入った https://github.com/win-acme/win-acme/releases/ から落としてやってみたが…


管理者でコマンドプロンプトを起動する必要がある.
wacs 「N」が無効


「N」を選択して進めるがエラー.

C:\Users\Iwao\AppData\Local\Temp<c:\Users\Public\Documents\Tools\win-acme.v2.1.4.710.x64.trimmed\wacs.exe

 A simple Windows ACMEv2 client (WACS)
 Software version 2.1.4.710 (RELEASE, TRIMMED)
 ACME server https://acme-v02.api.letsencrypt.org/
 IIS version 10.0
 Running with administrator credentials
 Scheduled task not configured yet
 Please report issues at https://github.com/PKISharp/win-acme

 N: Create new certificate (simple for IIS)
 M: Create new certificate (full options)
 R: Run scheduled renewals (0 currently due)
 A: Manage renewals (0 total)
 O: More options...
 Q: Quit

 Please choose from the menu: n

 Running in mode: Interactive, Simple
 No sites with host bindings have been configured in IIS. Add one in the IIS Manager or choose the plugin 'Manual input' instead.
 Target plugin IIS aborted or failed

 N: Create new certificate (simple for IIS)
 M: Create new certificate (full options)
 R: Run scheduled renewals (0 currently due)
 A: Manage renewals (0 total)
 O: More options...
 Q: Quit

 Please choose from the menu:


何かの設定が足りないのか?ちょっとわからないので他の方法で…


自己署名証明書でやってみることに.
「IIS 自己署名証明書」で検索
わかりやすかったのがここ.
Windows Server で自己署名 SSL 証明書を作成する手順
「サイトバインドの追加」に「SSL 証明書」が追加されている
LAN 内の他の PC から https で接続
これで https に対応できているかどうかのテストはできるので,今回はここまで.


いつも設定場所を忘れるので…


Microsoft VBScript 実行時エラー エラー ‘800a01ad’
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_Mainte.asp, 行 33
Microsoft VBScript 実行時エラー エラー '800a01ad'
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」を「True」に.
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」



http://mish.work/joomla/index.php/various/iis.html

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 6

ASP の処理に時間がかかっていると,

Active Server Pages エラー 'ASP 0113'
スクリプトがタイムアウトしました
/Test/ASP/umpc/mbSearch/MBxSrchR.asp
スクリプトを実行する時間の制限を超えました。この制限時間は、プロパティ Server.ScriptTimeout に新しい値を指定するか、IIS 管理ツールの値を変更することによって変更できます。

管理ツールでの設定は「サイトを選択」-「ASP」-「右クリック」-「機能を開く」.
「サイトを選択」-「ASP」-「右クリック」-「機能を開く」
「動作」-「制限プロパティ」-「スクリプトのタイムアウト」の値を変更 する.
「動作」-「制限プロパティ」-「スクリプトのタイムアウト」

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 5

DB の場所が変わって「ODBC データ ソース アドミニストレーター」で正しく指定.
動作を確認していると,

Provider エラー '80004005'
エラーを特定できません
/_LIB_/L_LogAcc.asp, 行 224

Win10 IIS Provider エラー '80004005' エラーを特定できません
ADODB.recordset の Open でエラー
サイトの再起動を試したが変わらず.
OS を再起動することでうまく通るようになった.


他にもチェックしていると,

HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー情報の詳細:
モジュール CustomErrorModule
通知 SendResponse
ハンドラー ASPClassic
エラー コード 0x800700b7
構成エラー 一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
構成ファイル \\?\C:\Users\Public\Documents\web\Test\web.config
要求された URL http://localhost:80/Test/ASP/Default.asp
物理パス C:\Users\Public\Documents\web\Test\ASP\Default.asp
ログオン方法 匿名
ログオン ユーザー 匿名
構成ソース:
5: <staticContent>
6: <mimeMap fileExtension=".imo" mimeType="text/imo" />
7: </staticContent>
詳細情報:
このエラーは、Web サーバーまたは Web アプリケーションの構成ファイルの読み取りに問題があるときに発生します。エラーの原因に関する情報が、イベント ログに記録されている場合があります。
詳細情報の表示 »

HTTP エラー 500.19 - Internal Server Error   ページに関連する構成データが無効であるため、要求されたページにアクセスできません。   ハンドラー ASPClassic   エラー コード 0x800700b7
MINE の設定を外して実行すると,

Microsoft VBScript 実行時エラー エラー '800a01ad'
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_LstDir.asp, 行 14

Microsoft VBScript 実行時エラー エラー '800a01ad' ActiveX コンポーネントはオブジェクトを作成できません。
コードの部分を見ると,
set oFSys = Server.CreateObject(“AsFile.FileSys”)
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」を「True」に.
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」


他にも,

HTTP エラー 500.19 - Internal Server Error
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。
エラー情報の詳細:
モジュール	   CustomErrorModule
通知	   SendResponse
ハンドラー	   StaticFile
エラー コード	   0x800700b7
構成エラー	   一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
構成ファイル	   \\?\C:\Users\Public\Documents\web\Test\web.config
要求された URL	   http://localhost:80/Test/iisstart.png
物理パス	   C:\Users\Public\Documents\web\Test\iisstart.png
ログオン方法	   匿名
ログオン ユーザー	   匿名
構成ソース:
   17:         <staticContent>
   18:             <mimeMap fileExtension=".imo" mimeType="text/imo" />
   19:         </staticContent>
詳細情報:
このエラーは、Web サーバーまたは Web アプリケーションの構成ファイルの読み取りに問題があるときに発生します。エラーの原因に関する情報が、イベント ログに記録されている場合があります。
詳細情報の表示 »

MIME の設定がダブっているとうまくない様で,下位の方を削除しようとすると

---------------------------
MIME の種類
---------------------------
この操作の実行中にエラーが発生しました。
詳細: 
ファイル名: \\?\C:\Users\Public\Documents\web\Test\web.config
行番号: 18
エラー: 一意のキー属性 'fileExtension' が '.imo'に設定されている種類 'mimeMap' の重複コレクション エントリを追加できません
---------------------------
OK   
---------------------------

MIME の種類   この操作の実行中にエラーが発生しました。
上位の方から順に削除して対応.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


ポートを指定してのアクセス

引き続き IIS 環境へのアクセスを調べているが…
幾つか調べたことのメモ


IIS 部分を PHP から呼び出せないかと思い見つけたのが file_get_contents
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

//www.example.com/ はちゃんと表示できるが,他のサイトなどではうまく表示されないことが多い?


auひかりのルータ Aterm BL190HW の設定を幾つか調べたが,特に影響しているものはなさそう.
ASUS RT-AC86U の設定でいろいろ見ていたら「ポートフォワーディング」が気になった.
試しに DS115j に接続する設定を追加したら,うまく動作する.
外部ポート 8000  内部ポート 80  内部 IP アドレスを 192.168.1.115 に.
http://iwao.synology.me:8000/ でアクセスできる.
RT-AC86U ポートフォワーディングの設定
同様に Win10 IIS も設定したがうまく接続できない.こうなると Win10 の設定か?


Win10 の設定を見直していたら IPv4 の設定の「デフォルトゲートウェイ」がブランクになっていた.
Win10 IIS IPv4 「デフォルトゲートウェイ」の設定
これを正しく設定したらうまく接続できるようになった.
http://iwao.synology.me:8080/

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


IPv6 でのアクセス

テスト用に IIS 環境へ接続できないかと…
LAN 内であれば次の様な指定で可能.
//192.168.1.80:8080/
//win10-ltsc:8080/


ASUS RT-AC86U を追加前は BL190HW のポートマッピング設定で設定していた.
LAN 側ホスト 192.168.0.80  プロトコル TCP  ポート番号 8080
2 重ルータにする前のポートマッピング設定


IPv6 ならそれぞれが指定できると思い試すことに…
指定方法は次のページにあった.
URLで IPv6 のIPアドレスを指定して接続する

DS115j http://[240f:33:c6c7:1:211:32ff:fe5f:e655]/
Win10  http://[240f:33:c6c7:1:241f:8b43:86b9:28de]:8080/
Win 7  http://[240f:33:c6c7:1:855d:191e:86aa:6fc3]/


LAN 内であれば意図した動作になりアクセスできる.
どこかの設定が足りないみたいで WAN からはアクセスできていない.


2020/04/22 追加

DevX    http://[240f:33:c6c7:1:81c7:3574:8836:64f6]/

2022/02/20
この時やりたかったことの,仮想ホスト機能などを使った設定.
NAS の仮想ホストの設定
仮想ホストの設定 ポート


2022/04/07
リバースプロキシ

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 4

ここでは Windows 10 環境に Classic ASP をインストールする手順を記述しています.
Windows Server 2022 へのインストールは次の所にあります.
WS2022 Classic ASP インストール
WS2022 ASP ActiveX dll exe の設定


Classic ASP は IIS 7.0 と IIS 7.5 に既定ではインストールされない
「インターネットインフォメーションサービス」の以下の項目をチェックしてインストール.
1.「Web 管理ツール」-「IIS 6 管理互換」-「IIS メタベースおよび IIS 6 構成との互換性」
2.「World Wide Web サービス」-「アプリケーション開発機能」-「ASP」
Win10 IIS ClassicASP のインストール


そのままではスクリプトのエラーメッセージは表示されない.
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
An error occurred on the server when processing the URL.
Classic ASP スクリプトのエラー メッセージはもはや既定では Web ブラウザーに表示されない
Win10 IIS 「ASP」-「デバッグ プロパティ」-「ブラウザへのエラー送信」
これで localhost には表示されるようになる.
Microsoft VBScript 実行時エラー エラー ‘800a01ad’
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_Mainte.asp, 行 33
Microsoft VBScript 実行時エラー エラー '800a01ad'  ActiveX コンポーネントはオブジェクトを作成できません。
別の PC からアクセスすると,
サーバー エラー
500 – 内部サーバー エラーです。
検索中のリソースに問題があるため、リソースを表示できません。
localhost からのアクセスの様なエラーメッセージを表示する方法はわからなかった.


「ActiveX コンポーネントはオブジェクトを作成できません」エラーは 32 ビット ActiveX.dll が起動できないため.
「アプリケーション プール」-…-「32 ビット アプリケーションの有効化」を「True」に.
Win10 IIS 「アプリケーション プール」-...-「32 ビット アプリケーションの有効化」
ActiveX.dll が登録されていないと,
Server オブジェクト エラー ‘ASP 0177 : 8007007e’
Server.CreateObject に失敗しました
/_LIB_/L_Mainte.asp, 行 33
登録するには管理者として実行」した「コマンドプロンプト」などで
RegSvr32 ActiveX.dll
ActiveX.exe は IUSER で起動できるように設定する必要がある.
ActiveX.exe を IUSER で起動できるように設定

http://mish.work/joomla/various/iis.html

この投稿は役に立ちましたか? 役に立った 役に立たなかった 1 人中 1 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


Win10 に IIS と PHP – 3

どこかに設定があるのかもしれないが,
PHP でのエラーなどのログファイル.
場所は c:\Windows\Temp\ .
Win10 IIS PHP のログファイル
今回テストした PHP のコード

<?php
	$tempfile =             $_FILES['fname']['tmp_name'];
	$filename = './data/' . $_FILES['fname']['name'] ;
	$up_status = false ;
	if (is_uploaded_file($tempfile)) {
		$up_status = move_uploaded_file($tempfile , $filename) ;
		}
	$link	= "" ;
	if ($up_status) {
		$p_info = pathinfo($filename) ;
		$pi_ext = $p_info['extension'] ;
		$bmp_name = $filename . ".bmp" ;
		$to_bmp = FALSE ;
		if  	($pi_ext == "png")  {	$img = imagecreatefrompng ($filename) ;   $to_bmp = imagebmp($img,$bmp_name) ;	}
		else if	($pi_ext == "jpg")  {	$img = imagecreatefromjpeg($filename) ;   $to_bmp = imagebmp($img,$bmp_name) ;	}
		else if ($pi_ext == "bmp")  {	$bmp_name = $filename ;                   $to_bmp = TRUE ;                 	}
		if ($to_bmp) {
			$cmd_to	= ("rsz_bmp.exe") . " " . $bmp_name ;
			exec	($cmd_to,$out,$ret) ;
			}
		if ($ret == 0) {
			$rsz_file = $out[count($out)-1] ;
			$bak_file = $filename . ".bak." . $pi_ext ;
			rename($filename,$bak_file) ;
			$rsz_name = pathinfo($rsz_file)['basename'] ;
			$file_rsz = $p_info['dirname'] . "/" . $rsz_name ;
			rename($rsz_file,$file_rsz) ;
			if    	($pi_ext == "png")  {	$img_bmp = imagecreatefrombmp($file_rsz) ;   imagepng ($img_bmp,$filename) ;	}
			else if	($pi_ext == "jpg")  {	$img_bmp = imagecreatefrombmp($file_rsz) ;   imagejpeg($img_bmp,$filename) ;	}
			else if ($pi_ext == "bmp")  {	copy($file_rsz,$filename) ;                                             	}
			if (!file_exists($filename)) {
				$filename = $file_rsz ;
				}
			}
		if (file_exists($filename)) {
			$link .= "<hr/>" ;
			$link .= "<a href='" ;
			$link .= $filename ;
			$link .= "'>" ;
			$link .= $filename ;
			$link .= "</a>" ;
			$link .= "<br/>" ;
			$link .= "<img src='" ;
			$link .= $filename ;
			$link .= "'>" ;
			}
		}
	?>

rsz_bmp.exe で画像ファイルを 2^n にリサイズし,その結果のファイル名を標準出力に出力する.
画像を出力する imagebmp などはあまり速くない.
同様の PHP を Synology NAS 上で.
https://itl.mydns.jp/…/tex_pow2.php
PHP のコードが悪いのか? Synology NAS では DIB から元の画像に戻すのがうまくいかない.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。