Symfony Tutorial

Aus Fachinformatiker Azubi
Version vom 20. Februar 2013, 14:33 Uhr von Approach (Diskussion | Beiträge) (Schreibrechte im Cache)
Zur Navigation springen Zur Suche springen

Symfony ist ein cooles PHP Framework. In diesem Tutorial wollte ich die Grundkenntnis erklären anhand eines Beispiel.

Installation

Composer

In PHP gibt es einen Paket Abhängigkeit Auflöser. Dieser kümmert sich um die Abhängigkeiten.

Unter Linux wird es wie folgt installiert:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Anschließend kann man den Paket auflöser mittels composer <Funktion> aufrufen. Für andere Systeme müsst ihr die Dokumentation lesen http://getcomposer.org.

Symfony

Mittels dem composer laden wir nun Symfony runter.

composer create-project symfony/framework-standard-edition symfony/

Der composer erstellt den Ordner symfony und Packt die aktuelle symfony Version rein.

Apache

Damit wir später angenehm entwickeln können wäre es ratsam die Entwicklungsumgebung im Home-Order zu haben, also in /home/user/www/symfony. Ebenfalls empfehlenswert ist der Aufruf ohne Unterordner also http://localhost/<Anwendung>. Bei bedarf kann mit Subdomains gearbeitet werden.

Apache Installation

Die Apache Konfiguration kann im Ordner /etc/apache2/sites-available/default konfiguriert werden.

<VirtualHost *:80>
        DocumentRoot /home/<user>/www/symfony/web
</VirtualHost>

Der User sollte logischerweise geändert werden. Wichtig das es in dem Web Verzeichnis verlinkt ist. Das ganze kann man in z.B. in der Default Datei geändert werden.

Damit der der Benutzer www-data nun Zugriff zu dem Verzeichnis bekommt muss folgendes gemacht werden.

Zuerst fügen wir www-data zu unseren Benutzer hinzu.

sudo usermod -a -G <benutzer> www-data

Nun müssen noch die Gruppenrechte anpassen:

chmod 755 /home/<benutzer> -R
chmod 755 /home/<benutzer>/www -R
chmod 755 /home/<benutzer>/www/symfony -R

Bei Problemen bzgl. der Auflösung findet Tipps unter Apache.

Schreibrechte im Cache

Damit der Apache noch Schreibrechte für den cache und logs Bereich bekommt müssen wird folgendes Ausführen:

sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs