"SharePoint 2013" にカテゴリー登録されている116 投稿

[SP2013] トラブルシューティング : 突然 SharePoint サイトにアクセスできなくなる

昨日、研修用のデモマシンで突然 SharePoint サイトにアクセス出来なくなるトラブルに遭遇したため、備忘録として、その経緯を記載しておきます。トラブルシューティング方法の流れを確認するには参考になるのではないかと思います。

※とはいえ、これは滅多にないと思いますが。ちょうど先週はサーバー内部のファイル構造などを説明する研修を行っていたので(SharePoint Server 2013 周辺技術の基礎コース) このときデモしながら、なんか、やってしまったかも。

現象と調査過程

サーバー全体管理サイトをはじめ、すべてのSharePointサイトにアクセスできなくなる。しかも、アクセスすると 404 エラーで、サーバーにはアクセスできたが、指定したファイルがないという。

2016-06-21 5-14-34

そこで、何が起きたのか確認しようとまずイベントログを見るが特に問題は上がっていない。そこで、早速問題の切り分けを試みた。

  • ネットワーク設定は正常か
  • IISは正常に稼働しているか
  • SharePoint の DB 側は正常に稼働しているか

ネットワーク設定に問題がない。IISについては、新規に単純なIISサイトを作ってアクセス出来るか確認すると問題がない。アプリケーション プールも正常稼働している。アプリケーション プール IDも変更はない。ということは、SharePoint Web アプリケーションが使っている仮想ディレクトリにはアクセスできるということか? たとえば、<サイトURL>/_layouts/15/Images/spcommon.png などを試すと、アクセスできる。ということはサイトの設定ページにはアクセスできるということ。 <サイトURL>/_layouts/15/settings.aspx などはOK。

では、念のためDB側はどうか。アプリケーション プールIDに対して各SharePoint DBが持つべき権限を確認する。他ファームの正常なサーバーと設定比較しても、これも問題ない。次に、PowerShell から、サイトコレクションやサイトのオブジェクトを取得してみる。これも問題ない。サイトの設定変更など試みる。これも問題なくできる。ということは、SharePoint サーバーのIIS 経由でのアクセスがだめなだけで、SharePoint の本体であるDB側は問題ないよう。念のため、手持ちのSharePoint Server Side Object Model を使って作っているアプリで、サイト内のアイテムなども取得出来るか確認するがこれも問題ない。

イベントビューアにもSharePointに関するクリティカルなエラーは出ていないため、となると、やはり IIS 側が怪しい。IISに関わるローカルグループの設定も確認する。ローカルの IIS_IUSRSグループメンバー、WSS_WPGグループメンバーなど設定は既定のままだ。そこで再び、サイトの設定ページにアクセスする。サイトの権限設定ページをクリックすると、エラーとなった。

2016-06-21 5-18-05

ここで関連付けIDを得られたので、当該する日付のSharePoint の URL ログを確認してみる。先ほど得た 関連付けID を元に一致する Correlation ID を持つログを確認する。どうやら seattle.master を探しに行って見つからなかったといっているようだ(ついでに、SharePoint 2013 だけでなく、過去のサーバーエディションのフォルダーも想定して探しに行っていることがわかって驚いた。15は SharePoint 2013 だが、14は SharePoint 2010 、12は SharePoint 2007, 60は SharePoint Portal Server 2003用のディレクトリ) 。

2016-06-21 5-22-08

このファイルが存在しているか、確認してみたほうがよさそうだ。ということで、 SharePoint ルートディレクトリをたどっていくと、Global フォルダーごとごっそりなくなっていた。これが原因か? ゴースト化されたマスターページが参照出来なかったので、404 エラーとなっていたといこうとでつじつまも合う。

解決

他の正常稼働しているSharePoint ファームのサーバーから Global フォルダーをコピーし、デモ用マシンに再配置。これで、問題なく、どのサイトにもアクセスできるようになった。

ちなみに、今回のトラブルシューティングに関わるような内容を学べるのが、弊社オリジナルの "Microsoft SharePoint Server 2013 と周辺技術の基礎" コースです(ついでに宣伝です)。


Responsive UI Package for SharePoint on-premises について

Microsoft Office Dev Center で先日アナウンスがあったオンプレミスの SharePoint で利用できる Responsive UI Package を試してみました。ちなみに、レスポンシブ Web デザインとは、利用する端末の種類を問わず、Webブラウザーの解像度に合わせて自動的にWebページのレイアウトを調整してくれる仕組みを持ったデザインのことです。

基本的な使い方等は下記の通り動画が公開されています。

 

概要

さて、このパッケージについて簡単に解説しておきましょう。

このパッケージは Microsoft 社が公開しているサンプルコード集である SharePoint Patterns & Practices (PnP) の一環として公開されています。PnPは GitHub 上で共有されています。GitHub から必要なファイル群をダウンロードすれば、パッケージの適用自体は、PowerShell で行えるようになっています。このレスポンシブWebデザインのパッケージは、JavaScript と CSS のみで動作するようになっており、既存のマスターページは一切手を入れていないというのが特徴です。適用対象はチーム サイトです。また、この機能を利用するにはサイトの拡張機能の一つである「モバイル ブラウザー ビュー」は非アクティブ化され利用できなくなります。

このパッケージでは、次の3つのレンダリングモデルをサポートしています。

  • デスクトップ : 768px 以上のスクリーンサイズ
  • タブレット : 481px から 768 px までのスクリーンサイズ
  • スマートフォン : 480px 以下のスクリーンサイズ

スクリプトは jQueryを使っておりインターネット上の CDNを参照しているため、インターネット接続環境が必要です。インターネット接続環境が利用できない場合は、JQueryのクラスライブラリをダウンロードし、任意のライブラリに格納した上で、 PnP_Responsive-UI.js内にある参照パスをこれに書き換えます。

手順

検証した際の手順は次の通りです。ちなみに、各手順はすべて検証環境の SharePoint 上で行いました。

SharePoint 2013 でこのパッケージを利用するには最低限 2015年4月のCUが適用されている必要があります。これ以前だとPowerShell実行時にエラーとなります。現在使っているサーバーの状況を確認するには手っ取り早くビルドナンバーを確認してみましょう(SharePoint 2013 のビルドナンバー)。

  1. GitHub から必要なファイルをダウンロードする。
  2. ソフトウェアをセットアップする
  3. PowerShell を使って Enable-SPResponsiveUI コマンドを実行する

GitHubから ZIPファイルをダウンロードします(ダウンロードリンク)。ダウンロードしたら、ZIPを解凍し、 Solutions フォルダ内の SharePoint.UI.Responsive フォルダーを開きます。
2016-06-05 16-23-49

ちなみに、この中にある pnp_responsive_ui.css と PnP_Responsive-UI.js はPowerShellコマンドレット実行後に、目的のサイトの"サイトのリソース"ライブラリにアップロードされます。

続いて、OfficeDevPnP.PowerShellコマンドを利用できるよう準備します。これは次の URLからダウンロードできるためそのまま SharePoint 上で実行します。

OfficeDevPnP.PowerShell v15 package

最後に Windows PowerShell を使って、目的のサイトに UIを適用します。まず、PowerShell コマンドでSharePoint.UI.Responsive フォルダーにカレントを移動します。

次のようなコマンドを実行します。-TargetSiteUrl では目的のサイトコレクションのURLを指定します。オプション等は GitHub のページに記載されているので、そちらを確認してください。

PS C:\> .\Enable-SPResponsiveUI.ps1  -TargetSiteUrl "https://sp2013-b.contoso.com/sites/ResponsiveUiTest"

以上でSharePoint サイトがレスポンシブUIになります。

