はじめに
このページでは Alfresco Content Services 7 のインストール方法を説明します。
前提として、
- CentOS 8
- Alfresco SSL Generator を実行済み
とします。
必ずサポート対象のバージョンを確認し、使用するようにしてください。
- https://docs.alfresco.com/search-services/latest/support/
- https://docs.alfresco.com/content-services/latest/support/
手順におけるバージョンについては、適宜読み替えてください。
1.事前準備
1.1 確認事項
Alfresco Content Service のサポートプラットフォームを確認してください。
https://docs.alfresco.com/content-services/latest/support/
1.2 事前準備
1.2.1 必要ファイルの入手
事前に以下のファイルを入手してください。
ファイルの入手はリックソフトのヘルプデスクに依頼ください。
インストールファイル | ファイル名 | 説明 |
---|---|---|
Alfresco Content Services Distribution zip | alfresco-content-services-distribution-<バージョン番号>.zip | 新規インストールまたはアップグレード用の配布 zip ファイル 既存の Tomcat アプリケーションサーバーへの手動インストール用のAlfresco WAR ファイル (配布 zip ファイル内)。 この配布zipファイルには、モジュール管理ツール (MMT) およびalfresco-global.propertiesなどのサンプル拡張ファイルも含まれています。 |
Alfresco Search Services Distribution zip | alfresco-search-services-<バージョン番号>.zip | Alfresco Search Services インストールファイル。 詳細については、Alfresco Search Servicesのインストールと構成を参照してください。 |
Alfresco Office Services Module zip | alfresco-aos-module-distributionzip-<バージョン番号>.zip | Alfresco Office Services Module (AOS) を使用すると、Microsoft Office アプリケーションから Alfresco に直接アクセスできます。 |
1.2.2 事前準備のためのインストール
以下のミドルウェアをインストールします。
インストール手順についてはリックソフトサポートドキュメントも参考にしてください。
1〜5 については、それぞれの公式ドキュメント、6は Alfresco 社の GitHub リポジトリにも手順があります。
- OpenJDK をインストールします
- PostgreSQL をインストールします
- 公式ドキュメント: Linux downloads (Red Hat family)
- RS サポートドキュメント: PostgreSQL のインストール(CentOS 8 でパッケージから)
- ActiveMQ をインストールします
- 公式ドキュメント: Installation Procedure for Unix
- RS サポートドキュメント: ActiveMQ のインストール
- Alfresco SSL Generator を実行します
- GitHub リンク: Welcome to Alfresco SSL Generator
- RS サポートドキュメント: Alfresco SSL Generator の設定 (※新フォーマットを実施している前提とします)
- Alfresco Transform Services をインストールします
- 公式ドキュメント: Install with zip
2.Tomcat のインストール
次のコマンドを実行して Tomcat の tar.gz ファイルをダウンロードします。(ここではアーカイブされたバージョンのファイルをダウンロードしています)
# curl -LkOf https://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
ダウンロードしたファイルが破損していないか確認します(Index of /dist/tomcat/tomcat-9)
# sha512sum apache-tomcat-9.0.50.tar.gz
06cd51abbeebba9385f594ed092bd30e510b6314c90c421f4be5d8bec596c6a177785efc2ce27363813f6822af89fc88a2072d7b051960e5387130faf69c447b apache-tomcat-9.0.50.tar.gz
ダウンロードした tar.gz ファイルを展開します。
# tar zxf apache-tomcat-9.0.50.tar.gz
3.Alfresco Content Services のインストール
alfresco-content-services-distribution-<バージョン番号>.zip、alfresco-aos-module-distributionzip-<バージョン番号>.zip をあらかじめサーバに配置します。
必要に応じて実行用ユーザを作成します。
# useradd alfresco
データ格納用ディレクトリを作成します。
# mkdir -p /var/lib/alfresco/data \ && chown -R alfresco:alfresco /var/lib/alfresco \ && ls -l /var/lib/alfresco
total 0 drwxr-xr-x. 2 alfresco alfresco 6 Apr 26 06:49 data
ログ格納用ディレクトリを作成します。
# mkdir -p /var/log/alfresco/platform \ && mkdir -p /var/log/alfresco/share \ && mkdir -p /var/log/alfresco/tomcat \ && chown -R alfresco:alfresco /var/log/alfresco \ && ls -l /var/log/alfresco
total 0 drwxr-xr-x. 2 alfresco alfresco 6 Apr 26 06:35 platform drwxr-xr-x. 2 alfresco alfresco 6 Apr 26 06:35 share drwxr-xr-x. 2 alfresco alfresco 6 Apr 26 06:35 tomcat
postgres ユーザで psql コマンドを実行します
# su - postgres $ psql
データベースを作成します
postgres=# CREATE ROLE alfresco PASSWORD 'alfresco' createdb login; postgres=# CREATE DATABASE alfresco OWNER alfresco template=template0 encoding='utf-8' lc_collate='C' lc_ctype='C'; postgres=# GRANT ALL ON DATABASE alfresco TO alfresco;
postgres ユーザからログアウトします
postgres=# \q $ exit
/opt
配下に新しくディレクトリを作成し、Tomcat のディレクトリを配置します
# mkdir -p /opt/alfresco/content-services \ && mv /root/apache-tomcat-9.0.50 /opt/alfresco/content-services/tomcat
alfresco-content-services-distribution-<バージョン番号>.zip ファイルを展開します
# unzip alfresco-content-services-distribution-<バージョン番号>.zip -d /opt/alfresco/content-services/ \ && ls -l /opt/alfresco/content-services/
total 8 drwxrwxr-x. 2 root root 41 Mar 11 14:40 amps drwxrwxr-x. 2 root root 255 Mar 11 14:40 bin drwxrwxr-x. 3 root root 138 Mar 11 14:40 keystore drwxrwxr-x. 3 root root 60 Mar 11 14:40 licenses -rw-rw-r--. 1 root root 292 Mar 11 14:40 README.txt drwxr-xr-x. 9 root root 220 Apr 26 06:58 tomcat -rw-rw-r--. 1 root root 2928 Mar 11 14:40 VERSIONS.md drwxrwxr-x. 6 root root 58 Mar 11 14:40 web-server
alfresco-aos-module-distributionzip-<バージョン番号>.zip ファイルを展開します
# unzip /root/alfresco-aos-module-distributionzip-<バージョン番号>.zip -d /opt/alfresco/content-services/amps/
Tomcat のディレクトリ配下に次のディレクトリを作成します
# mkdir -p /opt/alfresco/content-services/tomcat/shared/lib \ && ls -l /opt/alfresco/content-services/tomcat/shared
total 0 drwxr-xr-x. 2 root root 6 Aug 9 05:11 lib
(オプション) Share 側に amp ファイルをインストールする必要がある場合は、予めディレクトリを作成しておきます。
# mkdir /opt/alfresco/content-services/amps_share
/opt/alfresco/content-services/tomcat/conf/catalina.properties の次の設定値を設定します。
# vi /opt/alfresco/content-services/tomcat/conf/catalina.properties
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
/opt/alfresco/content-services/tomcat/conf/server.xml ファイルを編集します
# vi /opt/alfresco/content-services/tomcat/conf/server.xml
... <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" ←追加 maxHttpHeaderSize="32768" ←追加 redirectPort="8443" /> (中略) <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/alfresco/tomcat" ←編集 prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> ...
catalina_pid 用に setenv.sh ファイルを作成する
# vi /opt/alfresco/content-services/tomcat/bin/setenv.sh
CATALINA_PID="$CATALINA_BASE/content-services.pid"
CATALINA_PID="$CATALINA_BASE/content-services.pid" export JAVA_TOOL_OPTIONS="-Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding -Dencryption.keyAlgorithm=AES -Dencryption.keystore.location=/opt/alfresco/content-services/keystore/metadata-keystore -Dmetadata-keystore.password=password -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=password -Dmetadata-keystore.metadata.algorithm=AES "
Tomcat ログの出力先を変更します
# sed -i -e "s/\${catalina.base}\/logs/\/var\/log\/alfresco\/tomcat/g" /opt/alfresco/content-services/tomcat/conf/logging.properties
catalina.out のパスを編集し、出力先を変更します。
# vi /opt/alfresco/content-services/tomcat/bin/catalina.sh
CATALINA_OUT=/var/log/alfresco/tomcat/catalina.out
アドオン用のディレクトリをあらかじめ作成します
# mkdir -p /opt/alfresco/content-services/modules/platform /opt/alfresco/content-services/modules/share \ && ls -l /opt/alfresco/content-services/modules/
total 0 drwxr-xr-x. 2 root root 6 8月 9 16:09 platform drwxr-xr-x. 2 root root 6 8月 9 16:09 share
tomcat/webapp 配下のフォルダを全て削除します
# rm -rf /opt/alfresco/content-services/tomcat/webapps/* \ && ls -l /opt/alfresco/content-services/tomcat/webapps/
total 0
web-server/webapps/ 配下の war ファイルを tomcat/webapp 配下に移動します
# mv /opt/alfresco/content-services/web-server/webapps/* /opt/alfresco/content-services/tomcat/webapps/ \ && ls -l /opt/alfresco/content-services/tomcat/webapps/ | grep war
-rw-rw-r--. 1 root root 214631448 Dec 27 12:45 alfresco.war -rw-rw-r--. 1 root root 275031 Nov 15 14:09 ROOT.war -rw-rw-r--. 1 root root 75575656 Oct 25 16:29 share.war -rw-rw-r--. 1 root root 762845 Nov 15 14:10 _vti_bin.war
コンテンツを移動します
# mv /opt/alfresco/content-services/web-server/conf/* /opt/alfresco/content-services/tomcat/conf/ \ && mv /opt/alfresco/content-services/web-server/lib/* /opt/alfresco/content-services/tomcat/lib/ \ && mv /opt/alfresco/content-services/web-server/shared/* /opt/alfresco/content-services/tomcat/shared/
web-server フォルダを削除します
# rm -rf /opt/alfresco/content-services/web-server/
alfresco-global.properties ファイルを作成します
# vi /opt/alfresco/content-services/tomcat/shared/classes/alfresco-global.properties
Alfresco SSL Generator で生成した証明書をコピーします
# cp -p /root/work/alfresco-ssl-generator-master/ssl-tool/keystores/alfresco/* /opt/alfresco/content-services/keystore/metadata-keystore/
権限を変更します
# chown -R alfresco:alfresco /opt/alfresco/ \ && find /opt/alfresco/ ! -user alfresco | wc -l
0
amp を適用するスクリプトに実行権限を付与します
# chmod u+x /opt/alfresco/content-services/bin/apply_amps.sh
alfresco 実行用ユーザにスイッチします
# su - alfresco
スクリプトを実行します
$ /opt/alfresco/content-services/bin/apply_amps.sh
/bin/java Found installed java executable on the system This script will apply all the AMPs in amps and amps_share to the alfresco.war and share.war files in /opt/alfresco/content-services/tomcat/webapps Press control-c to stop this script . . . Press any other key to continue . . . ←何かキーを押す Module 'alfresco-aos-module' installed in '/opt/alfresco/content-services/tomcat/webapps/alfresco.war' - Title: Alfresco Office Services Module - Version: <バージョン番号> - Install Date: Tue Apr 09 16:15:27 JST 2019 - Description: Allows applications that can talk to a SharePoint server to talk to your Alfresco installation Module 'alfresco-share-services' installed in '/opt/alfresco/content-services/tomcat/webapps/alfresco.war' - Title: Alfresco Share Services AMP - Version: <バージョン番号> - Install Date: Tue Apr 09 16:15:26 JST 2019 - Description: Module to be applied to alfresco.war, containing APIs for Alfresco Share No modules are installed in this WAR file About to clean out /opt/alfresco/content-services/tomcat/webapps/alfresco and share directories and temporary files... Press control-c to stop this script . . . Press any other key to continue . . . ←何かキーを押す Cleaning temporary Alfresco files from Tomcat...
alfresco 実行用ユーザからログアウトします
$ exit
Alfresco Content Services を起動します
SELinux などの設定によっては、権限の関係で systemd を使用した起動に失敗する場合があります。
その場合は自社のポリシーにあわせて適宜対応してください。
# su - alfresco $ /opt/alfresco/content-services/tomcat/bin/startup.sh
次の情報でログインします
項目名 | 設定値 | |
---|---|---|
1 | URL | http://<IPアドレス>:<ポート>/share |
2 | ユーザー名 | admin |
3 | パスワード | admin |
ログインすると次のホーム画面に遷移します。
Alfresco Content Services を停止します
$ /opt/alfresco/content-services/tomcat/bin/shutdown.sh $ exit
Repository 側の log4j.properties ファイルの設定を変更し、ログの出力先を変更します
# vi /opt/alfresco/content-services/tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties
log4j.appender.File.File=/var/log/alfresco/platform/alfresco.log
Share 側の log4j.properties ファイルの設定を変更し、ログの出力先を変更します
# vi /opt/alfresco/content-services/tomcat/webapps/share/WEB-INF/classes/log4j.properties
log4j.appender.File.File=/var/log/alfresco/share/share.log
TinyMCE language pack から必要な言語を選択してダウンロードし、その zip ファイルをあらかじめサーバに配置します。
# curl -Lkvf https://www.tiny.cloud/tinymce-services-azure/1/i18n/download/?langs=ja -o tinymce_languages.zip
tinymce_languages.zip ファイルを展開します。
# unzip tinymce_languages.zip -d /opt/alfresco/content-services/tomcat/webapps/share/modules/editors/tiny_mce
権限を変更します。
# chown -R alfresco:alfresco /opt/alfresco/ && find /opt/alfresco/ ! -user alfresco | wc -l
0
Alfresco Content Services のサービスファイルを作成します。
# vi /etc/systemd/system/content-services.service
[Unit] Description=Alfresco Content Services After=network.target postgresql-13.service activemq.service transform-services.service [Service] Restart=no Type=forking User=alfresco Group=alfresco WorkingDirectory=/opt/alfresco/content-services/tomcat PIDFile=/opt/alfresco/content-services/tomcat/content-services.pid ExecStart=/opt/alfresco/content-services/tomcat/bin/startup.sh ExecStop=/opt/alfresco/content-services/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
Alfresco Content Services の自動起動を設定します
# systemctl daemon-reload \ && systemctl enable content-services \ && systemctl is-enabled content-services \ && systemctl list-unit-files --type=service | grep content-services
Created symlink from /etc/systemd/system/multi-user.target.wants/content-services.service to /usr/lib/systemd/system/content-services.service. enabled content-services.service enabled
再度 Alfresco Content Services を起動します
# systemctl start content-services && systemctl is-active content-services
Alfresco Search Services をインストールします
- 公式ドキュメント: Installing and configuring Search Services with mutual TLS
- RS サポートドキュメント: Alfresco Search Services のインストール