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_preupgrademysql_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="任务的完整名称"
关于项目

Alfresco52 install and upgrade role

安装
ansible-galaxy install fede2cr.alfresco52
许可证
Unknown
下载
108
拥有者
Hacker, profesor, cervecero, luthier, cocinero, maker, astrónomo, biólogo, fotógrafo. Trabajo en Microsoft.