Dez 14

Gegen Jahresende geht die Workload zum Glück etwas nach unten, daher habe ich endlich mal Zeit, mich wieder um FLOW3 zu kümmern. Bevor aber FLOW3 installiert werden kann, muss zunächst mal PHP 5.3alpha installiert werden und genau da liegt momentan das Problem auf Mac OS X. Man kann nun entweder die Source nehmen und alles selbst kompilieren – aber um ehrlich zu sein – ist mir das zu kompliziert. Oder man kann ein fertiges Image verwenden – dieses scheint aber veraltet zu sein. Ich will mit FLOW3 arbeiten und nicht Stunden an der Installation der Basis verbringen müssen. Fertige Binaries gibt es nämlich für Mac OS X noch nicht. Also habe ich mich auf die Suche nach einer Möglichkeit gemacht, FLOW3 und alle benötigten Programme (Apache2, PHP 5.3alpha3) unter Mac OS X 10.5 vernünftig zum Laufen zu bekommen.

Aufgrund eines Postings von Karsten auf http://beat.typo3.org habe ich mich dran gemacht, MacPorts (ein Packetverwaltungssystem für BSD-Systeme, Vergleichbar mit apt für Debian) auszuprobieren und voilá – funktioniert perfekt und ist wirklich (auch für Nicht-Admins) gut durchzuführen. Damit Ihr das genauso einfach nachvollziehen könnt, habe ich die Schritte einmal detailiert aufgeschrieben (Eingaben in der Shell in blauer Farbe):

  1. Zunächst einmal geht Ihr auf http://macports.org und ladet Euch die MacPorts-Software herunter: Download (diese ist für 10.5 – auf der Seite selbst gibt es andere Versionen für 10.4 und 10.3). Diese installiert ihr nun.
  2. Nun macht Ihr eine Shell (Terminal) auf und macht Euch dort zum Admin-User mittels:
    sudo su (Passwort-Eingabe)
  3. Da bei der gleich folgenden Installation von PHP5 aus irgendeinem Grund PDO SQLite nicht mit installiert wird (welches aber per default den Zugriff auf die Datenbank unter FLOW3 darstellt bis die Konfigurationsmöglichkeiten für MySQL fertig sind), müssen wir dieses vorher im Portfile entsprechend konfigurieren. Dazu öffnen wir die Datei /opt/local/var/macports/sources/rsync.macports.org/release/ports/www/php5-devel und entfernen das out bei without (sodass nur noch with da steht). Dann speichern und schließen.
    –without-pdo-sqlite \ => –with-pdo-sqlite \
  4. Weiter geht es mit der Installation der PHP Version 5.3alpha3 (welche auch gleichzeitig den Apache2 mit installiert):
    port install php5-devel
  5. Nun könnt Ihr Euch erst mal einen Kaffee holen – der nun folgende Prozess dauert ca. 30 Minuten (MacBookPro 2.4 GHz). Es werden neben PHP5 und Apache2 auch sämtliche Pakete installiert und konfiguriert, für die Abhängigkeiten bestehen. Irgendwann ist das ganze durchgelaufen und dann geht’s weiter.
  6. Nun brauchen wir ein Konfigurationsfile für den Apache:
    cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf
  7. Dort müssen wir dort (hhtpd.conf) PHP5 integrieren:
    cd /opt/local/apache2/modules
    /opt/local/apache2/bin/apxs -a -e -n “php5″ libphp5.so
  8. Als nächstes denken wir uns ein Verzeichnis aus, in welches FLOW3 später installiert wird – das sogenannte DocumentRoot. Ich habe mir dafür /Library/WebServer/FLOW3 ausgedacht.
  9. Jetzt öffnen wir die Datei /opt/local/apache2/conf/httpd.conf und suchen dort nach der Zeile: DocumentRoot “/opt/local/apache2/htdocs” und ändern diese in DocumentRoot “/Library/WebServer/FLOW3″
  10. In der selben Datei suchen wir dann nach <Directory “/opt/local/apache2/htdocs”> und ersetzen die Zeile durch: <Directory “/Library/WebServer/FLOW3″>
  11. Weiterhin in httpd.conf suchen wir nach DirectoryIndex index.html und hängen ein index.php daran: DirectoryIndex index.html index.php
  12. Nun müssen wir in httpd.conf noch den PHP-Type hinzufügen. Dazu suchen wir den Abschnitt <IfModule mime_module> und tragen in diesen die folgenden zwei Zeilen ein:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. Jetzt können wir die Datei httpd.conf speichern und schließen.
  14. Als nächstes legen wir uns eine php.ini Datei an:
    cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
  15. Nun öffnen wir die Datei php.ini:
    vi /opt/local/etc/php.ini
  16. In dieser Datei suchen wir nach dem Eintrag magic_quotes_gpc = On und ändern diesen in magic_quotes_gpc = Off
  17. Zusätzlich müssen wir den Zugriff auf SQLite sicherstellen in dem wir bei der folgenden Zeile das Semikolon am Anfang entfernen:
    ;extension=php_pdo_sqlite.dll
  18. Um nun den Webserver schneller starten zu können, macht es Sinn einen Alias im Userprofil anzulegen. Dafür sollten wir mittels exit den Adminuser wieder verlassen.
  19. Wir öffnen dazu unsere Profil-Datei:
    vi ~/.profile
  20. Dort fügen folgende Zeile hinzu:
    alias apache2ctl=’sudo /opt/local/apache2/bin/apachectl’
  21. Mit dem folgenden Befehl wird nun die Profil-Einstellung neu geladen:
    source ~/.profile
  22. Mittels des folgenden Befehls kann der Webserver nun gestartet werden:
    apache2ctl start
  23. Wir legen nun in das DocumentRoot (also in /Library/WebServer/FLOW3) eine Datei index.php mit dem folgenden Inhalt und rufen diese über einen Browser mit der Adresse http://localhost aus – dann sollten wir die phpinfo()-Ausgabe erhalten, bei der die erste Zeile PHP Version 5.3.0alpha3 lautet:
    <?php
    phpinfo();
    ?>
  24. Soweit so gut… weiter geht’s mit FLOW3
  25. Nun müssen wir FLOW3 auschecken, welches wir über den folgenden Befehl machen:
    svn checkout https://svn.typo3.org/FLOW3/Distribution/trunk /Library/WebServer/FLOW3/
  26. Nach ca. 2 Minuten habt Ihr FLOW3 lauffähig auf der Platte, samt allen Abhängigkeiten (die automatisch aufgelöst werden).
  27. Nun könnt Ihr im Browser folgendes eingeben um FLOW3 zu starten:
    http://localhost/Public/

