Fessではローカルのファイルだけでなく、ファイルサーバにあるファイルもクロールすることができます。ファイルサーバへのアクセスで認証が必要な場合でもクロールが可能です。

今回は認証が必要なファイルサーバのクロール方法を紹介します。

ファイル認証

Fessでのファイル認証機能はファイルサーバへクロールする際に必要な設定です。 SMBまたはFTPに対する認証に対応しています。

Windowsの共有フォルダではSMB(Server Message Block)プロトコルを利用して通信をしています。SMBはSMBv1、SMBv2、SMBv3といったバージョンが存在しますが、本稿執筆時点の最新バージョンFess13.2.0ではSMBv1またはSMBv2に対応しています。

ファイル認証を設定する場合のスキームは「Samba」を指定します。FTPサーバへファイル認証を設定する場合のスキームは「FTP」を指定します。

Windowsの共有フォルダのクロール

ここではWindowsの共有フォルダのクロール方法を説明します。

Windowsの共有フォルダをクロールするには、対象フォルダにアクセス権限のあるアカウントが必要になります。

今回はFess 13.2.0を利用します。FessのZIPファイルはダウンロードページから入手することができます。ZIPファイルを展開して、bin/fess.[sh|bat]を実行して起動してください。

クロール設定の作成

まずは、クロール設定を作成します。

Fessの管理画面にログインして左メニューの「クロール」>「ファイルシステム」でクロール先の情報を設定します。

今回は「\\localhost\share\」をクロールするものとして、下記で設定します。パスを指定する際は先頭に「smb://」を指定し、「\」の部分は「/」で指定します。パスの最後は「/」を指定してください。

項目 設定値
名前 smb_crawl
パス smb://localhost/share/

SMBv1だけに対応しているファイルサーバをクロール対象にする場合は、プロトコルに「smb://」でなく、「smb1://」を指定してください。

ファイル認証の設定

クロール設定を作成後、左メニューの「クロール」>「ファイル認証」を選択して、ファイル認証を設定します。

主な設定項目の説明は以下のとおりです。

項目 説明
ホスト名 対象サーバのホスト名(省略した場合は任意のホスト名)
ポート 対象サイトのポート番号(省略した場合は任意のポート番号)
スキーム 認証方法
ユーザー名 対象サーバにログインするためのユーザー名
パスワード 対象サーバにログインするためのパスワード
パラメータ 対象サーバにログインするために必要な設定値がある場合に設定
ファイルクロール設定 この認証設定を利用するクロール設定

今回は下記で設定します。Windowsの共有フォルダをクロールする場合はスキームの値を「Samba」を指定してください。

項目 設定値
ホスト名 localhost
スキーム Samba
ユーザー名 hoge
パスワード hogeのパスワード
ファイルクロール設定 smb_crawl

実行

クロール設定とファイル認証設定が登録できたら、クロールを実行します。 左メニュー「システム」 > 「スケジューラ」 > 「Default Crawler」 をクリックして、[今すぐ開始]ボタンをクリックします。クロールが終了するまでしばらく待ちます。

クロールが終了したら、http://localhost:8080 にアクセスして検索してみましょう。共有フォルダ内のファイルが検索できていれば成功となります。

Active Directory連携

FessではWindowsの共有フォルダをクロールすると、クロール先の共有フォルダの権限情報が自動で取得できます。

Active Directoryと連携させることで、アクセス権限に応じたユーザー毎の検索結果の出し分けを簡単に実現できます。Fess 12.2以降ではネストされたグループにも対応しています。

Active Directoryの連携方法については「【第9回】FessでActive Directory連携」の記事を参照してください。

FTPサーバのクロール

FTPサーバをクロールする場合にもFTPサーバにアクセス権限があるアカウントが必要になります。

FTPサーバのファイルクロールもSMBの場合と同じで、先にファイルクロール設定を作成しておきます。FTPサーバをクロールする場合は、パスのプロトコルは「file://」ではなく「ftp://」とします。

クロール設定作成後は、左メニューの「クロール」>「ファイル認証」を選択して、ファイル認証を設定します。FTPサーバをクロールする場合はスキームを「FTP」に設定してください。

クロール設定とファイル認証設定が登録できたら、クロールを実行します。

*  *  *

今回はFessでのファイル認証のクロール方法を紹介しました。

クロール設定と認証情報を設定するだけで、簡単に共有フォルダをクロールできるので、ぜひ試してみてください。

著者紹介

菅谷 信介 (Shinsuke Sugaya)

Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。