Archiv

Artikel Tagged ‘Programmierung’

Framework FLOW3 - Installation und Einrichtung

23. Dezember 2008

Derzeit bieten die Entwickler noch keine fertigen Packages zum Download an.
Das hat einen recht simplen Hintergrund. FLOW3 ist eine Baustelle, es wird täglich an den Files gearbeitet.
Funktionalitäten sind mitunter nur teilweise oder noch gar nicht vorhanden.

Unter diesen Bedingungen würden zum Download bereitgestellte Packages mit Sicherheit eine Menge User auf den Plan rufen, die Probleme melden wollen, die längst bekannt sind bzw. zu späteren Zeitpunkten behandelt werden.

In dieser Phase können Probleme noch nicht supportet werden, Dokumentationen sind noch nicht vollständig, Tutorials fehlen. Punkte die den potentiellen Anwender verärgern und ihm zu früh die Freude am Produkt nehmen könnten.

Daten auschecken

Für den Entwickler steht allerdings ein Subversion Repository zur Verfügung, über das die Sourcen ausgecheckt werden können:

https://svn.typo3.org/FLOW3/Distribution/trunk/

Wer über den Browser ins Repository schaut wird feststellen, dass etliche Verzeichnisse leer sind. Spätestens beim Auschecken mit SVN wird man aber feststellen, dass etliche externe Ressourcen geladen werden. Die Entwickler nutzen die Möglichkeit, über svn:externals ihre Daten so zu verwalten, dass die Quellen nicht mehrfach gehalten werden und so ein hoher Synchronisations-Aufwand verursacht würde.

Subversion Client einrichten

Wer sich noch nicht mit SVN beschäftigt hat, dm empfehle ich diese Seite zu studieren:

http://tortoisesvn.net

…mit einer sehr ausführlichen Dokumentation zu TortoiseSVN unter:

http://tortoisesvn.net/docs/release/TortoiseSVN_de

TortoiseSVN ist als freies Open-Source Programm ein wirklich nützliches Tool für das Subversion Versionskontrollsystem unter Windows.

Linux-User könne sich ziemlich simpel eine SVN-Client installieren, z.B. unter Debian:
apt-get install subversion

Danach ein Verzeichnis anlegen:
shell# mkdir /var/www/flow3

…und die Daten aushecken:
shell# checkout https://svn.typo3.org/FLOW3/Distribution/trunk /var/www/flow3

Windows-User installieren sich Tortoise, legen sich ein Verzeichnis flow3 in ihrem Web-Root Verzeichnis an und klicken mit der rechten Mousetaste auf das Verzeichnis. Im Kontextmenü erscheint ‘SVN auschecken’ und im folgenden Eingabeformular wird die Quelladresse eingetragen. Die Zieladresse des neuen Ordners wurde direkt übernommen.

Hinweis: Möglicherweise können Firewalleinstellungen Probleme beim Übertragen der Daten verursachen. Kontrollieren Sie gegebenenfalls noch einmal Ihre Firewallkonfiguration.

Anmerkung: Ich gehe davon aus, dass Sie bereits eine Entwicklungsumgebung mit Webserver und Datenbank
eingerichtet haben, auch wenn die Datenbank für die ersten Schritte noch nicht notwendig ist.
Falls Sie das noch nicht erledigt haben, finden Sie auf der Seite von XAMPP und im Tutorial
PHP 5.3 alpha unter XAMPP den Weg dort hin.

Keine Konfiguration notwendig

Und das war es im Grunde auch schon fast. Linux User müssen noch den Public-Ordner im Verzeichnis /flow3 auf schreibbar setzen und dann kann auch schon getestet werden.
Es ist keine weitere Konfiguration notwendig, das Package läuft direkt so, wie es herunter geladen wurde.

Zum Testen einfach die URL des flow3-Ordners über das HTTP-Protokoll aufrufen:

http://localhost/flow3/Public

Wenn Sie nun das Eingangsbild ‘Welcome to Flow3!’ und weiteren Text sehen, haben Sie alles richtig gemacht!

FLOW3 Framework Default Startbildschim

FLOW3 Framework Default Startbildschim

Falls Sie wie im Tutorial PHP 5.3 alpha unter XAMPP beschrieben, einen virtuellen Host eingerichtet haben, nutzen Sie alternativ diese Adresse:

http://flow3local

