Edited at
ラクスDay 18

無料ドキュメント管理 ~Alfresco Community Edition~を試す(その1)

More than 1 year has passed since last update.

こんにちは、株式会社ラクスのインフラ部門で働いています。

「特定サービスのインフラ」というよりも、改善などをメインに業務をしております。

早速ですが、今回のテーマは、「Alfresco Community Edition」というドキュメント管理Webアプリケーションです。

「Rundeck」というフリーの「エージェントレスSSHジョブスケジューラー」について書こうと思いましたが、Alfrescoをスモールスタートしてみようと考えているので、書きます。

今回は、そのインストール編です。

※Rundeckについては、いつか事例も含めて書きたいなと...。


Alfrescoとは

一言で言うと、前述の通り、『ドキュメント管理Webアプリケーション』です。

もっと具体的に言うと、以下のことができる・特徴があります。(未確認部分有り)


  • Webブラウザからドキュメント管理(ファイル)をアップロード・閲覧・ダウンロード

  • サイト(=ドキュメント管理の大きな単位)ごとに権限管理

  • ファイル検索可能(中身もメタデータとして保存しているため、検索可能)

  • エクセルなどオフィスソフトで作成したファイルもプレビュー可能(ただし、PDF化してプレビューしているため、印刷設定していないと、崩れる...)

  • ワークフローを作って、レビューなどの承認フローなどを組める

  • バージョン管理してくれる

  • そのドキュメントに対するアクション(誰が、いつ、作成/更新/参照/ダウンロードしたのか、など)がわかりやすい

  • (複数の)任意のタグをドキュメントに付けることができる(もちろん、被検索)

  • Community Editionは無償で利用でき、機能的にも有償版とそれほど遜色がない


なぜ導入しようとしているのか

簡単に言うと、「ドキュメントの価値を、より長く維持したいため」です。


  • Alfrescoで何を解決したいのか

  • そのためにどう運用するのか

が重要ですが、それをサポートしてくれる無料のソフトウェアとしては、有効性が高そうです。

Alfrescoを活用し、上手に運用することで、本当に必要なドキュメントが生き残り、不要な作業の軽減につながればと考えています。


インストール


環境


  • ローカルPC:Windows 10

  • 仮想化基盤:Hyper-Box

  • OS:CentOS Linux release 7.4.1708 (Core)

  • CPU:2 vCPU

  • メモリ:4.0 GB

  • HDD:8.0 GB

  • インターネット接続:あり

Javaベースのアプリケーションなので、LinuxでもWindowsでも動作します。

今回はお試しなので、自分PCのHyper-Box上にVMを作って試します。

本番運用では、仮想化基盤やクラウド上で運用する方がよいと思います。仕組み的に


  • WebからファイルアップロードやPDF変換など → CPUを消費

  • メタデータのインデックス基盤にSolrを、内部でLibreOfficeを利用 → メモリを消費

  • ドキュメントファイルを蓄積 → ディスクを消費

するため、求められるサーバーリソースはかなり必要そうです。

柔軟にサーバーリソースを変更できる方が、利用者メリットが高いと思います。

もし、クラウド上に構築した場合でも、夜間にインスタンスを停止しておくことで、クラウド費用は多少節約できるかと思います。


Alfresco Community Editionインストーラーのダウンロード

インストーラーはここにあります。

「後で行う」のリンクを押下し、「General Release」の下にある「Linux」のURLをコピーします。

それをwgetで取得します。

# whoami

root

# pwd
/root

# mkdir alfresco
# cd alfresco/

# pwd
/root/alfresco

# wget http://dl.alfresco.com/release/community/201711-EA-build-00038/alfresco-content-services-community-full-installer-6.0.0-ea-linux-x64.bin
(...割愛)
2017-12-11 22:47:06 (46.1 MB/s) - ‘alfresco-content-services-community-full-installer-6.0.0-ea-linux-x64.bin’ saved [888694313/888694313]

# ls -lrt *
-rw-r--r-- 1 root root 888694313 Nov 17 23:23 alfresco-content-services-community-full-installer-6.0.0-ea-linux-x64.bin


Alfresco Community Editionインストーラーの実行

インストーラーにrootユーザーでの実行権限を付与して、実行します。

注意すべき点は、 インストールの種類[2] 詳細設定 を選ぶことです。なぜか [1] 簡易 を選択すると、うまく起動しません。

長いですが、コマンドと出力全文を記載しておきます。


# chmod 755 alfresco-content-services-community-full-installer-6.0.0-ea-linux-x64.bin

# ./alfresco-content-services-community-full-installer-6.0.0-ea-linux-x64.bin
Some or all of the libraries needed to support LibreOffice were not found on your system: fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx
You are strongly advised to stop this installation and install the libraries.
For more information, see the LibreOffice documentation at http://docs.alfresco.com/search/site/all?keys=libfontconfig

Do you want to continue with the installation? [y/N]: y

Language Selection

Please select the installation language
[1] English - English
[2] French - Français
[3] Spanish - Español
[4] Italian - Italiano
[5] German - Deutsch
[6] Japanese - 日本語
[7] Dutch - Nederlands
[8] Russian - Русский
[9] Simplified Chinese - 简体中文
[10] Norwegian - Norsk bokmål
[11] Brazilian Portuguese - Português Brasileiro
Please choose an option [1] : 6
----------------------------------------------------------------------------
ようこそ Alfresco Content Services Community セットアップウィザードへ。

----------------------------------------------------------------------------
インストールの種類

[1] 簡易 - デフォルトの設定を使ってインストールします。
[2] 詳細設定 - サーバーのポートとサービスのプロパティを設定できます。: 追加でインストールするコンポーネントを選択してください。
オプションを選択してください [1] : 2

----------------------------------------------------------------------------
インストールするコンポーネントを選択してください。準備ができたら“次へ“をクリックしてください。

Java [Y/n] :Y

PostgreSQL [Y/n] :Y

LibreOffice [Y/n] :Y

Alfresco Content Services Community : Y (Cannot be edited)

Solr1 [y/N] : N

Solr4 [Y/n] :Y

Alfresco Office Services [Y/n] :Y

Web Quick Start [y/N] : Y

Google ドキュメントの統合 [Y/n] :n

上記選択部分が正しいことを確認してください。 [Y/n]: Y

----------------------------------------------------------------------------
インストール先フォルダ

Alfresco Content Services Community をインストールするフォルダを選択してください。

インストール先フォルダ: [/opt/alfresco-content-services-community-full]:

----------------------------------------------------------------------------
データベースサーバーのパラメータ

データベースのポート番号を入力してください。

データベースサーバーのポート: [5432]:

----------------------------------------------------------------------------
Tomcat のポート設定

Tomcat の設定パラメータを入力してください。

Web サーバードメイン: [127.0.0.1]: 172.100.100.121

Tomcat サーバー用ポート: [8080]:

Tomcat のシャットダウン用ポート: [8005]:

Tomcat の SSL ポート: [8443]:

Tomcat の AJP ポート: [8009]:

----------------------------------------------------------------------------
LibreOffice サーバーのポート

LibreOffice サーバーがリッスンするポート番号を入力してください。

LibreOffice サーバーのポート: [8100]:

----------------------------------------------------------------------------
FTP ポート

統合された FTP サーバーに使用するポート番号を選択してください。

ポート: [21]:

----------------------------------------------------------------------------
管理者のパスワード

Alfresco Content Services 管理者アカウントのパスワードを指定してください。

管理者のパスワード: :
パスワードの再入力: :
----------------------------------------------------------------------------
サービスとしてインストールする

Alfresco Content Services Community をサービスとして登録すると、マシンの起動時に自動的に Alfresco Content
Services Community が開始されます。

Alfresco Content Services Community をサービスとしてインストールしますか? [Y/n]: Y

----------------------------------------------------------------------------
警告

この環境は Alfresco Content Services
を適切に実行するのに十分な構成ではありません。インストールする前に、以下の問題をチェックしてください。

これらの問題があっても Alfresco Content Services
は機能しますが、一部の製品機能が使用できないか、システムが適切に動作しない場合があります。

Not enough system RAM available
(4.0GB+): 3.68GB
SMTP TCP port in use
: 25

続けるには [Enter] キーを押してください :

----------------------------------------------------------------------------
お使いのコンピュータに Alfresco Content Services Community をインストールする準備が整いました。

続けますか? [Y/n]: Y

----------------------------------------------------------------------------
しばらくお待ちください。 Alfresco Content Services Community をお使いのコンピュータにインストール中です。

インストール中
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
セットアップウィザードによる Alfresco Content Services Community のインストールが完了しました。

