社内でファイル共有ツールとしてownCloudを使っていましたが、ディレクトリにパーマネントリンクが発行されなかったり、共有編集やバージョン管理にだいぶ問題があったので、別のツールの検証を始めました。
いろいろ調べてみたところ、日本ではあんまりはやっていないようですが、米国ではこれを使ったパッケージなども販売されている「Alfresco」というOSSを使ってみることにしました。
Alfrescoについて
Alfresco(あるふれすこ)についてそれほど詳しいわけではないのですが、基本的にはエンタープライズコンテンツ管理(ECM)とビジネスプロセス管理(BPM)ができるツールです。機能はとてもたくさんあり、稟議などのワークフローを踏まえた文書管理などもできるようですが、個人的には
- ファイルのバージョン管理がきれいにできる
- ファイルのオンラインプレビューが出る
- GoogleドキュメントやローカルのMS-Officeでのオンライン編集ができる
- パーマネントリンク付きのフォルダ共有
あたりが特徴的で、なによりownCloudよりもUIがイケてるのがいいです。
↓ちょっと古いですがクラメソさんの記事。
http://dev.classmethod.jp/cloud/aws/setup-alfresco-on-ec2/
まだまだ使い込んでいないのでこれからですが、正しくセッティング&カスタマイズできれば、ファイル管理ツールとしてはかなり使い勝手のいい製品になりそうです。
インストール手順
Aflresco Community Edit9n の最新版取得先を調べる
Aflresco Community Editionのここから落とせるのですが、
https://www.alfresco.com/products/community/download
一見メールアドレスなどのレジストレーションが必要そうに見えますが、下のほうにある「Maybe later」をクリックすることでここをスキップしてダウンロードページに飛ぶことができます。
ここから直接ダウンロードしてからEC2に送り込んでもいいですが面倒なのでダウンロード元のURLを把握しておきます。
2016年6月22日現在、最新版は「201605」というバージョンです。途中からバージョン表記をやめて年月にしたようですね。
CentOS7をEC2で起動する
CentOS7(HVM)をMarketPlaceから探して起動。インスタンスタイプはt2.mediumを選んでます。EIPを払い出して紐付けしといてください。
あとセキュリティグループでSSH(22)と8080:TCPを空けとく必要があります。フルオープンにしとくと危ないのでできる限り/32でソースIPを絞ってください。
セキュリティグループの指定で「マイIP」を選択すれば自宅のGWのアドレスが振られます。(環境によります)
Alfrescoのインストール
ここからはCentOSのインスタンスにSSHしてからの作業です。
作業前にyum update は忘れずに。
$ wget http://dl.alfresco.com/release/community/201605-build-00010/alfresco-community-installer-201605-linux-x64.bin ← さっきメモしたURLを指定
$ chmod 755 ./alfresco-community-installer-201605-linux-x64.bin
インストーラを起動してみます。
$ sudo ./alfresco-community-installer-201605-linux-x64.bin
Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXextlibcups libGLU
You are strongly advised to stop this installation and install the libraries.
For more information, see the LibreOffice documentation at http://docs.alfresco.com
Do you want to continue with the installation? [y/N]: N
パッケージが足りてない旨が表示されて、このままインストールを続けていくか確認されたのでNoを選びました。
ここでエラーが出ている不足パッケージをインストールしていくのですが、エラーメッセージ中にある「libXextlibcups」というパッケージは存在しておらず、これは「libXext」と「cups-libs」の2つをあらわしています。
ここを間違うとまた失敗しちゃうので注意!
$ sudo yum intall fontconfig libSM libICE libXrender libXext cups-libs libGLU
これで関連パッケージが全部入るので、今度はインストールを進めます。
コツは、インストールの種類で「詳細設定」を選び、Webサーバードメインに割り当てたEIPを指定することです。
これをやらないとなぜかアクセス時にエラーが出ちゃいます。(原因突き止められず)
$ sudo ./alfresco-community-installer-201605-linux-x64.bin
Language Selection
Please select the installation language
[1] English - English
[2] French - Francais
[3] Spanish - Espanol
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - 日本語
[7] Dutch - Nederlands
[8] Russian - Русский
[9] Simplified Chinese - ?体中文
[10] Norwegian - Norsk bokmal
[11] Brazilian Portuguese - Portugues Brasileiro
Please choose an option [1] : 6
----------------------------------------------------------------------------
ようこそ Alfresco Community セットアップウィザードへ。
----------------------------------------------------------------------------
インストールの種類
[1] 簡易 - デフォルトの設定を使ってインストールします。
[2] 詳細設定 - サーバーのポートとサービスのプロパティを設定できます。: 追加でインストールするコンポーネントを選択してください。
オプションを選択してください [1] : 2
----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。準備ができたら“次へ“をクリックしてください。
Java [Y/n] :Y
PostgreSQL [Y/n] :Y
LibreOffice [Y/n] :Y
Alfresco Community : Y (Cannot be edited)
Solr1 [y/N] : y
Solr4 [Y/n] :Y
Alfresco Office Services [Y/n] :Y
Web Quick Start [y/N] : y
Google ドキュメントの統合 [Y/n] :Y
上記選択部分が正しいことを確認してください。 [Y/n]: Y
----------------------------------------------------------------------------
インストール先フォルダ
Alfresco Community をインストールするフォルダを選択してください。
インストール先フォルダ: [/opt/alfresco-community]:
----------------------------------------------------------------------------
データベースサーバーのパラメータ
データベースのポート番号を入力してください。
データベースサーバーのポート: [5432]:
----------------------------------------------------------------------------
Tomcat のポート設定
Tomcat の設定パラメータを入力してください。
Web サーバードメイン: [127.0.0.1]: ※ここで紐付けたEIPを指定!
Tomcat サーバー用ポート: [8080]:
Tomcat のシャットダウン用ポート: [8005]:
Tomcat の SSL ポート: [8443]:
Tomcat の AJP ポート: [8009]:
----------------------------------------------------------------------------
LibreOffice サーバーのポート
LibreOffice サーバーがリッスンするポート番号を入力してください。
LibreOffice サーバーのポート: [8100]:
----------------------------------------------------------------------------
Alfresco FTP のポート
統合された Alfresco FTP サーバーに使用するポート番号を選択してください。
ポート: [21]:
----------------------------------------------------------------------------
管理者のパスワード
Alfresco 管理者アカウントのパスワードを指定してください。
管理者のパスワード: :
パスワードの再入力: :
----------------------------------------------------------------------------
サービスとしてインストールする
Alfresco Community をサービスとして登録すると、マシンの起動時に自動的に Alfresco Community が開始されます。
Alfresco Community をサービスとしてインストールしますか? [Y/n]: Y
ここでt2.medium程度のスペックのマシンを使っていると警告が出ますが無視します。
あまりに低いスペックだとやばいので注意。(メモリ4GB超を推奨とのこと)
----------------------------------------------------------------------------
警告
この環境は Alfresco を適切に実行するのに十分な構成ではありません。インストールする前に、以下の問題をチェックしてください。
これらの問題があっても Alfresco は機能しますが、一部の製品機能が使用できないか、システムが適切に動作しない場合があります。
Not enough system RAM available
(4.0GB+): 3.86GB
SMTP TCP port in use
: 25
続けるには [Enter] キーを押してください :
----------------------------------------------------------------------------
お使いのコンピュータに Alfresco Community をインストールする準備が整いました。
続けますか? [Y/n]: Y
----------------------------------------------------------------------------
しばらくお待ちください。 Alfresco Community をお使いのコンピュータにインストール中です。
インストール中
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
セットアップウィザードによる Alfresco Community のインストールが完了しました。
Readme ファイルを表示 [Y/n]: n
Alfresco Community を起動する [Y/n]: Y
waiting for server to start.... done
server started
/opt/alfresco-community/postgresql/scripts/ctl.sh : postgresql started at port 5432
Using CATALINA_BASE: /opt/alfresco-community/tomcat
Using CATALINA_HOME: /opt/alfresco-community/tomcat
Using CATALINA_TMPDIR: /opt/alfresco-community/tomcat/temp
Using JRE_HOME: /opt/alfresco-community/java
Using CLASSPATH: /opt/alfresco-community/tomcat/bin/bootstrap.jar:/opt/alf resco-community/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/alfresco-community/tomcat/temp/catalina.pid
Tomcat started.
/opt/alfresco-community/tomcat/scripts/ctl.sh : tomcat started
これでAlfrescoが起動しているはずです。
Alfrescoへアクセス
http://[割り当てたEIP]:8080/share/
にアクセスすることでログインページが表示されるはずです。
デフォルトではユーザーは「admin」、パスワードは無しです。
トラブルシューティング
私が結局動かせるようになるまでEC2の起動からインストーラのダウンロード、実行、アクセスまでを5回くらい繰り返しました(苦笑)
かなりハマッたので情報シェアしときます。
インストールが成功しているのに、指定されたURLヘアクセスしても表示されない(404エラー)という症状が殆どだと想いますが、下記の点をもういちど確認してみてください。
-
必要なライブラリのインストールを忘れていないか?
最初の部分に書いてあるライブラリを全部インストールしてください。
一度インストールしてしまったら削除せずにEC2の起動から全部やりなおすのが吉。 -
「インストールの種類」で「簡易」を選んでいないか?
-
「インストールの種類」で「詳細設定」を選んだけど、「Webサーバドメイン」をデフォルトのままにしていないか?
-
セキュリティグループに自分のアクセス元IPの穴を開けているか?
-
そのポートはちゃんと8080/tcpか?
あとこれは理由が分からないのですが、私の環境ではAmazon Linuxに同じ手順で入れても動作しませんでした。起動中にエラーになってるっぽくて、エラーログも読み込んでみたんだけど全然原因がわかんない。。。誰か試してみてほしいです。。
参考にさせて頂いたページ
↓Amazon LinuxにAlfresco Community Editionをインストールする | yamamanx
http://www.yamamanx.com/amazon-linux-alfresco-community-edition-install/
↓Alfresco Community Editionを使ってみた | Developers.IO
http://dev.classmethod.jp/cloud/aws/setup-alfresco-on-ec2/
↓Alfresco community Edition 5.0.dをCentOS7へインストールする - bnote
http://www.bnote.net/linux/alfresco5_0_d_inst.shtml