fede2cr.alfresco52
alfresco_ansible 
Alfresco 用の Ansible レシピ
説明
以下のためのレシピ:
- Alfresco 5.2 の自動インストールとアップデート
- Alfresco 6.1 の自動インストール (進行中)
使用方法
Alfresco 用の Ansible ロールは、タスクが タグ に分かれているので、一度の実行で実行したい部分を選ぶことができ、新しいマシンに Alfresco をインストールしたり、インベントリで指定したバージョンにアップデートできます。
ゼロからのインストール
Ansible の要件
Ubuntu 18.04 の物理または仮想マシンが必要で、Alfresco のインストールおよびデータバックアップに十分なスペースを確保し、まず SSH サービスを有効にし、接続に使用するユーザーに SSH キーをコピーし、sudo 権限を作成します。以下のように適切なユーザーで /etc/sudoers.d/ansible
ファイルを作成します:
%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty
次に、初期接続に必要なパッケージをインストールします:
# Ubuntu パッケージ
sudo apt install -y python3-minimal python3-pip
# MySQL 用
sudo apt install -y python3-pymysql
# PostgreSQL 用
python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java
# Python パッケージ
sudo pip3 install ansible psutil # リモートマシンには "ansible" を省略できます。コントロールマシンにのみ必要です。
インベントリの設定
修正が必要なファイルは インベントリ の1つだけです。ここで、Alfresco をインストールまたはアップデートするサーバーのIP と、Alfresco の設定に使用するパラメータを定義します。
例えば、 inventory/hosts.yml
では:
---
alfresco:
hosts:
10.xx.xx.xx: # Alfresco サーバーの IP を変更
ansible_user: greencore # SSH に使用するユーザー
alfresco_installer: alfresco-community-installer-201707-linux-x64.bin # インストーラーのバージョンを指定する
# 古いバージョン
#alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties # alfresco-global.properties のパス
alf_root: /opt/alfresco_community/ # Alfresco のルート
dir_root: /opt/alfresco_community/alf_data # alf_data ディレクトリ
solr4_root: /opt/alfresco_community/alf_data/solr4/index # Solr のディレクトリ
installer_delay: 190 # インストーラー完了まで待つ時間
続ける前に、インベントリと Ansible の実行を確認するために、以下を実行します:
ansible -i inventory/hosts.yml -m ping alfresco
10.xx.xx.xx | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
構成ファイル、ダウンロードファイル、Ansible モジュールに必要な Python モジュールの可用性を確認するために、最初に Ansible を dry-run モードで実行します。つまり、変更を行いません。
ansible-playbook -C -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
問題がなければ、オプション -C
なしで Alfresco のインストールを実行できます:
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
Alfresco のアップデート
アップデートを開始する前に、サービスの状態を確認し、変更リクエストのルールに従い、テスト用のマシンを使用し、常に本番環境のバックアップを行うことをお勧めします。
インストールおよびアップデートの完全なラボを行う場合、インベントリファイルに基づいてインストールする Alfresco のバージョンを変更する必要があるかもしれません。
この場合、追加のタグ mysql_preupgrade と mysql_postupgrade はデータバックアップ、Alfresco ディレクトリの移動、および MySQL へのデータ再インポートを行います。
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade
次は、サービスが正常に動作していること、内容が正しい場所にあること、エラーメッセージがないかログファイルを確認するだけです。
デバッグ
何かがうまくいかない場合、例えばインストーラーの待機時間が短すぎる場合は、次のコマンドを基にしてそのタスクの後に続けることができます:
ansible-playbook -i inventory playbook.yml --tags a,b,c --start-at-task="タスクの完全な名前"
ansible-galaxy install fede2cr.alfresco52