2010年5月

2010年5月14日 (金)

SharePoint 2007, 2010 を適切にインストールしていても、イベントログに「イベント ID 10016 」という DCOM に関するエラーが頻繁に表示されるようになることがあります。このエラーログは SharePoint 環境ではよく知られたログです。このエラーにより具体的に不具合が確認できるわけではないのですが、エラーログが大量に生成されるのは好ましいことでありません。そこで修正が必要になってきます。

エラーログの内容

記録されるエラーログは次の図のような内容です。図は Windows Server 2008 R2 に SharePoint Server 2010 をインストールしている環境のものです( SharePoint Server 2007 でも同様のエラーが記録されます) が、イベントログの内容は、「CLSID {61738644-F196-11D0-9953-00C04FD919C1} のCOMサーバーアプリケーションに対するローカルアクティブ化のアクセス許可を SharePoint Web アプリケーションに割り当てているアプリケーション プールIDアカウント (example\apppool) に与えられない」というものです。

DCOM-Error-02

エラーログの原因コンポーネントを探る

ログの内容では CLSID  {61738644-F196-11D0-9953-00C04FD919C1} に関してエラーがでています。このCLSID を持つコンポーネントは、regedit.exe を起動しレジストリーを検索するとすぐに見つかります。問題のコンポーネントは"IIS WAMREG admin Service" です。

DCOM-Error-03

解決方法

上記の方法で問題のコンポーネントが特定できました。あとは、このコンポーネントについて "example\apppool" アカウントにローカル アクティブ化権限を付与してやればよいということになります。※Windows Server 2008 R2 の場合は追加の手順が必要です。記事の最後に記載しています

  1. 管理ツールから "コンポーネント サービス" を起動するか、もしくはdcomcnfg.exe を直接実行します
  2. [コンピュータ] - [マイ コンピュータ] - [DCOM の構成] の順に展開します
  3. " IIS WAMREG admin Service" を右クリックし、[プロパティ] をクリックします
  4. セキュリティ タブをクリックします
  5. "起動とアクティブ化のアクセス許可" セクションにある [編集] ボタンをクリックします
    DCOM-Error-04 
  6. アプリケーション プール ID アカウント ( 私の環境では Example\appPool ) を追加し、"ローカルからの起動" および "ローカルからのアクティブ化" の2つのアクセス許可をオンしにます
    DCOM-Error-05
  7. [OK] をクリックします
  8. [OK] をクリックします

 Windows Server 2008 R2 の場合の解決方法

Windows Server 2008 R2 では既定では上記のように "IIS WAMREG admin Service" のプロパティを編集できないので注意してください。上記のようなDCOM の設定変更を行うにはレジストリー設定を変更する必要があります(レジストリー変更は自己責任で行ってください)。Windows Server 2008 R2 で DCOM コンポーネントの編集ができないのは、当該コンポーネントのレジストリに対する編集権限がAdministrators アカウントであっても与えられていないためです(かつ、所有者が "Trusted Installer" になっています)。従って、レジストリエントリーのアクセス権限を変更してから、DCOM の設定を変更します。

  1. レジストリ エディター (regedit.exe) を起動します
  2. 次のエントリーにアクセスします。
    HKEY_CLASSES_ROOT\AppID\{61738644-F196-11D0-9953-00C04FD919C1}
  3. このキーを右クリックして、[アクセス許可] をクリックします
    DCOM-Error-06
  4. [詳細設定] ボタンをクリックします
  5. [所有者]タブをクリックします
  6. 現在の所有者が "TrustedInstaller" となっているので、所有者をローカルのAdministrators のメンバーに変更するためにAdministrators を選択し、[OK] をクリックします。
    DCOM-Error-07
  7. Administrators に対してフルコントロール権限を割り当てます
    DCOM-Error-08
  8. [OK] をクリックします

上記の手順が済んだら再び、コンポーネント サービスの管理コンソールを起動し、"IIS WAMREG admin service" のアクセス権限設定を行います。

[参考] http://www.wictorwilen.se/Post/Fix-the-SharePoint-DCOM-10016-error-on-Windows-Server-2008-R2.aspx

2010年5月12日 (水)

これから SharePoint 2010 に携わる方にとっての必須ツールは SharePoint Designer 2010 です (先日の記事にも書いたように、既にWebからダウンロード可能です)。以前の SharePoint Designer 2007 と比較すると非常に安定しており、機能も充実しています。SharePoint 2010 関連の無償セミナーでも何度か取り上げましたが、セミナーもひと段落しましたので、押さえておきたいポイントを整理しておきます。

