fede2cr.alfresco52

alfresco_ansible Build-Status

Ansible-Rezepte für Alfresco

Beschreibung

Rezepte für:

  • Automatische Installation und Aktualisierung von Alfresco 5.2
  • Automatische Installation von Alfresco 6.1 (in Arbeit)

Nutzung

Die Ansible-Rolle für Alfresco wurde so erstellt, dass die Aufgaben in Tags unterteilt sind. Dadurch kann man bei einer einzigen sequenziellen Ausführung auswählen, welche Teile ausgeführt werden sollen. So kann die gleiche Rolle sowohl Alfresco auf einem neuen Rechner installieren als auch auf die im Inventar angegebene Version aktualisieren.

Installation von Grund auf

Anforderungen für Ansible

Auf einem physischen oder virtualisierten Ubuntu 18.04-Rechner mit ausreichend Speicherplatz für die Installation von Alfresco und zur Sicherung der Daten muss zunächst der SSH-Dienst aktiviert werden. Eine SSH-Schlüssel muss auf den Benutzer kopiert werden, der für die Verbindung verwendet werden soll. Außerdem muss ein Sudo-Recht erstellt werden, indem mit dem entsprechenden Benutzer die Datei /etc/sudoers.d/ansible erstellt wird:

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

Dann installieren wir einige benötigte Pakete für die erste Verbindung, sowohl von der Distribution als auch von Python:

# Ubuntu-Pakete
sudo apt install -y python3-minimal python3-pip

# Für Mysql
sudo apt install -y python3-pymysql

# Für PostgreSQL
python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java

# Python-Pakete
sudo pip3 install ansible psutil # "ansible" kann auf dem Remote-Rechner weggelassen werden, nur auf dem Controller notwendig

Konfiguration des Inventars

Es muss nur eine einzige Datei geändert werden, und zwar das Inventar, in dem wir die IP des Servers definieren, auf dem wir Alfresco installieren oder aktualisieren möchten, sowie die Parameter, die für die Konfiguration von Alfresco verwendet werden.

Beispiel für inventory/hosts.yml:

---
  alfresco:
    hosts:
      10.xx.xx.xx:                                                                                       # Ändern Sie die IP des Alfresco-Servers
        ansible_user: greencore                                                                          # Benutzer, der für SSH verwendet wird
        alfresco_installer: alfresco-community-installer-201707-linux-x64.bin                            # Welche Version des Installers, auskommentieren
        # alt
        #alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
        alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties     # Pfad zur Datei alfresco-global.properties
        alf_root: /opt/alfresco_community/                                                               # Alfresco Wurzelverzeichnis
        dir_root: /opt/alfresco_community/alf_data                                                       # alf_data Verzeichnis
        solr4_root: /opt/alfresco_community/alf_data/solr4/index                                         # Solr Verzeichnis
        installer_delay: 190                                                                             # Zeit, die gewartet wird bis der Installer abgeschlossen ist

Bevor wir fortfahren, überprüfen wir das Inventar und die Ausführung von Ansible im Allgemeinen, indem wir Folgendes ausführen:

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

Um nur die Verfügbarkeit von Konfigurationsdateien, Downloads, benötigten Python-Modulen für Ansible und ähnlichem zu überprüfen, führen wir zuerst Ansible im Dry-Run-Modus aus. Das bedeutet, dass keine Änderungen vorgenommen werden.

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

Wenn wir keine Probleme feststellen, können wir jetzt ohne die Option -C die Installation von Alfresco durchführen:

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

Aktualisierung von Alfresco

Vor Beginn wird empfohlen, die Dienste des Systems zu überprüfen, bevor ein Update durchgeführt wird. Befolgen Sie die Änderungsanforderungen, verwenden Sie Testmaschinen und erstellen Sie immer Sicherungen von Produktionsmaschinen.

Wenn Sie das komplette Labor zur Installation und Aktualisierung durchführen, müssen Sie möglicherweise die zu installierende Version von Alfresco gemäß der Inventardatei ändern.

In diesem Fall kümmern sich die zusätzlichen Tags mysql_preupgrade und mysql_postupgrade um das Backup der Daten, verschieben das Alfresco-Verzeichnis und importieren die Daten in MySQL sowie das dir.root für die Aktualisierung.

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

Nun müssen wir nur noch den Dienst überprüfen, dass der Inhalt an seinem Platz ist, und die Protokolldateien auf mögliche Fehlermeldungen beobachten.

Fehlerbehebung

Wenn etwas schiefgeht, z.B. wenn die Wartezeit des Installers zu kurz ist, können Sie nach dieser Aufgabe fortfahren, indem Sie diesen Befehl als Grundlage verwenden:

ansible-playbook -i inventar playbook.yml --tags a,b,c --start-at-task="Vollständiger Name der Aufgabe"
Über das Projekt

Alfresco52 install and upgrade role

Installieren
ansible-galaxy install fede2cr.alfresco52
GitHub Repository
Lizenz
Unknown
Downloads
108
Besitzer
Hacker, profesor, cervecero, luthier, cocinero, maker, astrónomo, biólogo, fotógrafo. Trabajo en Microsoft.