Después de haber instalado Apache y MySQL (si procediese), vamos a instalar Symfony en Ubuntu.

instalar dependencias

Instalamos las dependencias del sistema además de las de Apache instaladas con anterioridad:

sudo apt-get install git curl

Crear un nuevo proyecto

instalar composer

Accedemos al directorio donde tendremos el proyecto y

cd /home/usuario/directorioproyecto
curl -s http://getcomposer.org/installer | php

crear el proyecto

Ahora creamos el proyecto ejecutando el comando php y composer:

php composer.phar create-project symfony/framework-standard-edition proyecto/ 2.3.7

Después nos metemos en el directorio del proyecto:

php composer.phar install

Chequeamos si tenemos todas las librerías necesarias instaladas:

php app/check.php

Por último damos permisos a las carpetas de log y de caché:

sudo apt-get install acl
sudo setfacl -R -m u:www-data:rwx -m u:usuario:rwx app/logs
sudo setfacl -R -m u:www-data:rwx -m u:usuario:rwx app/cache

desplegar nuestra aplicación

Abrir el fichero app_dev.php situado en la carpeta web de nuestro proyecto y dejarlo así:

umask(0000);
 
// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
/*if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}*/

Editar el fichero php.ini de apache y poner nuestra zona horaria:

date.timezone = Europe/Madrid
 
short_open_tag = Off

Reiniciar apache:

sudo service apache2 restart

Limpiar caché y pasar de entornos produccion a desarrollo:

php app/console cache:clear --env=prod --no-debug
php app/console cache:clear --env=dev --no-debug

configuración mínima de apache

Podemos modificar la configuración del sitio por defecto 000-default de sites-enabled

<VirtualHost *:80>
 
    DocumentRoot /var/www/project/web
    <Directory /var/www/project/web>
        # enable the .htaccess rewrites
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>
 
    ErrorLog /var/log/apache2/project_error.log
    CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

Fuente: johnny1402.