Wednesday, October 3, 2012

Alfrescoのファイルサーバ機能TIPS(CIFSとかFTPとか) その1

こんにちは。大谷です。

今回はAlfrescoのファイルサーバ機能についてと、それを設定・利用するときに役立つマメ知識とかを書こうと思います。なお、本記事は基本的にWindowsを念頭に置いた内容になっているので、LinuxやMax OSをお使いの方は注意してください(まあ基本的なところはOSに依存しないとは思いますが…)。


ファイルサーバ機能って何?


Alfrescoはコンテンツにアクセスするための様々なインターフェースを用意しています。代表的なものはShareと呼ばれるブラウザアクセス用のGUIですが、その他にも、FTP、SMB/CIFS、WebDAV等でもアクセスできるようなインターフェースを提供しています。
このうちFTPとSMB/CIFS(とNFS。今更感満載なので割愛させてもらいます)の機能は、AlfrescoのFileServersサブシステムと呼ばれるモジュールによって提供されているので、併せてファイルサーバ機能と呼ぶこととします。
いずれもWindowsのエクスプローラや各種ハードウェア・ソフトウェアで簡単にアクセスできるインターフェースなので、ファイルサーバ機能を利用して、エンドユーザが既存のファイル共有サーバライクにAlfrescoを利用したり、スキャナ等から標準のインターフェースを利用して自動的にAlfrescoにファイルをアップロードしたりすることができます。


ファイルサーバ機能を利用するには?


基本的には何の設定もいりません。インストーラを利用しても、手動でインストールしても、FTP、CIFSともデフォルトで有効になっています。逆に、これらの機能を無効にしたい場合は、<tomcat_dir>/shared/classes/alfresco-global.propertiesに以下の設定を追記します。使わない機能を無効にすることは、サーバの負荷を軽減することにつながります。
  • FTP : ftp.enabled=false
  • CIFS : cifs.enabled=false



アクセスしてみよう!


では、実際にアクセスしてみましょう。まずはFTPから。適当なFTPクライアント(WindowsであればエクスプローラでOK)で、ftp://<サーバのIP>にアクセスします。ユーザIDとパスワードの入力を求められるのでAlfrescoに登録されたユーザの情報を入力すると、以下のようにアクセスできるはずです。ルートフォルダにはAlfrescoとAVMの2つのフォルダが存在することが分かります。

次にCIFSを試してみます。Windowsのエクスプローラで、\\<ホスト名>Aにアクセスします。ここで重要なのは、ホスト名の最後に"A"を付けることです(ブロードキャストされるNetBIOS名がデフォルトでこのように設定されているため)。もしアクセスできない場合は、\\<ホスト名>A\Alfrescoにアクセスしてみてください。ユーザIDとパスワードを入力すると以下のようにアクセスできるはずです(swsdpはAlfrescoにデフォルトで設定されているサンプルサイトです)。FTPの例を見ると想像がつくと思いますが、\\<ホスト名>A\AVMにもアクセスすることができます。

ちなみに、FTPやCIFSでAlfrescoフォルダにアクセスした際に表示される内容ですが、手動インストールした場合はAlfrescoリポジトリのルートフォルダ(Company_Homeと呼ばれます)、インストーラでインストールした場合はサイト一覧フォルダ(Company_Home/Sites)が表示されます。後で説明しますが、このルートパスを変更することもできます。


ん、アクセスできないんだけど…


上記のように一発でアクセスできればいいのですが、環境によってはうまくアクセスできないこともあります。ここではありがちな例をいくつか紹介します。

1. CIFSでアクセスできない(認証画面すら表示されない)
この場合は、AlfrescoがインストールされているPCで「コントロール パネル」→「ネットワークとインターネット」→「ネットワーク接続」から、利用しているネットワーク接続のプロパティを開き、「Microsoftネットワーク用ファイルとプリンター共有」のチェックを外してOKボタンをクリックします。
この機能もCIFSを利用しているため、チェックが入っていると競合が発生してAlfrescoにCIFSアクセスできなくなることがあるようです。

2. FTPでアクセスできない(認証画面は通るけどフォルダ一覧の取得に失敗する)
FTPのアクセスモードとファイアウォールの設定に依存している可能性があります。まずはクライアント側の設定でPASVモードを利用しているか否か確認しましょう。エクスプローラでアクセスするのであれば、Internet Explorerの「インターネットオプション」の「詳細設定」タブで「パッシブFTPを使用する」をチェックし、例えばこのチェックを外して再度アクセスできるか確認してみましょう。
もしくは、AlfrescoがインストールされているPCのファイアウォールを確認し、PASVモードが利用する可能性のあるデータポートが開放されているか確認します(ちなみにデフォルト設定のAlfrescoでは利用するポートレンジが指定されていないので、必要に応じてalfresco-global.propertiesにftp.dataPortFrom, ftp.dataPortToプロパティを追加してポートレンジを指定します)。


今回は、AlfrescoへFTPやCIFSのプロトコルを利用したアクセス方法について説明しました。次回は一歩進んで、ファイルサーバ機能の設定をいじってCIFSアクセス時のホスト名を変更したり、アクセス先のルートフォルダを変更したりする方法について説明しようと思います。

(2012/10/24追記:Alfrescoのファイルサーバ機能TIPS(CIFSとかFTPとか) その2 を公開しました)

No comments: