Benutzer-Werkzeuge

Webseiten-Werkzeuge


manuals:ueberblick:alfresco

Alfresco Upgrade

Alfresco wurde als Installationspaket ausgeliefert, das letzte war 201711. Installiert auf dem Server lion ist die Version 201707. Die letzte große Aktualisierung war das Paket 201707-GA (General availability). Die Upgrade-Seite rät, immer eine Neuinstallation durchzuführen und den existierenden Datenbestand anschließend auf die Neuinstallation zu kopieren.

Positiv ist, dass die Software selbstständig merkt, wenn die Datenbank einen älteren Stand hat und diesen sofort aktualisiert. Diese Seite beschreibt das Vorgehen beim Aktualisieren in meinem Umfeld (1x Produktivsystem - Ubuntu Server, 1x Testsystem - Debian Desktop).

Ab dem Jahr 2018 gibt es die Alfresco Version 6. Diese Version wird nur noch als Docker Container angeboten und bedarf daher eines völlig neuen Installationswegs. Installation, Upgrade, Sicherung und Datenübernahme müssen ausführlich getestet werden. Derzeit bleibe ich auf der Version 201707.

1. Installation auf dem Testsystem

Alfresco ist auf dem Testsystem nicht gestartet, Ich lösche den Pfad „~/alfresco-community“ und habe damit ein leeres System. Das Installationspaket wird gestartet und der grafische Wizard führt durch die Erstinstallation. Die Warnung zu kleinem Speicher und fehlenden Cores kann ignoriert werden.

2. Neue Test Installation starten und ausprobieren

Nun kann das Testsystem mit „~/alfresco-community/alfresco.sh start“ gestartet werden. Anschließend die neuen log's checken und per „http://ip-adresse:8080/share“ eine Verbindung aufbauen. Die Funktionalität ausprobieren…

3. Alfresco Keystore erzeugen und testen

Für die SSL Verschlüsselung ist es erforderlich, dass der Alfresco Keystore aktualisiert wird. In „~/alfresco-community/alf_data/keystore“ gibt es hierfür ein Skript „generate_keystores.sh“.

!! Wichtig !! In diesem Skript muss der korrekte Pfad „~/alfresco-community“ gesetzt werden. Standard ist hier „/opt/alfresco-5.2“

Am Ende gibt es einen Hinweis, welche Dateien anzupassen und zu kopieren sind:

You must copy the following files to the correct location.
 
 /home/andreas/ssl.repo.client.keystore
 /home/andreas/ssl.repo.client.truststore
 eg. for Solr 4 the location is SOLR_HOME/workspace-SpacesStore/conf/ and SOLR_HOME/archive-SpacesStore/conf/
 
/home/andreas/alfresco-community/alf_data/keystore/browser.p12 has also been generated.
 
Please ensure that you set dir.keystore=/home/andreas/alfresco-community/alf_data/keystore in alfresco-global.properties

Für das Testsystem habe ich die Anpassungen durchgeführt, „alfresco-global.properties“ musste nicht angepasst werden, da „dir.keystore“ bereits gesetzt war. Anschließend kann Alfresco wieder gestartet werden. Test auf „https://ip-adresse:8443/share“ ok, solr hat ein neues Dokument sofort indiziert.

Im Firefox kommt es zu Problemen mit dem SSL-Zertifikat, weil der Aussteller unbekannt ist. Abhilfe schafft das Zertifikat „browser.p12“, das ebenfalls generiert wurde und im keystore liegt. Import in „Meine Zertifikate“, das Passwort ist „alfresco“.

4. Neue Alfresco Version auf das Produktivsystem übertragen

4.1. Alte Alfresco Version sichern

Nun ist es an der Zeit, vom Produktivsystem eine Sicherung zu erzeugen. Üblicher Weg, Alfresco stoppen und per rsync das gesamte Verzeichnis „~/alfresco-community“ auf eine externe Festplatte kopieren.

4.2. Alte Alfresco Version umbenennen und Neue Version kopieren

Auf dem Produktivsystem wird nun der Pfad „~/alfresco-community“ in „~/alfresco-alt“ umbenannt. Anschließend wird das Testsystem „~/alfresco-community“ per rsync auf das Produktivsystem kopiert.

4.3. Alfresco AddOn Simple-OCR-Action bereitstellen