[デスクトップ] 通常のチームサイト表示のまま

2016-06-05 16-41-04

[タブレット] サイドリンクバーが小さく折りたたまれ、検索ボックスの位置も変わる。また、本文も縦方向に並ぶ。


2016-06-05 16-42-30

[スマートフォン] タブレットよりさらにコンパクトに!


2016-06-05 16-43-06

使ってみて問題点などあれば、GitHubにてフィードバックするようにしましょう!

 


Office 365 と オンプレミスの SharePoint Server とのハイブリッド環境関する資料

Office 365 と オンプレミスの SharePoint Server とを連携させたハイブリッド構成に関する資料は下記のページにまとまっています。SharePoint Server 2016 関連も公開されています。ご参考まで。


2016-05-12 11-52-58


PSconfigUI.exe と PSConfig.exe との違い

Microsoft の Stefan Goßner さんのブログ記事に記載されていた PSConfigUI.exe と PSConfig.exe との違いについて、要点をかいつまんで、ご紹介しておきます。

[参考] Why I prefer PSCONFIGUI.EXE over PSCONFIG.EXE

CU をインストールした後に実行するのが、PSConfigUI.exe と PSConfig.exe です。PSConfigUI.exe を起動するにはスタートメニュー等から「SharePoint Server 製品構成ウィザード」を実行します。このウィザードの実体が、PSConfigUI.exe です。

このウィザードのコマンドライン版が PSConfig.exe です。この2つの違いはあまり明確に意識しておらず、原則的に「SharePoint Server 製品構成ウィザード」を使っていたのですが、結果的にはこれで正解だったようです。

CU など適用した後にPSConfig.exeでは次のようなコマンドを実行します。

PSCONFIG -cmd upgrade -inplace b2b -wait

しかし、この Exe では、SharePoint のWeb アプリケーションをホストしている IIS のルートの仮想ディレクトリ配下にある、_app_bin がアップデートの対象にならないようです。そもそも製品構成ウィザードでは、、PSConfig.exe のコマンド オプションのうち、次の処理が自動的に実行されるそうです。upgrade 以外も実行されることが分かります。

  • helpcollections
  • secureresourses
  • services
  • installfeatures
  • upgrade
  • applicationcontent

 これらの処理が欠如することで、後から問題が発生することがあります。そのため、PSConfig.exe を使うのであれば、下記のようなコマンドを実行する必要があります。

PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources

以上ご参考まで


[SP2013] Security Update - MS16-004による不具合に関する情報整理

既にご存知の方も多いと思いますが、SharePoint Server 2013にセキュリティ更新プログラムである MS16-004 をインストールすると、SharePoint サイトのリストビューが正常に表示されなくなる問題が発生します。たとえば、下図のようにエラーが表示されます。

2016-01-28 16-13-06

この不具合は、2016年1月の CU で修正されます。

本件に関して、Microsoft 社の Stefan Goßner さんのブログにもう少し掘り下げた記事が記載されていますので、かいつまんでご紹介しておきます。

--要約---

セキュリティ修正プログラムには、ローカライズされたコンポーネントとローカライズされていないコンポーネント(SharePoint Foundation レベルの基本コンポーネント)の更新内容が含まれる。これらのファイルは、個別の MSPファイルからそれぞれインストールされる。しかし、この修正プログラムにはローカライズされたMSPファイルが含まれていない。

最小限の労力で問題解決したい場合は、次のURLから今回のプログラムから漏れているローカライズされた MSPを入手してインストールすればよい。もしくは、SharePoint Server 2013 January 2016 CU をインストールする必要がある。

--ここまで------

ということで、当該言語の MSPのみの入手であれば、184.3 MB なので、非常に小さいファイルのインストールで済むという話ですね。ちなみに、このブログのコメントのやり取りを見ていると MS16-004 のさらに不具合修正版は提供される予定はないとのこと。

[その他の参考情報]