Para instalar symfony 3 utilizaremos composer, tal y como hemos indicado anteriormente. Para ello vamos a configurar primero un virtual host dentro de nuestro servidor web.

Configurar Virtual Host

Vamos a configurar un vhost en nuestro servidor wamp para poder llamar a cada proyecto de forma independiente dentro de nuestro navegador. Para ello primero vamos a abrir el gestor de Virtual Host en nuestro servidor wamp.

Menú Wampserver

Veremos una pantalla como la siguiente en nuestro navegador. Desde esta pantalla configuraremos el nombre del virtual host y la ruta absoluta de la carpeta donde guardaremos nuestros archivos.

En mi caso la ruta absoluta de localhost está en C:/wamp64/www y he creado una subcarpeta llamada proyectodemo para montar ahí dentro la instalación del virtual host «http://proyectodemo»

Virtual hostPath absoluto
http://localhostc:/wamp64/www
http://ProyectoDemoc:/wamp64/www/ProyectoDemo
Gestor Virtual Host de Wampserver

Al crear nuestro virtual host, si entramos en el navegador y ponemos http://proyectodemo veremos una pantalla de presentación igual a la que veíamos al poner http://localhost

Instalar Symfony

Ahora procederemos a la instalación de Symfony 3 desde la aplicación composer. En esencia lo que vamos a hacer es instalar desde el repositorio de Symfony los archivos en la ruta del virtual host que hemos definido.

  • Inicia la consola de windows Tecla Windows + r
  • Escribe el comando cmd y pulsa en ejecutar

A partir de este momento, lo que tenemos que hacer es ir al directorio web donde queremos instalarlo y ejecutar el comando con la siguiente sintaxis:

composer create-project symfony/framework-standard-edition <directorio_instalacion> <version>

La secuencia en el caso de nuestro virtual host «ProyectoDemo» sería la siguiente:

C:\wamp64\www>composer create-project symfony/framework-standard-edition ProyectoDemo/ "3.0.*"

El resultado será una secuencia similar a la que tenemos a continuación.

C:\wamp64\www>composer create-project symfony/framework-standard-edition ProyectoDemo/ "3.0.*"
Installing symfony/framework-standard-edition (v3.0.9)
  - Installing symfony/framework-standard-edition (v3.0.9): Downloading (100%)
Created project in ProyectoDemo/
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 31 installs, 0 updates, 0 removals
  - Installing doctrine/lexer (v1.0.1): Downloading (100%)
  - Installing doctrine/annotations (v1.2.7): Downloading (100%)
  - Installing twig/twig (v1.24.1): Downloading (100%)
  - Installing symfony/polyfill-util (v1.2.0): Downloading (100%)
  - Installing paragonie/random_compat (v2.0.2): Downloading (100%)
  - Installing symfony/polyfill-php70 (v1.2.0): Downloading (100%)
  - Installing symfony/polyfill-php56 (v1.2.0): Downloading (100%)
  - Installing symfony/polyfill-mbstring (v1.2.0): Downloading (100%)
  - Installing symfony/symfony (v3.0.9): Downloading (100%)
  - Installing symfony/polyfill-intl-icu (v1.2.0): Downloading (100%)
  - Installing psr/log (1.0.0): Downloading (100%)
  - Installing doctrine/inflector (v1.1.0): Downloading (100%)
  - Installing doctrine/collections (v1.3.0): Downloading (100%)
  - Installing doctrine/cache (v1.6.0): Downloading (100%)
  - Installing doctrine/common (v2.6.1): Downloading (100%)
  - Installing jdorn/sql-formatter (v1.2.17): Downloading (100%)
  - Installing doctrine/doctrine-cache-bundle (1.3.0): Downloading (100%)
  - Installing doctrine/dbal (v2.5.4): Downloading (100%)
  - Installing doctrine/doctrine-bundle (1.6.3): Downloading (100%)
  - Installing doctrine/instantiator (1.0.5): Downloading (100%)
  - Installing doctrine/orm (v2.5.4): Downloading (100%)
  - Installing incenteev/composer-parameter-handler (v2.1.2): Downloading (100%)
  - Installing sensiolabs/security-checker (v3.0.2): Downloading (100%)
  - Installing sensio/distribution-bundle (v5.0.7): Downloading (100%)
  - Installing sensio/framework-extra-bundle (v3.0.16): Downloading (100%)
  - Installing monolog/monolog (1.20.0): Downloading (100%)
  - Installing symfony/monolog-bundle (2.11.1): Downloading (100%)
  - Installing swiftmailer/swiftmailer (v5.4.3): Downloading (100%)
  - Installing symfony/swiftmailer-bundle (v2.3.11): Downloading (100%)
  - Installing sensio/generator-bundle (v3.0.7): Downloading (100%)
  - Installing symfony/phpunit-bridge (v3.1.2): Downloading (100%)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
doctrine/doctrine-cache-bundle suggests installing symfony/security-acl (For using this bundle to cache ACLs)
sensio/framework-extra-bundle suggests installing symfony/psr-http-message-bridge (To use the PSR-7 converters)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_host (127.0.0.1):
database_port (null):
database_name (symfony): ProyectoDemo
database_user (root):
database_password (null):
mailer_transport (smtp):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
secret (ThisTokenIsNotSoSecretChangeIt):
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
 // Clearing the cache for the dev environment with debug true
                                                                                                                        
 [OK] Cache for the "dev" environment (debug=true) was successfully cleared.                                            
                                                                                                                        
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets
 Trying to install assets as relative symbolic links.
 --------- ----------------- ----------------
            Bundle            Method / Error 
 --------- ----------------- ----------------
  WARNING   FrameworkBundle   copy
 --------- ----------------- ----------------
 ! [NOTE] Some assets were installed via copy. If you make changes to these assets you have to run this command again.  
                                                                                                                        
 [OK] All assets were successfully installed.                                                                           
                                                                                                                        
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::prepareDeploymentTarget
C:\wamp64\www>

Durante la instalación se nos pedirán los siguientes parámetros que deberás de introducir conforme a las especificaciones del proyecto, no obstante los podremos redefinir más tarde:

  • database_host (127.0.0.1):
  • database_port (null):
  • database_name (symfony):
  • database_user (root):
  • database_password (null):
  • mailer_transport (smtp):
  • mailer_host (127.0.0.1):
  • mailer_user (null):
  • mailer_password (null):
  • secret (ThisTokenIsNotSoSecretChangeIt):

Comprobar que Symfony está bien instalado

Para comprobar que la instalación de symfony es correcta, abriremos nuestro navegador y entraremos en http://localhost/proyectodemo/web/. Deberíamos de ver una pantalla similar a la siguiente:

Pantalla de verificación de Symfony3

Si queremos ver una pantalla de recomendaciones de verificación de Symfony, entraremos en http://localhost/proyectodemo/web/config.php

Pantalla de revisión de configuración de Symfony3