Voilá – it works :-)

FLOW3-Startseite

FLOW3-Startseite

Dez 12

Robert hat einen sehr interessanten Podkast veröffentlicht, der während den TYPO3 Transition Days in Berlin aufgenommen wurde. Im Grunde enthält der Beitrag “nur” Statements von vielen Core-Entwicklern und was sie über die Entwicklung der beiden Hauptstränge 4.x und 5.x denken. So wird auch klar, in welche Richtung sich das Projekt entwickeln wird und das es selbstverständlich immer noch sehr viel Sinn macht, auf den bestehenden 4er-Zweig zu setzen. Zwanzig – wie ich finde – sehr lohnenswerte Minuten mit interessanten Einsichten ….

http://news.typo3.org/news/article/podcast-about-transition-days-published/

Nov 2

Am Dienstag, den 06.11.2007 werden Robert Lemke und Karsten Dambekalns auf der PHP-Conference in Frankfurt zwei sicherlich wegweisende Vorträge halten, deren Thema für TYPO3 5.0 immens wichtig ist.

Robert wird über “Beautiful code with AOP and DIreferieren, d.h. Aspect Oriented Programming und Dependency Injection am Beispiel des neuen TYPO3-Frameworks.

Karsten wiederum stellt die PHP-Implementierung des neuen Content-Repository (die zentrale Komponente des neuen Frameworks) im Vortrag “A JSR-283 CR in pure PHP” vor.

Nachdem wir beide aus beruflichen Gründen nicht an der diesjährigen TYPO3-Konferenz teilnehmen konnten (*schäm*), werden wir natürlich nach Frankfurt eilen, um diese beiden Vorträge nicht zu versäumen.