fede2cr.alfresco52

alfresco_ansible Estado de Construcción

Recetas de ansible para Alfresco

Descripción

Recetas para:

  • Instalación y actualización automática de Alfresco 5.2
  • Instalación automática de Alfresco 6.1 (en progreso)

Uso

El rol de Ansible para Alfresco se ha creado de tal manera que las tareas están divididas en tags, lo que permite elegir qué partes se ejecutan en una sola ejecución secuencial. Este mismo rol puede instalar Alfresco en un equipo nuevo o actualizar a la versión indicada en el inventario.

Instalación desde cero

Requerimientos para Ansible

En un equipo con Ubuntu 18.04, físico o virtual, con suficiente espacio para la instalación de Alfresco y el respaldo de sus datos, primero necesita activar el servicio de ssh, copiar una clave SSH al usuario que utilizará para la conexión y crear un permiso de sudo, generando el archivo /etc/sudoers.d/ansible con el siguiente contenido:

%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty

Luego, instalamos algunos paquetes necesarios para la conexión inicial, tanto de la distribución como de Python:

# Paquetes de Ubuntu
sudo apt install -y python3-minimal python3-pip

# Para Mysql
sudo apt install -y python3-pymysql

# Para PostgreSQL
sudo apt install -y python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java

# Paquetes de Python
sudo pip3 install ansible psutil # Puede omitir "ansible" en el equipo remoto, solo es necesario en el equipo controlador

Configuración de inventario

Solo necesita modificar un único archivo, que es el inventario, donde definiremos la IP del servidor donde vamos a instalar o actualizar Alfresco, y ahí definiremos los parámetros utilizados para la configuración de Alfresco.

Por ejemplo, en inventory/hosts.yml:

---
  alfresco:
    hosts:
      10.xx.xx.xx:                                                                                       # Cambiar IP del servidor de Alfresco
        ansible_user: greencore                                                                          # Usuario a utilizar en SSH
        alfresco_installer: alfresco-community-installer-201707-linux-x64.bin                            # Versión del instalador, descomentar
        # antigua
        #alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
        alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties     # Ruta del archivo alfresco-global.properties
        alf_root: /opt/alfresco_community/                                                               # Raíz de Alfresco
        dir_root: /opt/alfresco_community/alf_data                                                       # Directorio alf_data
        solr4_root: /opt/alfresco_community/alf_data/solr4/index                                         # Directorio de Solr
        installer_delay: 190                                                                             # Tiempo a esperar que complete el instalador

Antes de continuar, comprobamos el inventario y la ejecución de ansible en general, ejecutando:

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"
}

Solo para comprobar la disponibilidad de archivos de configuración, archivos de descarga, módulos de Python requeridos para módulos de Ansible, etc., primero vamos a ejecutar ansible en modo dry-run, lo que significa que no realizará ningún cambio.

ansible-playbook -C -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql

Si no detectamos ningún problema, ahora podemos ejecutar sin la opción -C para realizar la instalación de Alfresco:

ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql

Actualización de Alfresco

Antes de iniciar, se recomienda comprobar los servicios del equipo antes de actualizar, seguir las normas de solicitud de cambio, utilizar equipos de prueba y siempre realizar respaldos de equipos en producción.

En caso de estar realizando todo el laboratorio de instalación y actualización, es posible que necesite cambiar la versión de Alfresco a ser instalada según el archivo de inventario.

En este caso, los tags adicionales de mysql_preupgrade y mysql_postupgrade se encargan de realizar respaldos de datos, mover el directorio de Alfresco, y re-importar los datos en MySQL, así como el dir.root para ser aplicados en la actualización.

ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade

Ahora solo falta comprobar el servicio, que el contenido está en su lugar, y revisar los archivos de logs por posibles mensajes de error.

Depuración

Si algo falla, por ejemplo si el tiempo de espera del instalador es muy bajo, puede continuar después de esa tarea, usando este comando como base:

ansible-playbook -i inventario playbook.yml --tags a,b,c --start-at-task="Nombre completo de la tarea"
Acerca del proyecto

Alfresco52 install and upgrade role

Instalar
ansible-galaxy install fede2cr.alfresco52
Licencia
Unknown
Descargas
108
Propietario
Hacker, profesor, cervecero, luthier, cocinero, maker, astrónomo, biólogo, fotógrafo. Trabajo en Microsoft.