Für die OCR Funktionalität in dem Ordner „Post“ wird ein Plugin benötigt. Simple OCR Action in der Version 1.1.1 war bis zum 15.09.2017 im Einsatz. Die aktuelle Version ist 2.3.1. Ggf. muss ein neues Plugin besorgt werden, falls die Alfresco Version sich ändert. Die Site Keensoft Simple OCR enthält auch Informationen zum Ersteinsatz.

Bis 15.09.2017:

  • Das Plugin simple-ocr-repo.amp wird aus ~/alfresco-alt/amps wird in das Verzeichnis ~/alfresco-community/amps kopiert.
    Mit dem Kommando <Alfresco-Home>/bin/apply_amps.sh werden alle Plugins aktiviert.

Ab 15.09.2017:

  • Das Plugin simple-ocr-repo-2.3.1.jar wird aus ~/alfresco-alt/module/platform in das Verzeichnis ~/alfresco-community/module/platform kopiert.
  • Das Plugin simple-ocr-share-2.3.1.jar wird aus ~/alfresco-alt/module/share in das Verzeichnis ~/alfresco-community/module/share kopiert.
    Alle .jar-Dateien aus diesem Verzeichnis werden beim Start von Alfresco als Module identifiziert und geladen.

In der Datei ~/alfresco-alt/tomcat/shared/classes/alfresco-global.properties sind die notwendigen Ergänzungen enthalten und stehen nach dem Kopieren in das aktuelle Alfresco (siehe 5.) zur Verfügung.

5. Neue Alfresco Version testen

Zunächst wird die Datei „~/alfresco-alt/tomcat/shared/classes/alfresco-global.properties“ nach „~/alfresco-community/tomcat/shared/classes/alfresco-global.properties“ kopiert. Danach wird Alfresco wieder gestartet.

Die neue Alfresco Version kann nun mit „http://hse.koecher.it“ aufgerufen und getestet werden.

Meine alfresco-global.properties mit dem Stand 28.02.2018.

6. Daten übernehmen und erneut testen

Alfresco wird nun wieder gestoppt.

Anschließend wird das Verzeichnis „~/alfresco-community/alf_data“ gelöscht und dann per mv aus „~/alfresco-alt“ übernommen. So wird kein zusätzlicher Speicherplatz für das Repository benötigt. Das neue Repository ist noch auf dem Testsystem verfügbar und das unveränderte alte Repository gibt es auf der Sicherungsplatte.

Anschließend müssen keystore und truststore auf dem Produtivsystem wie in Schritt 3 erneut nach solr4 kopiert werden, da der keystore in „alf_data“ nun wieder den alten Zustand des Produktivsystem hat.

Dann kann Alfresco wieder gestartet werden und Alles sollte funktionieren.

7. Housekeeping wieder einrichten

Alfresco erzeugt einige log-Dateien und diese werden nicht von alleine bereinigt. Daher habe ich auf meiner Installation das Skript „clean_logs.sh“ erzeugt und lasse es per crontab laufen:

#!/bin/bash
# Crontab for your Alfresco user (owner of java process)
# 0 15 * * 1 /home/andreas/alfresco-community/bin/clean_logs.sh

ALF_HOME=/home/andreas/alfresco-community

LOGS_TOM=$ALF_HOME/tomcat/logs
LOGS_DAYS=30

find ${ALF_HOME}/* -mtime +${LOGS_DAYS} -name \*.log\* -delete 2>/dev/null
find ${LOGS_TOM}/* -mtime +${LOGS_DAYS} -name \*.log\* -delete 2>/dev/null
find ${LOGS_TOM}/* -mtime +${LOGS_DAYS} -name \*access_log\* -delete 2>/dev/null

Nach einem Upgrade muss das Skript von „~/alfresco-alt/bin“ nach „~/alfresco-community/bin“ kopiert werden.

Für die log-Dateien „catalina.out“ und „postgresql.log“ habe ich Einträge in /etc/logrotate.d erstellt.

andreas@lion:/etc/logrotate.d$ cat alf_catalina 
/home/andreas/alfresco-community/tomcat/logs/catalina.out {
  copytruncate
  daily
  rotate 10
  missingok
  dateext
  size 50M
}
andreas@lion:/etc/logrotate.d$ cat alf_postgres 
/home/andreas/alfresco-community/postgresql/*.log {
       weekly
       rotate 10
       copytruncate
       delaycompress
       compress
       notifempty
       missingok
}

Diese Einträge funktionieren auch nach einem Upgrade wieder, sofern sich nichts an der grundsätzlichen Struktur und Benennung von Alfresco geändert hat.

manuals/ueberblick/alfresco.txt · Zuletzt geändert: 2018-09-02 15:12 von andreas