FLOW3 zu installieren ist eigentlich relativ simple. Das ist wie beim Kochen, wenn man sich ans Rezept hält kann FLOW3 schnell serviert werden.
Hier erstmal unsere Zutaten, die zwingend notwendig sind:
- Ein Webserver (empfohlen wird ein Apache mit aktiviertem mod_rewrite [1])
- PHP 5.3.2 oder höher
- Eine PDO kompatible Datenbank wie z.B. MySQL [2]
- Zugriff auf die Kommandozeile
Als Webserver sollte auch ein IIS oder andere funktionieren, aber getestet hat es wohl noch keiner. Wichtig ist jedenfalls das mod_rewrite aktiviert ist [1]. Solltet Ihr PHP selbst kompiliert haben müsst Ihr checken ob Ihr die PHP Module "mbstring" und "pdo_sqlite" aktiviert habt. Da der Development Kontext recht viel Memory benötigt solltet Ihr noch das Memory Limit in der php.ini auf mind. 250MB stellen.
Wenn wir alle Zutaten zusammen haben fangen wir direkt mit den Vorbereitungen an.
Unser Hauptgericht, FLOW3, besorgen wir uns direkt aus dem GIT Repository. Alternativ könnten wir uns von der FLOW3 Seite das letzte veröffentlichte Release herunterladen. Aber in diesem Tutorial setzen wir auf ein frisches Hauptgericht und nicht auf etwas aus der Tiefkühltruhe.
FLOW3 herunterladen

Nehmen wir an FLOW3 soll später unter /www/projektX laufen. Führen wir den folgenden Befehl aus, wird die Distribution in /www/ in dem Ordner projectX abgelegt.
Solltet Ihr noch kein GIT installiert haben führt einfach folgenden Befehl aus
apt-get install git-core
Nachdem GIT installiert wurde könnt Ihr die GIT Befehle nun nutzen. Ziehen wir uns nun die Distribution
git clone --recursive git://git.typo3.org/FLOW3/Distributions/Base.git /www/projektX

Der Parameter --recursive ist wichtig, da die Packages in der Distribution nur als External eingebunden sind, ohne das --recursive würden uns diese Packages fehlen. Solltet Ihr eine ältere GIT Version haben in der --recursive noch nicht unterstützt wird müsst Ihr folgendes ausführen
git clone git://git.typo3.org/FLOW3/Distributions/Base.git projectX git submodule init git submodule update
Das ganze sollte danach in etwas so ausschauen
www/
projectX/
Build/
Configuration/
Settings.yaml.example
...
Packages/
Framework/
TYPO3.FLOW3/
...
Web/
.htaccess
index.php
flow3
flow3.bat
Berechtigungen setzen
Da FLOW3 vom Webbrowser verwendet wird und natürlich von uns von der CLI, müssen wir als nächstes die Berechtigungen setzen. Das brauchen wir idealerweise nicht selbst machen, hier bietet das FLOW3 CLI Interface ein entsprechendes Kommando. Dazu müssen wir uns auf der Kommandozeile nur im Ordner /www/projectX befinden, da dort das CLI Script liegt.
./flow3 core:setfilepermissions kj187 www-data www-data
"kj187" ist in dem Fall der eigene Benutzername, dieses solltet Ihr also mit euerem ersetzen. Der zweite Parameter ist der Benutzername des Webservers und der dritte der Name der Gruppe vom Webserver.
Check
An der Stelle können wir nun schon kurz checken ob FLOW3 funktioniert. Dafür führen wir im Hauptverzeichnis folgenden Befehl aus (Achtung: der erste Aufruf kann ein wenig dauern!)
./flow3 help
Folgendes Ergebnis sollten wir nun bekommen 
Web Server Konfiguration
Damit der ganze Spass nun natürlich auch vom Browser aufgerufen werden kann müssen wir dem Kind nun einen Namen geben.
<VirtualHost *:80>
DocumentRoot /www/projectX/Web/
ServerName projectX.local
</VirtualHost>
Damit die Werte aus der .htaccess im Web Ordner auch greifen erlauben wir hier das überschreiben
<Directory /www/projectX/>
AllowOverride FileInfo
</Directory>
Jetzt müssen wir noch festlegen unter welchem Kontext die FLOW3 Installation laufen soll. Per Default gibt es
- Development
- Staging
- Testing
- Production
Fürs Entwickeln nutzen wir also Development und um die spätere Liveumgebung zu simulieren richten wir uns direkt einen Produktion Kontext ein.
<VirtualHost *:80>
DocumentRoot /www/projectX/Web/
ServerName dev.projectX.local
SetEnv FLOW3_CONTEXT Development
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/projectX/Web/
ServerName projectX.local
SetEnv FLOW3_CONTENT Production
</VirtualHost>
Die URLs tragen wir noch schnell in die /etc/hosts ein
127.0.0.1 dev.projectX.local 127.0.0.1 projectX.local
starten den Apache Server kurz neu und schon sollte unser FLOW3 Gericht servierbereit sein.
Das war es soweit, ich hoffe es hat euch geschmeckt! Fragen, Anregungen, Lob und Kritik sind per Kommentar sehr erwünscht!
[1] http://httpd.apache.org/docs/2.3/mod/mod_rewrite.html
[2] http://de2.php.net/manual/de/pdo.drivers.php

