Symfony 2 installieren
5. März 2013 / Symfony
×Info: This post is older than 2 years! Displayed information may be outdated!
Eine fünf 15 Minuten Symfony-Setup-Guide. Mit Git. Hier gibt’s übrigens ein nettes Symfony2-Cheatsheet.
Symfony installieren
Zuerst auf http://symfony.com/download gehen. Version 2.3 ist das erste Release mit Long Term Support (LTS) und wird drei Jahre mit Updates versorgt.
# ins gewünschte dir cd'en, dann wget
wget -O Symfony_Standard_Vendors_2.3.1.tgz http://symfony.com/download?v=Symfony_Standard_Vendors_2.3.1.tgz
# ggf. curl installieren (apache neustarten)
sudo apt-get install curl php5-curl
# composer install
curl -s https://getcomposer.org/installer | php
# symfony install
php composer.phar create-project symfony/framework-standard-edition project/ 2.3.1
# composer.phar create-project erwartet ein leeres Install-Dir. Ist kein "project"-Subdir erwünscht, muss nach composer-Install alles via "mv" verschoben werden.
# während der composer-Installation können schon diverse Einträge für die parameters.yml gesetzt werden; geht aber auch noch später über "config.php"
# readme lesen (!)
cat README.md
# php check
php app/check.php
# ggf. fehlende Einstellungen vornehmen php.ini, z.B:
date.timezone = Europe/Berlin
short_open_tag = off
# oder fehlende Module nachinstallieren, z.B.
sudo apt-get install php5-intl
Rechte und Besitzer checken
# Rechte
sudo chmod 777 app/cache app/logs
# Besitzer
sudo chown -R username:www-data .
Config
im Browser aufrufen: http://localhost/path/to/symfony/web/config.php
Datenbank-Zugangsdaten eingeben, Schritte durchgehen. Fertig.
Basic vhost
<VirtualHost *:80>
ServerName www.symfony.local
ServerAlias symfony
ServerAdmin webmaster@localhost
DocumentRoot /var/www/symfony/web/
DirectoryIndex app.php app_dev.php
<Directory /var/www/symfony/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit
# alert, emerg.
# LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Git
# .gitignore
/web/bundles/
/app/bootstrap.php.cache
/app/cache/*
/app/config/parameters.yml
/app/logs/*
/build/
/vendor/
/bin/
/composer.phar
Die parameters.yml kopieren und als parameters.yml.dist ohne Passwörter mitcommitten als Vorlage.
Create Database / Create Schema
Wenn in über die „config.php“ (oder direkt in der parameters.yml) Datenbankzugangsdaten angelegt wurden, kann die DB wie folgt erstellt werden:
# create db
php app/console doctrine:database:create
# falls schon ein Schema existiert
php app/console doctrine:schema:create
# ein Schema updaten (wichtig: --force)
php app/console doctrine:schema:update --force