こんにちは、株式会社ラクスのインフラ部門で働いています。
「特定サービスのインフラ」というよりも、改善などをメインに業務をしております。
早速ですが、今回のテーマは、「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/
ユーザーは admin
で、パスワードはインストーラー実行中に入力したパスワードです。
ログインに成功すると、以下のダッシュボードが表示されます。
最後に
次回以降は、以下をやっていこうと思っています。
- Webサーバーで受けるようにする
- 軽く使ってみる
- 機能詳細の把握&利用機能の選定
- メリット・デメリットの整理
- 運用のイメージを作る
もし、既に利用している方や導入中で知見がある方がいらしたら、コメントいただけると嬉しいです!