blog.bartlweb - a technologist's external brain

Alfresco Labs 3.1 unter OpenSuse 11.1 (Linux) installieren

Folgende Schritte und Kniffe sind für die Installation von Alfresco Labs 3.1 unter OpenSuse 11.1 notwendig:

  1. Java installieren
  2. ImageMagick installieren
  3. SWFTools installieren
  4. MySQL installieren
  5. OpenOffice installieren
  6. Alfresco-Installer ausführen
  7. Alfresco für MySQL konfigurieren
  8. Alfresco-Troubles beheben
  9. Firewall einrichten
  10. init-Skript einrichten
  11. Alfresco mittels mod_proxy ansprechen

Tomcat Log-Datei für die Fehlerdiagnose: /opt/Alfresco/tomcat/logs/catalina.out

Bitte Alfresco frühestens nach Schritt 6 zum Ersten Mal starten und die Logdatei auf Fehler überprüfen.

Sollten Zusatzmodule (.amp) installiert werden, müssen diese unter /opt/Alfresco/amps kopiert werden. Danach /opt/Alfresco/apply_amps.sh ausführen. (Sinnvoll erst, wenn Alfresco einwandfrei läuft, auch hier wieder die Log-Datei auf Fehler überprüfen. Ein Backup der War-Datei wird unter /opt/Alfresco/tomcat/webapps/alfresco.war-<Datum> angelegt.)

1. Java installieren

Installieren Sie über OpenSuse’s YUM (Yast Update Manager, zu finden unter Yast -> Software -> Software Management) mindestens Version 1.6 von Suns Java Plattform.

2. ImageMagick installieren

Aktuelle Version über YUM installieren.

3. SWFTools installieren

Zu finden unter: http://www.swftools.org/. Diese müssen selbst kompeliert werden und benötigen einige tools als Voraussetzung:

  • make
  • g++-4.1
  • zlib1g-dev
  • libungif4-dev
  • libjpeg62-dev
  • libfreetype6-dev
  • libt1-dev
  • xpdf-utils
  • xpdf-common

Hinweis: Packet mittels ./configure, make und make install installieren (eventuell öfteres Ausführen bis alle abhängigen Softwarepakete installiert sind notwendig)

Installation durch Aufruf von pdf2swf testen.

4. MySQL installieren

MySQL Datenbank ebenfalls über YUM installieren. (setzen des Root-Passworts nicht vergessen)

5. OpenOffice installieren

OpenOffice ebenfalls über YUM installieren.

6. Alfresco-Installer ausführen

Laden Sie sich den aktuellen Installer für Linux von Alfresco Labs herunter (http://wiki.alfresco.com/wiki/Download_Labs) und führen Sie diesen aus. Folgen Sie den wenigen Anweisungen am Bildschirm.

7. Alfresco für MySQL konfigurieren

Um Alfresco mit MySQL zu betreiben sind einige Schritte notwendig.

1. Datenbank importieren

mysql -u root -p
source /opt/Alfresco/extras/databases/mysql/db_setup.sql

2. Datenverzeichnis von Alfresco löschen (wird beim Starten neu erzeugt)

Ist nur vorhanden falls Alfresco schon einmal gestartet wurde.

rm -R /opt/Alfresco/alf_data/

3. Konfiguration anpassen

/opt/Alfresco/alfresco.sh

  • setzen Sie ALF_HOME auf /opt/Alfresco
  • setzen Sie JAVA_HOME auf /usr/lib/jvm/java

/opt/Alfresco/tomcat/shared/classes/alfresco/extension/custom-hibernate-dialect.properties

  • Kommentieren Sie hier den MySQL-Dialect aus und setzen sie alle anderen unter Kommentar.

/opt/Alfresco/tomcat/shared/classes/alfresco/extension/custom-repositories.properties

  • Setzen Sie den Pfad für dir.root absolute: dir.root = /opt/Alfresco/alf_data
  • Kommentieren Sie alle db. Paremeter aus (db.username, db.password, db.pool.inital, db.pool.max). Passwort und Benutzername sind durch das zuerst importierte SQL-Skript angelegt worden.
  • setzen sie die Pfade unter “Sample external executable locations”. Bei einer Standardinstallation sollten diese wie folgt lauten:

    ooo.exe=/usr/lib/ooo3/program/soffice
    ooo.user=${dir.root}/oouser
    img.root=/usr
    swf.exe=/usr/local/bin/pdf2swf

  • Setzen sie das index tracking indem Sie index.tracking.cronExpression auskommentieren und index.recovery.mode=AUTO hinzufügen
  • Kommentieren sie db.driver und db.url für MySQL aus un setzen Sie alle anderen unter Kommentar.

8. Alfreso-Troubles beheben

Leider treten nun in Alfresco immer noch einige Probleme auf:

  • Vorschaubild in der Document Library werden zu groß generiert
    Unter Linux schein in der Version 3.1 von Alfresco Labs der Resize mittels ImageMagick nicht standardmäßig zu funktionieren. Abhilfe schafft ein kleiner Eintrag in der Datei /opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/content-services-context.xml
     
    Fügen Sie am Ende der Datei unter dem xml-Eintrag  ‘<property name=”checkCommand”>’ -> ‘<bean name=”… ‘ -> ‘<property name=”CommandsAndArguments”>’ folgenden property-Dialog hinzu:
     
    <property name="errorCodes">
      <value>2</value>
    </property>
  • Vorschaubild in der Document Library wird nicht generiert
    Wird ein Dokument per Firefox hinaufgeladen wird kein Vorschaubild generiert. Dabei handelt es sich offenbar um ein Browser-Problem da bei Uploads mittels anderen Browsern die Generierung einwandfrei funktioniert.
  • Kalender-Eintrag lässt sich nicht erstellen
    Auch hier wieder ein Browser-Problem (Vermutlich JS-Fehler). Im Internet Explorer funktioniert es einwandrei.
  • Des weiteren sind generell auch einige CSS Cross-Browser Probleme zu verzeichnen.
  • Flash-Uploader funktioniert in Firefox via https nicht
  • Benutzernamen dürfen keinen Punkt enthalten, da ansonsten einige Funktionen in Share nicht funktionieren
  • Sites können nur vom Ersteller gelöscht werden, wird der erstellende Benutzer gelöscht wird die Site nicht mitgelöscht und kann auch nicht mehr entfernt werden
  • Pagebrowser im Modul Links funktioniert nicht
  • Wíki-Seiten dürfen keine Umlaute enthalten, so angelegte Seiten können weder bearbeitet noch gelöscht werden.

9. Firewall einrichten

Öffnen Sie folgende Ports in der Firewall:

Tomcat (Webinterface): 8080 TCP
FTP: 21 TCP
Samba (Windows-Freigabe): 139 TCP, 445 TCP, 137 UDP, 138 UDP

10. init-Skript einrichten

Kopieren Sie das folgende Skript nach /etc/init.d/ und passen Sie die Parameter ALF_HOME und JAVA_HOME an Ihre Installation an (sollten für eine Standardinstallation schon stimmen). Stellen Sie die Autostarts mittles Yast-> System -> System Services (Runlevel) ein. Aktivieren Sie hier sowohl MySQL als auch Alfresco.

#!/bin/sh
# Start or stop Alfresco server
# Set the following to where Tomcat is installed
ALF_HOME="/opt/Alfresco"
cd "$ALF_HOME"
APPSERVER="${ALF_HOME}/tomcat"
export JAVA_HOME="/usr/lib/jvm/java"
# Set any default JVM values
export JAVA_OPTS='-Xms128m -Xmx512m -XX:MaxPermSize=128m -server'
# Following only needed for Sun JVMs before to 1.5 update 8
export JAVA_OPTS="${JAVA_OPTS} -XX:CompileCommand=exclude,org/apache/lucene/index/IndexReader\$1,doBody -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo\$Merger,mergeIndexes -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo\$Merger,mergeDeletions"
#
if [ "$1" = "start" ]; then
"${APPSERVER}/bin/startup.sh"
elif [ "$1" = "stop" ]; then
"${APPSERVER}/bin/shutdown.sh"
fi

11. Alfresco mittels mod_proxy ansprechen

Um nun eine Alfresco Installation mittels mod_proxy und den bereits vorhandenen Webserver anzusprechen bedarf es in den Proxy-Einstellungen einer kleinen Rewrite-Regel da Tomcat automatisch immer /alfresco/<url> oder /share/<url> aufruft. Ein gültiger Apache-Proxy hat für Share also folgendes Setting:

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
 
ProxyPreserveHost On
 
RewriteEngine On
RewriteRule ^/share/proxy/(.*) /page/proxy/$1 [L,QSA,PT]
RewriteRule ^/share(.*) /$1 [PT]
 
ProxyPass / http://alfrescoserver:8080/share/
ProxyPassReverse / http://alfrescoserver:8080/share/

eine zweite Variante währe die Kombination von mod_proxy und mod_proxy_ajp um die Kommunikation zwischen Apache und Tomcat über das Apache JServ Protocol abzuwickeln.

  • mod_proxy_ajp aktivieren
  • in /opt/Alfresco/tomcat/conf/server.xml die Zeile mit dem AJP Connector ausdokumentieren
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" redirectPort="8443" protocol="AJP/1.3" />
  • die Domain von ProxyPass und ProxyPassReverse auf ajp://alfrescoserver:8009/share/ abändern
  • Port 8009 (TCP) in der Firewall öffnen

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "1083" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.