Alfresco community edition auf MacOSX
Also ich kann mir nicht vorstellen, daß das nicht schon jemand anders bechrieben hat - aber ich hab's nicht gefunden. Also liefere ich es selber.
Ich war vor einigen Tagen auf einer von Optaros ausgerichteten Vernastaltung in München bei der es um Alfresco ging. Ian Powells von Alfresco hat auch eine kurze Präsentation gegeben.
Ich verfolge das Werden von Alfreco schon seit fast eineinhalb Jahren und mein Interesse wurde jetzt erneut geweckt, da ich mich zur Zeit intensiv mit JSR-170 (JCR) beschäftige und Alfreco den Ruf eines sehr guten und schnellen Repositories hat.
Also ich habe es nicht geschafft auf Anhieb Alfresco auf meinem Mac zum Laufen zu bringen und habe dann einige Dinge konfigurieren müssen um es dennoch zum Laufen zu bekommen. Hier sind meine Schritte:
-Download von Alfresco Community Edition hier http://dev.alfresco.com/downloads/. Ich habe die 2.0 Version gewählt mit dem Dateinamen alfresco-community-war-2.0.0.tar.gz
Entpacken der Datei
mkdir alfresco2 cd alfresco2 tar -xvzf /path/to/alfresco-community-war-2.0.0.tar.gzIch nenne obiges alfresco2 Verzeichnis ab jetzt DIST_HOME.
Ich verwende Tomcat 5.5 (5.5.20 um genau zu sein). Das Tomcat Verzeichnis nenne ich jetzt mal TOMCAT_HOME. Jetz braucht man noch ein Verzeichnis indem Alfresco später die Lucene Indexes und die Repository Dokumente ablegt. Dies kann sich irgendwo befinden, also irgendeines auswählen oder erstellen. Von nun an ALF_DATA_HOME genannt.
Dann muß man die Alfresco Konfiguration auf dieses Szenario individualisieren, was man durch das zur Verfügungstellen bestimmter von Alfrescos Spring setup ausgewerteter Dateien bewerkstelligt:
Also erstellt man den Pfad TOMCAT_HOME/shared/classes/alfresco/extension und kopiert die Dateien
custom-hibernate-dialect.properties custom-repository-context.xml custom-repository.propertiesdort hinein. Diese findet man in DIST_HOME/extensions/extension. Wir werden der Einfachheit halber hsqldb als Datenbank verwenden und passen obige Dateien an diesen Fall an. In der Datei custom-hibernate-dialect.properties entfernen wir das Kommentarzeichen in Zeile 9 und aktivieren damit den HSQL Dialekt. In custom-repository.properties ändern und aktivieren wir Zeile 8 und setzen dir.root auf den Pfad den wir oben ALF_DATA_HOME genannt haben. Dies sollte ein absoluter Pfad sein. Wir aktivieren die Zeilen 13,14 und setzen den username auf 'sa' und das passwort lassen wir leer. Dann aktivieren wir die Zeilen 24, 29 und 30. So jetzt laden wir uns die HSQL Distribution von http://hsqldb.org/ herunter (Ich habe 1.8.0.7 verwendet), entpacken die Datei und kopieren lib/hsqldb.jar aus dem entpackten Archiv nach TOMCAT_HOME/common/lib .
Dann kopieren wir das Verzeichnis DIST_HOME/alf_data inkusive Inhalt nach TOMCAT_HOME. Dieses enthält die Beispiel hsqldb Daten.
So, jetzt sollte alles soweit fertig sein. Wir müssen jetzt noch den Tomcat starten und ihm ein bbisschen mehr Speicher spendieren. Am einfachsten geht das auf der Konsole (symbolische Namen durch echte Pfade ersetzen):
cd TOMCAT_HOME export CATALINA_OPTS="-server -Xmx1024M" bin/startup.shJetzt sollten wir noch ein
tail -f logs/catalina.outabsetzen um dem Geschehen folgen zu können. Nun gehen wir mit einem geeigneten Browser auf http://localhost:8080/manager/html (in TOMCAT_HOME/conf/tomcat-users.xml muß ein Nutzer mit der Rolle manager eingerichtet sein), loggen uns ein deployen DIST_HOME/alfresco.war. Dabei behalten wir catalina.out im Auge. Jetz sollten wir unter http://localhost:8080/alfresco etwas zu sehen bekommen und können uns dort mit admin/admin einloggen.
Wer aufmerksam ist wird in catalina.out sehen, daß der CIFS Service nicht gestartet werden konnte. Dieser benötigt privilegierte TCP Ports und kann daher unter einem normal Nutzerkonto nicht starten. Abhilfe schafft ein
sudo bin/startup.shVoila, alles sollte laufen. Viel Spass beim spielen! Noch eine kleine Bemerkung: Sollte der Tomcat die alfrecsco webapp nicht starten können und man faährt dann den Tomcat wieder herunter, so bekommt man beim nächsten Versuch irgendwelche RMI Fehlermeldungen, daß irgendwelche Ports (50500) nicht gebunden werden konnten oder ähnlich. Das liegt daran, daß bei einem solchen Abbruch noch Zombie Java Threads weiterlaufen, die diesen Port belegen (was ein netstat -n -a -f inet | grep 50500 auch bestätigt). Man sollte also mit ps aux | grep java die entprechenden Prozesse finden und killen.
Posted at 08:48AM Jun 27, 2007 by joerg in Allgemein |