IIS.net : Learn IIS7: Using FastCGI to Host PHP Applications on IIS 7.0: Running PHP Applications: Hosting Applications on IIS 7.0: Developing on IIS 7.0
IIS7.0にはFastCGIがビルトインされている。IISのFastCGIを使用してPHPアプリケーションを動作させるチュートリアル。
Windows Vistaで、「プログラムと機能」でCGIをチェックしていても、モジュールにFastCGIModuleが組み込まれていなかった。いったんCGIのチェックを外して更新してから、再度CGIにチェックを入れると、FastCGIがモジュール一覧に入った。CGIを有効にした状態でSP1を適用したからかもしれない。
.NETでSQLiteを使う
Textmateでインデント
option + tab または コマンド + [ インデント
option + shift + tab または コマンド + ] インデント解除
rails2の、authenticity_token出力をとめる
rails2の、authenticity_token出力をとめる
rails2から導入されたauthenticity_tokenによるCSRF対策を無効にする方法。
この検証に失敗した場合、以下の例外が発生する。
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)
特定のアクションでauthenticity_tokenの出力、検証を無効にする。
class TestController < ApplicationController
protect_from_forgery :except => [:hello]
def hello
self.allow_forgery_protection = false
end
end
コントローラのアクションすべてでauthenticity_tokenの出力、検証を無効にする。
class ApplicationController < ActionController::Base #protect_from_forgery # See ActionController::RequestForgeryProtection for details self.allow_forgery_protection = false end
VNCサーバのインストールと設定
インストール
# yum install vnc-server
サービスの自動起動設定
# chkconfig vncserver on
VNCサーバの設定
/etc/sysconfig/vncservers
VNCSERVERS="1:user1 2:user2" VNCSERVERARGS[1]="-geometry 800x600 -depth 16" VNCSERVERARGS[2]="-geometry 800x600 -depth 16"
VNCパスワードの設定
/etc/sysconfig/vncserversで設定したユーザでログインして、vncpasswdでパスワードを設定する。
各ユーザのホームディレクトリ下の.vnc/xsartupを編集
コメントを2か所外す。
# Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc
ファイアウォールの設定
VNCプロトコルは、5900 + 「ディスプレイ番号」のポートを使用する。
例えば、ディスプレイ番号が1の場合は、5901:tcpを開いておく
VNCサーバを起動する
サービスで起動
# service vncserver start
vncserverコマンドで起動(:1はディスプレイ番号)
# vncserver :1
vncserverコマンドで停止
# vncserver -kill :1
ASP.NETでアセンブリをBin以外に配置する
Entity Framework に関する Q&A
重いSQLの見つけ方
Xdebugのフロントエンド「Webgrind」
SQLServer モードのセッション状態のサポート
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exeでSQL Serverにセッション状態サポートの追加削除ができる。
たとえば、以下のように実行。
追加
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -S localhost -E -ssadd -sstype p
削除
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -S localhost -E -ssremove
その他詳細はヘルプを見る。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe /?
SQL Server に ASP.NET 機能をインストールおよびアンインストールするための管理ユー
ティリティです。
Copyright (C) Microsoft Corporation. All rights reserved.
-- 一般的なオプション --
-? このヘルプ テキストを表示します。
-W ウィザード モードです。(別のパラメータが指定されていない
場合の既定値です。)
-- SQL 接続オプション --
-S <サーバー> 操作する SQL Server インスタンス (SQL Server 7.0 以上)
です。
-U <ログイン ID> 認証する SQL Server のユーザー名です。-P オプションが
必要です。
-P <パスワード> 認証するための SQL Server パスワードです。-U オプション
が必要です。
-E 現在の Windows 資格情報で認証します。
-C <接続文字列> 接続文字列です。ユーザー名、パスワード、およびサーバー名
を指定する代わりに、SQL Server
接続文字列を指定
します。文字列は、指定されていない限り、データベース
名を含むことはできません。
-sqlexportonly <ファイル名>
指定された機能を追加または削除するための SQL スクリプト
ファイルを生成しますが、実際の操作は行いません。次のオプ
ションと共に使用することができます:
-A、-R、-ssadd および -ssremove
-- アプリケーション サービス オプション --
-A all|m|r|p|c|w 機能のためのサポートを追加します。複数の値を同時に指定する
ことができます。例:
-A mp
-A m -A p
all: すべての機能です。
m: メンバシップ
r: ロール マネージャ
p: プロファイル
c: パーソナル化
w: SQL Web イベント プロバイダ
-R all|m|r|p|c|w 機能のためのサポートを削除します。複数の値を同時に指定する
ことができます。例:
-R mp
-R m -R p
all : すべての機能、およびそれらの機能によって共有される
すべての共通テーブルとストアド
プロシージャです。
m: メンバシップ
r: ロール マネージャ
p: プロファイル
c: パーソナル化
w: SQL Web イベント プロバイダ
-d <データベース> アプリケーション サービスと共に使用するデータベース名
です。データベース名が指定されない場合、既定のデータベース
"aspnetdb" が使用されます。
-Q 非表示出力モードです。機能を削除するための確認メッセージを
表示しません。
-- SQL キャッシュ依存のオプション (SQL 7.0 および 2000 用) --
-d <データベース> SQL 7.0 および SQL 2000 の SQL キャッシュ依存と共に
使用するデータベース名です。オプションとして、-C オプション
(省略不可能)
と共に接続文字列を使用して、
データベースを指定することができます。
-ed SQL キャッシュ依存のため、データベースを有効にします。
-dd SQL キャッシュ依存のため、データベースを無効にします。
-et SQL キャッシュ依存のため、テーブルを有効にします。
-t オプションが必要です。
-dt SQL キャッシュ依存のため、テーブルを無効にします。
-t オプションが必要です。
-t <テーブル> SQL キャッシュ依存のために有効化または無効化するテーブル
の名前です。-et または -dt
オプションが必要です。
-lt SQL キャッシュ依存のために有効にされたすべてのテーブルを
一覧表示します。
-- セッション状態のオプション --
-ssadd SQLServer モードのセッション状態のサポートを追加します。
-ssremove SQLServer モードのセッション状態のサポートを削除します。
-sstype t|p|c セッション状態サポートの種類:
t: 一時的です。セッション状態データは "tempdb" データベースに
格納されます。セッションを管理するためのストアド プロシージャ
は "ASPState"
データベースにインストールされます。
SQL. (既定値) を再起動した場合、データは持続されません。
p: 持続です。セッション状態とストアド プロシージャの両方を
"ASPState" データベースに格納します。
c: カスタムです。セッション状態データとストアド プロシージャ
の両方をカスタム
データベースに格納します。データベース名を指定しなければ
なりません。
-d <データベース> -sstype が "c" であるときに使用するカスタム
データベース名です。
SQL Serverを使用するセッション状態の構成
<configuration>
<system.web>
<sessionState mode="SQLServer" sqlConnectionString="Server=localhost;Integrated Security=SSPI;" />
</system.web>
</configuration>
接続ログイン(Windows認証の場合はIISのワーカープロセスの実行アカウント)に、ASPStateデータベースのdb_ownerデータベースロールが必要。