Mehr Sicherheit

Für die Entwicklungsumgebung ist diese Einrichtung völlig ausreichend. Für ein Produktivsystem sollten Sie Verzeichnis so anlegen, dass es außerhalb des Web-Root Verzeichnisses liegt. Nur das Public-Verzeichnis sollte dann noch im Web-Root Verzeichnisse auftauchen und dieses Verzeichnis beinhaltet lediglich die ausführbare Index-Datei.

So erreichen Sie ein Höchstmaß an Sicherheit. Es sind so keine Sourcen aus dem Web durch direkte Aufrufe erreichbar und selbst wenn das Framework Flow3 schon von der Scriptingqualität auf höchsten Sicherheitsniveau agiert, bringt Ihnen das ‘Auslagern’ der Sourcen noch einmal den letzten Kick an Sicherheit.

Für diese Einrichtung müssen Sie allerdings Ihr Rewrite-Modul im Apache Webserver korrekt konfiguriert haben. Die htaccess-Datei, die die rewrite-Rules definiert liegt bereits im Public-Ordner. (ISS Nutzer, das Modul ISAP_rewrite)

Falls nichts geht, nicht verzweifeln - prüfen Sie noch einmal folgende Punkte:

  • Falls möglich, richten Sie das DocRoot-Verzeichnis des Webservers direkt auf das “Public”-Verzeichnis von FLOW3 ein. Da Sie sicher noch weitere Projekte verwalten, benutzen Sie dafür virtuelle Hosts dafür. Das ist nicht zwingend notwendig für die Funktion von FLOW3, erspart Ihnen mitunter allerdings Tippfehler und liefert einfach eine schönere und kurze URL und sorgt im Live-System für ein sicheres Framework.
  • Stellen Sie sicher, dass Ihr Webserver auf die Verzeichnisse “Public” und “Data” Schreibrechte hat. Unter Linux weisen Sie dem Webserver die Verzeichnisse z.B.: über den User www-data zu.
  • Stellen Sie sicher, dass der Webserver die Schreibrechte hat, in den temporären Ordner zu schreiben, der in der php.ini angegeben ist.
  • Für das korrekte routen der URL’s ist ein eingeschaltetes rewrite-Modul nötig. Wenn das nicht der Fall ist, erhalten Sie 404-Fehlermeldungen beim Aufruf der Adressen. Prüfen Sie die Einstellungen der Zeile AllowOverride FileInfo in der httpd.conf des Webservers.
    Prüfen Sie ebenfalls, ob die htaccess-Datei im Verzeichnis “Public” vorhanden ist und der Webserver Leserechte auf diese Datei hat.
  • Eine gute Idee ist es, den Cache im Problemfall zu leeren. Löschen Sie dazu alle Dateien in den Verzeichnissen “Public/Resources/*.*” and “Data/Temporary/*.*” und rufen Sie dann die URL noch einmal auf.
  • Benutzen Sie für den Aufruf die Developer-Startdatei index_dev.php. Die URL könnte dafür folgendermaßen aussehen:
    http://<yourURL>/index_dev.php/<yourModul>
  • Schauen Sie sich die Logdatei des Webserver an. in Windows kann Ihnen die Ereignisanzeige unter Systemsteuerung->Verwaltung->Ereignisanzeige ebenfalls mitunter recht gute Hinweise auf das Problem liefern.
  • Checken Sie die aktuellen Daten der letzten SVN-Revision aus. Mir ist es auch schon passiert, nach ewiger Fehlersuche dass das Problem in den drei Tage alten Daten lag. Nach einem Update lief alles fehlerfrei.
  • Und zum Schluss kann das Problem natürlich auch noch in Ihrer System- oder Webserverkonfiguration liegen. Wenn Sie also partout nicht zu einem Ergebnis kommen, prüfen Sie noch einmal genau Ihre Einstellungen der System- und Entwicklungsumgebung.

Jetzt ist alles soweit eingerichtet. Wie es weitergeht, erfahren Sie in den nächsten Tutorials.

cooper

FLOW3 Framework , , , , , , , ,

PHP 5.3 alpha-Versionen unter XAMPP einrichten

23. Dezember 2008

Einleitung

Wer sich jetzt schon einmal mit FLOW3 vertraut machen möchte, benötigt dafür eine installierte PHP-Version ab 5.3. FLOW3 hat bereits jetzt einige Features implementiert, die erst ab dieser Version verfügbar sind, wie beispielsweise die so lange vermissten Namespaces.

Die PHP-Version 5.3 alpha läuft allerdings noch nicht stabil. Auch können sich durchaus noch einige Rahmenbedingungen der Version bis zur ersten Release ändern, so dass es nicht unbedingt ratsam ist, wegen eines Flow3-Einblicks, das Produktivsystem komplett auf diese Alpha-Version umzustellen.

Eine Alternative bietet die Möglichkeit, die neue Version als parallele Version auf dem Port 81 zu installieren. Und weil ich selber XAMPP nutze, möchte ich in diesem kleinen Tutorial zeigen, wie PHP 5.3 alpha in eine bestehende XAMPP-Installation integriert werden kann.

Vorbereitung

Es kann sicher nicht schaden, Daten zu sichern. Allerdings werden alle, für diese Erweiterung notwendigen Eingriff, in separaten Ordnern und Konfigurationsdateien vorgenommen. Die originale XAMPP-Installation bleibt also völlig unberührt.
Laden Sie sich zunächst die aktuelle Windows x86 VC6 Datei php-5.3-win32-VC6-x86-latest.zip von der Seite
http://windows.php.net/snapshots/#php-5.3-win32-VC6-x86 herunter.

Hinweis: Das folgende Tutorial geht davon aus, dass Ihre XAMPP-Installation direkt auf dem Laufwerk C: liegt (C:\xampp). Sollten Sie XAMPP in ein anderes Verzeichnis installiert haben, müssen Sie die folgenden Pfadangaben entsprechend anpassen.

Los geht’s, Step 1 - Verzeichnisse anlegen:

Legen Sie im Verzeichnis C:\xampp\php\ ein neues Unterverzeichnis php53_alpha an.
Legen Sie im Verzeichnis C:\xampp\apache\ ein neues Unterverzeichnis logs_php53_alpha an.Kopieren Sie das Verzeichnis C:\xampp\apache\conf\ im selben Verzeichnis, und benennen Sie den kopierten Ordner conf-php53_alpha.

Step 2 - PHP Dateien entpacken:

Entpacken Sie die herunter geladene Datei in das Verzeichnis C:\xampp\php\php53_alpha.
Achten Sie darauf, dass Sie beim Entpacken keine weiteren Unterverzeichnisse erzeugen, die Datei php.exe muss sich direkt im Verzeichnis C:\xampp\php\php53_alpha\ befinden, neben all den zu PHP gehörenden Dateien und Unterverzeichnissen.

Step 3 - Apache Webserver konfigurieren:

Der Webserver soll später in einem separaten Prozess gestartet werden und der Zugriff auf Port 81 erfolgen. Dafür sind ein paar Einstellungen in den kopierten Konfigurationsdateien notwendig.

  1. Datei C:\xampp\apache\conf-php53_alpha\httpd.conf
  2. Ändern Sie den Port von 80 auf 81. Suchen Sie dazu die ZeileListen 80 und ändern diese auf Listen 81.

    Die Verzeichnisangaben in der httpd müssen an den aktuellen Pfad angepasst werden. Am einfachsten geht das mit der Suchen/Ersetzen Funktion Ihres Editors.

    Suche nach conf/ und ersetzen alle durch conf-php53_alpha/ um die Includes der Konfigurationsdateien anzupassen.

    Ebenso suche nach logs/ und ersetze alle durch logs-php53_alpha/ um die Pfadangaben der Logdateien anzupassen.

    Fügen Sie folgende Zeile z.B. unterhalb der ServerRoot Verzeichnisangabe ein:
    PidFile logs-php53_alpha/httpd.pid
    In der pid-Datei legt der Server seine “process identification number” ab, wenn er gestartet wird.

    FLOW3 benötigt mod_rewrite. Schalten Sie das mod_rewrite Modul ein, indem Sie nach der Zeile LoadModule rewrite_module… suchen und den Kommentar der Zeile (Raute) entfernen.

  3. Datei C:\xampp\apache\conf-php53_alpha\extra\httpd-ssl.conf
  4. In der SSL Konfigurationsdatei ist lediglich der SSL-Port von Listen 443 auf Listen 4343 zu ändern.

  5. Datei C:\xampp\apache\conf-php53_alpha\extra\httpd-xampp.conf
  6. In der XAMPP Konfigurationsdatei wird das PHP Modul geladen. Hier müssen Sie nun auf die neue Alpha-Version verweisen. Kommentieren Sie dazu die folgende Zeile:
    LoadModule php5_module “C:/xampp/apache/bin/php5apache2.dll”
    Fügen Sie stattdessen folgende Zeilen ein:

    #php5.3alpha DLL laden:
    LoadFile “C:/xampp/php/php53_alpha/php5ts.dll”

    #Sapi module für Apache laden
    LoadModule php5_module “C:/xampp/php/php53_alpha/php5apache2_2.dll”

    #php.ini Verzeichnis
    PHPIniDir “C:/xampp/php/php53_alpha”

Step 4 - Virtuelle Hosts einrichten

In der Datei C:\xampp\apache\conf-php53_alpha\extra\httpd-vhosts.conf kann nun ein virtueller Host auf die Flow3 Umgebung eingerichtet werden. Idealerweise richtet man die URL direkt auf das Public- Verzeichnis der FLOW3-Installation ein.
Dieses Public-Verzeichnis sollte später das einzig öffentliche Verzeichnis in der Live Umgebung sein. Zu den speziellen Einrichtungs- und Konfigurationsanforderungen in Flow3 kommen wir später noch in einem anderen Tutorial zurück.

Passen Sie Ihre httpd-vhosts.conf entsprechend der folgenden Zeilen an. Achten Sie auf die Pfadangabe zu Ihrer FLOW3-Installation.

NameVirtualHost *:81

<virtualhost *:81>
DocumentRoot “C:/xampp/htdocs/”
ServerName localhost
</virtualhost>

<virtualhost 127.0.0.1:81>
ServerName flow3local
ServerAlias flow3local
ServerAdmin admin@add.net
DocumentRoot “c:/xampp/htdocs/flow3/Public/”
ErrorLog “c:/xampp/htdocs/flow3/errorlog.log”
</virtualhost>

Step 5 - PHP konfigurieren

Erstellen Sie von der Datei C:\xampp\php\php53_alpha\php.ini-dist im selben Verzeichnis eine Kopie und benennen Sie diese in php.ini um.
Offnen Sie die Datei php.ini und passen folgende Einstellungen an:

Folgende Extensions werden von Flow3 benötigt, entkommentieren Sie diese:

extension=php_mbstring.dll
extension=php_pdo_sqlite.dll

Stellen Sie die Pfadangaben zu den Extensions richtig ein:
extension_dir = ‘C:\xampp\php\php53_alpha\ext\’

FLOW3 fordert die Deaktivierung der magic quotes für die Arrays $_GET, $_POST und $_SESSION.
magic_quotes_gpc = Off

Step 6 - Zweiten Apache als Dienst einrichten

Starten Sie die Eingabeaufforderung indem Sie den Menüpunkt Start->Ausführen aufrufen und cmd in die Eingabeaufforderung eingeben (in Vista die Datei direkt unter Windows\System32\cmd.exe mit Rechtsklick als Administrator aufrufen).

Wechseln Sie in der Eingabeaufforderung in das Verzeichnis C:\xampp\apache\bin und geben folgenden Befehl ein:
apache -f .\conf-php53_alpha\httpd.conf
Danach können Sie den Dienst über die Systemsteuerung-Verwaltung-Dienste starten.

Step 7 - Testen

Um den Erfolg der Installation zu prüfen, rufen Sie nun in Ihrem Browser die phpinfo() über die beiden Ports auf. Die Datei befindet sich im XAMPP-Verzeichnis.

Ohne Portangabe in der URL wird der Standardport 80 aufgerufen.

http://localhost/xampp/phpinfo.php
http://localhost:81/xampp/phpinfo.php

Prüfen Sie die Versionsangaben der verschiedenen PHP Installationen und ob die in Step 5 freigegebenen Extensions angezeigt werden.

Falls Probleme auftauchen, sehen Sie in die Logdateien (Error-Log) des Apachen. Falls keine Logdatei geschrieben wurde, prüfen Sie noch einmal die Pfadangaben in der httpd.conf.
Achten Sie darauf, auf die Dateien des richtigen Apachen zu schauen, verwechseln Sie die beiden Dienste nicht.

Viel Spaß mit PHP 5.3.
cooper

FLOW3 Framework , , , , , ,