martes, 14 de junio de 2016

Configuracion de Symfony

http://blogsymfony.blogspot.com/2013/08/normal-0-21-false-false-false-es-x-none.html

viernes, 16 de agosto de 2013


Primero que todo pido disculpas si existe algún error en lo que he escrito. Saludos para todos y espero que sea de mucha ayuda.


Empezando con Symfony 2.3.3 en Windows 8 –x64
Se utiliza como servidor web WampServer 2.4 –x64 y como entorno de desarrollo integrado el NetBeans 7.2
1.      Instalamos el WampServer.
2.      Instalamos el NetBeans.
3.      Después de descargar el framework Symfony 2.3.3 se descomprime en el directorio ‘C:\wamp\www’. (Este ejemplo esta realizado con la versión de Symfony que tiene los vendors)
4.      Verificamos que la configuración local del sistema esté preparada para Symfony, esta acción la podemos realizar por dos vías diferentes.
a)      La primera forma es ejecutando en la consola la instrucción php app/check.php.
En Windows el comando php no se reconoce apenas se instala el servidor web por lo que debemos realizar una configuración para que sea soportado el comando. Con exactitud lo que haremos es colocar la dirección donde se encuentra el php instalado en la variable de entorno Path.
Window+X/Sistema/Configuración Avanzada del Sistema/
Damos clic en el botón Variables de Entorno, en las variables del sistema buscamos la variable Path y agregamos la dirección del php que en mi caso está en ‘C:\wamp\bin\php\php5.4.12’.
b)      La segunda forma y la que se utilizó en este ejemplo es utilizar una variante que viene con el framework de Symfony, para realizar esta comprobación introduzca la siguiente url en su navegador web.
Url: http://localhost/Symfony/web/config.php
La comprobación anterior arrojo que todos los requisitos obligatorios se cumplían y que las siguientes recomendaciones opcionales deberían ser corregidas. (De las recomendaciones opcionales la última se dejara sin resolver. Si se desea instalar Symfony en un ambiente de producción se recomienda que todas las recomendaciones sean rectificadas)
-          Set "xdebug.max_nesting_level" to e.g. "250" in php.ini* to stop Xdebug's infinite recursion protection erroneously throwing a fatal error in your project.
Para darle solución a esta recomendación se busca en el php.ini donde dice ‘[xdebug]’, encontraras unas variables definidas debajo que tienen que ver con xdebug, al final crea una variable llamada xdebug.max_nesting_level = 250. Para que la configuración se haga efectiva reinicie el servidor web.
-          Install and enable the intl extension (used for validators).
Para darle solución a esta recomendación basta con habilitar la extensión intl en el servidor web. Para que la configuración se haga efectiva reinicie el servidor web.
-          Install and enable a PHP accelerator like APC (highly recommended).
Esta recomendación no se resolverá pero es importante que se corrija si se está configurando un ambiente de producción.
Después de corregir las recomendaciones opcionales volvemos a la url que se menciona anteriormente y se da clic en ‘Re-check configuration’ para verificar que los cambios se hicieron efectivos.
5.      Después de verificar que los cambios se hicieron efectivos en la misma url se da clic en ‘Configure your Symfony Application online’ para configurar el fichero que se encuentra en ‘app/config/parameters.yml’, el cual se utiliza para la comunicación con la base de datos y para generar el secreto global de la aplicación. (Para configurar este fichero también se puede hacer dando clic en ‘configure’ en la siguiente url: http://localhost/Symfony/web/app_dev.php/)
Nota: Antes de configurar el fichero primero crearemos el usuario que usaremos para conectar la aplicación con la base de datos utilizando el phpMyAdmin.
Para configurar el fichero ‘parameters.yml’ en la página solo es necesario el driver, pero como ya estamos haciendo este pasó, aprovecharemos para cambiar otros datos como son:
-          Name. (Donde dice Symfony pondremos el nombre que deseamos tenga nuestro proyecto en la base de datos)
-          User. (Usuario que acabamos de crear)
-          Password. (Password que le pusimos al usuario que acabamos de crear)
-          Password again. (Repetimos el password)
Le damos al botón NEXT STEP para pasar a configurar el secreto global de la aplicación, le damos al botón generate tantas veces como queramos y después volvemos a dar al botón NEXT STEP. La acción que acabamos de hacer te llevara a una página en la que te mostrara la forma en que quedo la configuración que se realizó al fichero ‘parameters.yml’.
6.      Para verificar que todos los cambios que hemos realizado hayan sido satisfactorios, visitaremos esta url: http://localhost/Symfony/web/app_dev.php/demo/hello/ Ivan
La página devuelta mostrara un mensaje de: Hello Ivan!
7.      Ahora pasaremos a configurar el servidor web, crearemos dos host virtuales, uno que apunte a localhost y otro a nuestro proyecto.
a)      Editamos el fichero ‘C:\wamp\bin\apache\Apache2.4.4\conf\http.conf’.
Quitamos el comentario (#) en la línea ‘Include conf/extra/httpd-vhosts.conf’. En este fichero que acabamos de quitarle el comentario configuraremos los host virtuales.
b)      Editamos el fichero ‘C:\wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf’.
Quitamos los dos ejemplos de host virtuales que están por defecto y agregamos las siguientes líneas:
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "C:\wamp\www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@symfony
    DocumentRoot "C:\wamp\www\Symfony\web"
    ServerName Symfony
    ErrorLog "logs/symfony-error.log"
    CustomLog "logs/symfony -access.log" common
