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などの開発に従事。