Readme ファイルを表示 [Y/n]: n

Alfresco Content Services Community を起動する [Y/n]: Y

waiting for server to start....# done
server started
/opt/alfresco-content-services-community-full/postgresql/scripts/ctl.sh : postgresql started at port 5432
Using CATALINA_BASE: /opt/alfresco-content-services-community-full/tomcat
Using CATALINA_HOME: /opt/alfresco-content-services-community-full/tomcat
Using CATALINA_TMPDIR: /opt/alfresco-content-services-community-full/tomcat/temp
Using JRE_HOME: /opt/alfresco-content-services-community-full/java
Using CLASSPATH: /opt/alfresco-content-services-community-full/tomcat/bin/bootstrap.jar:/opt/alfresco-content-services-community-full/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/alfresco-content-services-community-full/tomcat/temp/catalina.pid
Tomcat started.
/opt/alfresco-content-services-community-full/tomcat/scripts/ctl.sh : tomcat started


必要な(必要そうな)パッケージのインストール

インストーラー実行時の最初の方に、パッケージに不足がある旨が表示されているため、追加でインストールします。

また、日本語でインストールしたため、表示されている以外にもlibreofficeの日本語ランゲージパックもインストールします。

# yum install -y fontconfig libSM libICE libXrender libXext libcups libGLU libcairo2 libgl1-mesa-glx

# yum install -y libreoffice-langpack-ja

再度、インストーラーを実行するとわかりますが、パッケージ不足のメッセージがなくなっているかと思います。


Alfrescoの起動

もし、Alfresco.serviceがstartしていない場合は、起動します。

# systemctl status alfresco

● alfresco.service - SYSV: Alfresco Content Services Community
Loaded: loaded (/etc/rc.d/init.d/alfresco; bad; vendor preset: disabled)
Active: inactive (dead)
Docs: man:systemd-sysv-generator(8)

# systemctl start alfresco

# systemctl status alfresco
● alfresco.service - SYSV: Alfresco Content Services Community
Loaded: loaded (/etc/rc.d/init.d/alfresco; bad; vendor preset: disabled)
Active: active (exited) since Mon 2017-12-11 23:13:41 JST; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 2275 ExecStart=/etc/rc.d/init.d/alfresco start (code=exited, status=0/SUCCESS)

Dec 11 23:13:34 alfresco.local.hyper-v systemd[1]: Starting SYSV: Alfresco Content Services Community...
Dec 11 23:13:34 alfresco.local.hyper-v alfresco[2275]: /opt/alfresco-content-services-community-full/postgresql/scripts/ctl.sh : postgresql (pid 1660) already running
Dec 11 23:13:39 alfresco.local.hyper-v alfresco[2275]: /opt/alfresco-content-services-community-full/tomcat/scripts/ctl.sh : tomcat (pid 1682) already running
Dec 11 23:13:41 alfresco.local.hyper-v systemd[1]: Started SYSV: Alfresco Content Services Community.


Firewallの設定

CentOSインストール直後は、必要なポートが開放されていません。以下のコマンドでポート開放します。

本番環境であれば、Webサーバー(apacheやnginx)を立てて、プロキシーするのがベターですが、割愛します。

# firewall-cmd --zone=public --add-port=8080/tcp --permanent

success

# firewall-cmd --zone=public --add-port=8443/tcp --permanent
success

# firewall-cmd --reload
success

# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 8080/tcp 8443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

これで、インストールは完了です。

コマンド全文を記載しているので、長く&難しいように見えますが、インストーラーの実行に記載した注意を守って進めば、成功します。


ログイン確認

さて、インストールが成功したので、Webブラウザからアクセスしてみます。

以下のログイン画面が表示されます。

 Alfresco ログイン画面:https://{IPアドレス}:8443/share/page/


  • ログイン画面
    AlfrescoLogin.png

ユーザーは admin で、パスワードはインストーラー実行中に入力したパスワードです。

ログインに成功すると、以下のダッシュボードが表示されます。


  • ダッシュボード
    AlfrescoDashboard.png


最後に

次回以降は、以下をやっていこうと思っています。


  • Webサーバーで受けるようにする

  • 軽く使ってみる

  • 機能詳細の把握&利用機能の選定

  • メリット・デメリットの整理

  • 運用のイメージを作る

もし、既に利用している方や導入中で知見がある方がいらしたら、コメントいただけると嬉しいです!