fede2cr.alfresco52
alfresco_ansible 
Alfresco 的 Ansible 配方
描述
用于:
- Alfresco 5.2 的自动安装和更新
- Alfresco 6.1 的自动安装(正在进行中)
使用
Alfresco 的 Ansible 角色被创建为将任务分为 标签,这样可以在一次顺序执行中选择希望执行的部分,使得同一个角色既可以在新机器上安装 Alfresco,也可以更新到清单中指定的版本。
从零开始安装
Ansible 的要求
在一台具有足够空间以安装 Alfresco 和备份数据的物理或虚拟的 Ubuntu 18.04 机器上,需要先启动 ssh 服务,复制 SSH 密钥到将用于连接的用户,并创建 sudo 权限,使用适当的用户创建文件 **/etc/sudoers.d/ansible
**:
%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty
然后安装一些初始连接所需的包,包括系统和 Python 的包:
# 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",只在控制机器上需要
清单配置
只需修改一个文件,即 inventario,在其中定义要安装或更新 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,这意味着不会进行任何更改。
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 中重新导入数据以及更新的 dir.root。
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade
接下来只需检查服务,确认内容在正确位置,并查看日志文件以查找可能的错误消息。
调试
如果发生故障,例如安装程序的等待时间太短,可以在该任务之后继续,使用以下命令:
ansible-playbook -i inventario playbook.yml --tags a,b,c --start-at-task="任务的完整名称"
ansible-galaxy install fede2cr.alfresco52