IIS ISAPI 32bit/64bit でハマった

新しいWindowsはほとんど64bitだから32bit時代のISAPI向けDLLをIISで動かそうというときはアプリケーションプールの詳細設定で32bit対応をtrueにしないといけないよ!
という話。

Windows Server 2003の緊急リプレースに呼ばれ、当然OSだけじゃなくて乗っているソフトウェアも移行せねばならず、とっくに各種ソフトのサポートも切れており、しかもカスタムされたソフトウェアなのでメンテナンス向けマニュアル類が貧弱な環境。とりあえず元サーバーのファイル構成から見よう見まねで組み上がり…ました!

が、IISの部分だけどうしても動かない。
dllをISAPIでハンドリングさせてやれば良いはずなのだが…
最初は403エラー、権限の設定で実行が入っていないためだとわかったが、実行に入れてやると500エラー。しかもdll本来のエラーメッセージではないのでIISからISAPIでハンドリングする部分がおかしいようだ。ここでハマり。

アプリケーションプールを.NET 2.0で作成、その後IIS管理ツールの右側にある「詳細設定」から「32 ビットアプリケーションの有効化」をtrueに…
あっさり動いた。こんな項目があること自体が頭から抜けてたわ…

ということで、業務系システムはメンテナンスできるところを確保しながら延命するか、延命できないなら次のシステムに乗り換えるか考えないといけません。元の開発会社だって当時のメンバーがもういないので無理ですってパターンもありますからね。
大手企業だったらそのへん大丈夫でしょうけど、中小企業はどうしたってカスタマイズから頼むとなると中小ベンダや個人事業主に頼らざるを得ない。

伝説の「小川マシンエレクトロ」さんじゃないですが、いざというときの選択肢として、ソフトウェア会社以外の、横断的知識を持った、ハッカー的な人材、能力者がほしいですね…
いや、ウチに頼んでくれてもいいんですけども。

L字USBケーブルは慎重に選ぼうね

私、現在、モバイルPCはSurface3からHP Elite x2 1012 G2に乗り換えまして、
それでも相変わらずHHKB BTと組み合わせて使っています。


HHKB BTは単三乾電池2本で動きますが、別途micro USBケーブルで給電もできます。
腰を落ち着けて作業するときにはスリープにならない便利さがあるので給電します。
が、手持ちのmicro USBケーブルだと出っ張って邪魔。

そこで、端子がL字に曲がっているケーブルを導入。micro側が両面挿し可能なので右でも左でも取り回せる。
で、色が赤いのがいいな!ということで、USB-Aの側もL字のものを選んでみました。

なかなかいい感じです!が!

ヘッドホン端子と干渉する…しまったー

というわけで、再度USB-A側がストレートのものを購入。
色が青かったからパスしたんだよなー…でも仕方ない。

さらに言うと、実は上のケーブルを買う前に、USB-A側が逆L字のものを買ってしまい、USB type-C(ACアダプタ)側と干渉して全く使えなかったという…w

はい、きちんと収まりました。
色はあんまり気にならないですね。


最後の青いやつ。USB-A側がストレート。


最初の赤いやつ。USB-A側がL字。


今回写真を撮ってないやつ。USB-A側がL字(上のとは逆)。

sambaでグループが見つかりません

sambaにアクセスしようとしたらグループが見つかりませんと言われる。
サーバー側でログを見ると「NT_STATUS_NO_SUCH_GROUP」ですって。
samba groupも存在してるしunix groupも存在してる。

ググるとmsdfsが原因だとか書かれていたが、関係なかった。

Error While Trying To Connect To Samba Share: NT_STATUS_NO_SUCH_GROUP

force groupに指定している名前が
samba groupとunix groupで同一名だとうまく動かないみたい。

force group = "Unix Group\hogegroup"

と Unix Group\ をつけてやるときちんと動いた。

上記例はSUSE Linuxだったが、CentOS7でも同様でした。

Windows10で旧Poderosaが動かない?

SSHできるターミナルソフトといえば!
TeraTermでもPuTTYでもあるいはcygwinを使うでもいいのですが、
私はPoderosaを使っております。

で、PoderosaはVer.5になってガラっと変わってしまいまして、
Poderosa Terminal – プロフェッショナルのためのSSHクライアント
それはそれでかっこよかったり遊び心があったりして良いのですが、
いかんせんキーボードショートカットが全然使えないっぽいので、4.4.2を使うわけです。

Poderosa download | SourceForge.net

早速ダウンロードして解凍して使おうとすると
「アセンブリ (path)Granados.dll をロードできませんでした」
といったメッセージがやたらと表示され、起動できません。

.NET Frameworkがないのかな?と思いましたが、4.4.2は.NET Framework 4.0系のはずなので、
Windows10でも普通に使えるはず。

じゃぁ何が悪いかというと、セキュリティの関係でございました。
ダウンロードしてきて解凍するタイプのソフトはこうなっていくようです?

Poderosaのzipファイルを右クリックしてプロパティを開き、
「セキュリティ: このファイルは他のコンピューターから取得したものです。
このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」
の右の「許可する」をチェックしてOK。

その後解凍して使えばOKです。

Windowsも相当セキュリティに気を遣うようになったんですねー?と感心。


参考:
Node.js – Win10でpoderosaのインストールができない(66864)|teratail

ファイルの大量削除@さくら

「WPにファイルがアップロードできないんです」
「WPのアップデートもできないんです」
「WPの動作がおかしいんです」
さくらのレンタルサーバーをご利用で、長期にわたってほっとかれたサイト。
容量限界まではずいぶん余裕がある。
SFTPで適当なファイルをアップロードしようとしてもエラー。
要は新規ファイルが作れないようです。

一旦バックアップのために全部ダウンロードしようとしたら、
ファイル数が膨大すぎて無理な感じ!
キャッシュ系プラグインの吐き出した細かいファイルですねこれ。

とりあえずキャッシュプラグインを止めます。

FTPからの削除も途中で止まっちゃうので困ってしまいましたが、
なんと、さくらのレンタルサーバーはSSHでシェルに入れる!
やったー

ということで入ってみてquotaを見てみると、
確かに300万ファイルの制限が。
ちょとはSFTPで削除できていたので299万+のファイルが残っています。

% rm -rf hoge
さくらのレンタルサーバーでは実行時間が長いプログラムはKillされます。
すばらしい気遣いです。
見てたら55分ぐらいでkillされてました。

いちいち見てられないのでバックグラウンド実行
% rm -rf hoge &
これでログアウトしてもよさげです。

% quota
Disk quotas for user XXXXXXXX (uid XXXX):
Filesystem usage quota limit grace files quota limit grace
/var 4 1048576 1048576 169 100000 100000
/home 15444260 104857600 104857600 1353006 3000000 3000000

何度か実行して削除完了できそうです。

参考にさせていただきました

SSH について – さくらのサポート情報

大量・巨大なファイル操作を低負荷で行う方法 – How old are you?