</VirtualHost>
El primer host virtual es para que localhost siga funcionando como hasta ahora. El segundo host virtual es para el nuevo proyecto que se va a desarrollar. Tener en cuenta que en esta configuración el ‘DocumentRoot’ que se ponga debe apuntar a la carpeta web de nuestro proyecto Symfony.
Estas configuraciones te permitirán realizar lo siguiente:
Esta url: ‘http://localhost/Symfony/web/app_dev.php/’, ahora podrás utilizarla de la siguiente manera ‘http://Symfony/app_dev.php/’, como ves es más pequeña y más legible. Esto se logra debido al segundo host virtual, el cual tiene como:
-          DocumentRoot "C:\wamp\www\Symfony\web"’
-          ServerName Symfony’
Lo que hace posible que se pueda cambiar ‘localhost/Symfony/web’ por ‘Symfony’.
c)      Y por último editamos el archivo ‘C:\WINDOWS\system32\drivers\etc\hosts’ y agregamos lo siguiente para que no salga por el proxy:
127.0.0.1            Symfony
Importante: agregarlo a las excepciones del navegador para que no use proxy. (Symfony)
8.      Configuramos el NetBeans.
a)      Proyecto Nuevo (Ctrl+Mayús+N)
b)      En Seleccionar proyecto, escogemos la Categoría PHP y en Proyectos PHP Aplication with Existing Sources. Damos Siguiente.
c)      En Name and Location, en Sources Folder buscamos el proyecto en el directorio www del servidor web, lo marcamos y le damos Abrir. En PHP Version, escogemos el PHP 5.4 y le damos Siguiente.
d)     En Run Configuration, en Index File buscamos en el directorio web de nuestro proyecto el fichero ‘app_dev.php’ y le damos Select File, luego damos Terminar.
9.      Seguimos configurando algunos detalles en el NetBeans.
a)      Herramientas/ Opciones/
b)      Damos clic en PHP, luego vamos a la pestaña Symfony2 y buscamos el Framework de Symfony 2.3.3 con los vendors y comprimido en zip.
c)      Damos clic en Asignación de Teclas, en Buscar ponemos Symfony2 y debajo nos salen tres acciones que podemos ponerles una combinación de teclas (Método abreviado) para poder realizar dichas acciones mucho más fácil.
d)     Luego se aceptan las modificaciones.
10.  Ahora procedemos a quitar el demo que trae Symfony por defecto del proyecto para empezar a desarrollar desde cero. El demo se llama ‘AcmeDemoBundle’, lo vamos a eliminar siguiendo estos pasos:
a)      Borrar Acme que se encuentra en el directorio src/Acme
b)      Eliminar la entrada de enrutamiento referenciando a AcmeDemoBundle en:
app/config/routing_dev.yml
c)      Eliminar el AcmeDemoBundle de los bundles registrados en:
app/AppKernel.php
d)     Borrar acmedemo que se encuentra en el directorio web/bundles/acmedemo
e)      Reemplazar el fichero de seguridad ‘security.yml’ por esto:
security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext
    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    providers:
        in_memory:
            memory:
                users:
                    user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                    admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        secured_area:
            pattern:  ^/            
            anonymous: ~
            http_basic:
                realm: "Secured Demo Area"
    access_control:
        - { path: ^/admin/, roles: ROLE_ADMIN }
Listo, ya podemos comenzar a desarrollar nuestro proyecto.

No hay comentarios:

Publicar un comentario