fede2cr.alfresco52
alfresco_ansible 
Recettes Ansible pour Alfresco
Description
Recettes pour :
- Installation et mise à jour automatique d'Alfresco 5.2
- Installation automatique d'Alfresco 6.1 (en cours)
Utilisation
Le rôle Ansible pour Alfresco a été conçu de manière à ce que les tâches soient divisées en tags, ce qui permet, lors d'une seule exécution séquentielle, de choisir quelles portions nous voulons exécuter. Ainsi, le même rôle peut installer Alfresco sur une nouvelle machine ou mettre à jour vers la version indiquée dans l'inventaire.
Installation depuis zéro
Exigences pour Ansible
Sur un ordinateur avec Ubuntu 18.04, qu'il soit physique ou virtualisé, avec suffisamment d'espace pour l'installation d'Alfresco et la sauvegarde de ses données, il est d'abord nécessaire d'activer le service SSH, de copier une clé SSH vers l'utilisateur qui sera utilisé pour la connexion, et de créer un droit sudo en créant avec l'utilisateur approprié le fichier /etc/sudoers.d/ansible
:
%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty
Ensuite, nous installons quelques paquets nécessaires pour la connexion initiale, à la fois pour la distribution et pour Python :
# Paquets Ubuntu
sudo apt install -y python3-minimal python3-pip
# Pour MySQL
sudo apt install -y python3-pymysql
# Pour PostgreSQL
python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java
# Paquets Python
sudo pip3 install ansible psutil # Peut omettre "ansible" sur la machine distante, cela n'est nécessaire que sur la machine contrôleur
Configuration de l'inventaire
Vous devez simplement modifier un seul fichier, qui est l' inventaire, où nous allons définir l'adresse IP du serveur sur lequel nous allons installer ou mettre à jour Alfresco, et y définir les paramètres utilisés pour la configuration d'Alfresco.
Par exemple, dans inventory/hosts.yml
:
---
alfresco:
hosts:
10.xx.xx.xx: # Changer l'IP du serveur Alfresco
ansible_user: greencore # Utilisateur à utiliser en SSH
alfresco_installer: alfresco-community-installer-201707-linux-x64.bin # Quelle version de l'installateur, décommenter
# ancienne
#alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties # Chemin du fichier alfresco-global.properties
alf_root: /opt/alfresco_community/ # Racine d'Alfresco
dir_root: /opt/alfresco_community/alf_data # Répertoire alf_data
solr4_root: /opt/alfresco_community/alf_data/solr4/index # Répertoire Solr
installer_delay: 190 # Temps à attendre que l'installateur termine
Avant de continuer, vérifions l'inventaire et l'exécution générale d'Ansible en exécutant :
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"
}
Pour vérifier simplement la disponibilité des fichiers de configuration, des fichiers de téléchargement, des modules Python requis pour les modules Ansible, etc., nous allons d'abord exécuter Ansible en mode dry-run, ce qui signifie que cela ne fera aucun changement.
ansible-playbook -C -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
Si nous ne détectons aucun problème, nous pouvons maintenant exécuter sans l'option -C
pour effectuer l'installation d'Alfresco :
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
Mise à jour d'Alfresco
Avant de commencer, il est conseillé de vérifier les services de la machine avant de mettre à jour, de suivre les règles de demande de changement, d'utiliser des machines de test et de toujours faire des sauvegardes des machines en production.
Si vous effectuez le laboratoire complet d'installation et de mise à jour, il est possible que vous deviez changer la version d'Alfresco à installer dans le fichier d'inventaire.
Dans ce cas, les tags supplémentaires mysql_preupgrade et mysql_postupgrade s'occupent de faire des sauvegardes de données, de déplacer le répertoire d'Alfresco et de réimporter les données dans MySQL ainsi que le dir.root pour être appliqués lors de la mise à jour.
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade
Maintenant, il suffit de vérifier le service, que le contenu est à sa place, et de consulter les fichiers journaux pour d'éventuels messages d'erreur.
Débogage
Si quelque chose échoue, par exemple si le temps d'attente de l'installateur est trop court, vous pouvez continuer après cette tâche en utilisant comme base cette commande :
ansible-playbook -i inventaire playbook.yml --tags a,b,c --start-at-task="Nom complet de la tâche"
ansible-galaxy install fede2cr.alfresco52