SharePoint Designer 2010 のポイント

  • 無償提供される
  • SharePoint Server 2010 / Windows SharePoint Foundation に対してしか利用できない
  • SharePoint 2010 の管理メニューに統合された
  • 管理機能が以前より充実している
  • 開発機能が以前より充実している
  • SharePoint 2010 では SharePoint Designer 2010 で利用できる機能を制限することも可能

無償提供される

SharePoint Designer 2010 は、SharePoint Designer 2007と同様に無償でWebからダウンロードして利用できます。ただし、これまでと異なるのは32bit版と64bit版の2種類があることです。SharePoint Designer 2010 は Office 2010 のラインナップの一つであるため、Office 2010 と関連があるので注意しましょう。つまり、環境に Office 2010 の 32bit 版をインストールしたら SharePoint Designer 2010 も 32bit版をインストールします(ここに64bit版をインストールしようとするとエラーが表示されインストールできません)。Office 2010 の 64bit 版をインストールしたら、SharePoint Designer 2010 も64bit 版をインストールできます。

SharePoint Server 2010 / Windows SharePoint Foundation に対してしか利用できない

最初の注意点はSharePoint Designer 2010 は、SharePoint Server 2007 および WSS 3.0 以前の SharePoint には対応していないということです。SharePoint Designer 2010 はSharePoint Designer 2007 よりも操作感もよいので SharePoint Server 2007 でも利用したいとお考えの方もいらっしゃるでしょうが、残念ながらそれはできません。また、 本格的なSharePoint 専用のソフトウェアとなっているため、単純なページ作成であっても SharePoint 2010 サイトにアクセスしてからでないと利用できないようになっています(SharePoint Designer 2007 は SharePoint サイトにアクセスしなくてもHTMLの編集などが可能です)。SharePoint Designer Team プログに公開されている内容を意訳すると「苦渋の選択だったが、SP2010にターゲットを絞ったことで、製品の品質向上に注力できた」ということのようです。確かに、操作してみるとSPD 2007にあった「もっさり感」はなくなり、軽快に動作してくれますのでそれはそれでよい結果になっているのではないかと思います。

ちなみに、SharePointを利用しないWebページ(HTMLなど) の作成や編集は、Microsoft 製品だとMicrosoft Expression Web を利用するのがよいでしょうね。

『補足 : SharePoint Designer と Expression Web』

ご存じない方のために補足すると、Office 2003 にて提供されていた "FrontPage 2003" が SharePoint Designer の前身となる製品です。ただし、FrontPage 2003 の後継バージョンは、SharePoint Designer 2007とExpression Webに分かれます。SharePointに特化したWebオーサリングツールが、SharePoint Designer 2007であり、一般的な Web ページの作成などに利用するのが Expression Webであり有償の製品です。


他のポイントはまた次回の記事へ続きます。。。(近日公開予定)

2010年5月10日 (月)

SharePoint Server 2007 および 2010 で、カスタム設定したホストヘッダーを使ってWebアプリケーションを構築することがあります。ホストヘッダーを使用するとき、Windows Server 2003 SP1 以降、Windows Server 2008 を利用している場合はレジストリーを変更する必要があるケースがあります。特に、開発環境を構築する際には注意しましょう。

レジストリの編集が必要なケース

Windows Server 2003 SP1 以降では、コンピューターに対する反射攻撃 (Reflection Attack) を防止できるように設計された "ループバック チェックのセキュリティ機能" が搭載されます。この機能は Windows Server 2008 にも搭載されています。たとえば、ホストヘッダー名がローカルコンピュータ名と一致しない場合に、このセキュリティ機能によりサイトにアクセスできなくなります。

Windows Server 2008 R2 上に SharePoint Server 2010 をインストールしている私の環境の場合は、ログインのプロンプトが表示され、正しいアカウント名とパスワードを何度入力しても、プロンプトが表示され続け、最後は空白のページが表示され結果的にアクセスできませんでした。また、イベントログにはセキュリティログに失敗の監査ログとして "イベントID 4625, Microsoft Windows security auditing" およびシステム ログに警告ログとして "イベント ID 6037, ソース LsaSrv" が記録されました。

ただし、サイトアクセスができないという現象は、ループバックチェックであるためあくまでローカルサーバーからのアクセスの場合にのみ発生し、リモートからのアクセスの場合は問題なく利用できます。

対応策

対応策としては レジストリを編集することになり、"ループバックチェックを無効にする" もしくは "ループバック アドレスに割り当てられていて、コンピューター上の Web サイトに接続できるホスト名を指定する" のいずれかの方法をとる必要があります。詳細については次のサポート技術文書を参考にしてください。

http://support.microsoft.com/kb/896861