LABORATORIO DE SISTEMAS OPERARIVOS Y REDES. Symfony. Tutorial de instalación y uso en Ubuntu



Documentos relacionados
Animalandia. Manual de instalación. (Actualizado: Sept-2015) Fernando Lisón Martín

MANUAL DE INSTALACIÓN GLPI EN CANAIMA

INSTRUCTIVO DE INSTALACIÓN DE OMEKA 2.1.4

INSTRUCTIVO DE INSTALACION ATOM 2.0.1

ANEXO 3 MANUAL PARA INSTALACION PERSONALIZADA DE ABIESWEB EN LINUX

Sistemas de administración. Mauricio Restrepo Galeano. Docente CESDE escuela de informática. Administrador de redes CediMed S.A.

Manual de instalación de un Servidor Web

MANUAL DE INSTALACIÓN FENG-OFFICE

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

Como instalar Jokte en Linux Canaima

INSTALACIÓN DE GITLAB

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Manual de NetBeans y XAMPP

Guía de instalación de la carpeta Datos de IslaWin

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

Manual de instalación Drupal en equipos LINUX y en Idioma Español.

MANUAL DE INSTALACIÓN OWNCLOUD

Curso de PHP con MySQL Gratis

Proyecto Huelemu. Software Open Journal System. Manual de instalación y configuración básica. Fecha de creación:

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2

Toda base de datos relacional se basa en dos objetos

La página web del centro con SPIP

Manual de instalación Wordpress en equipos LINUX y en Idioma Español. Desarrollado por Jaibol Santaella

Tutorial: Primeros Pasos con Subversion

Instalación y configuración básica de Cacti en Debian para monitorizar un host

Grupo de Usuarios Gnu/Linux de Guayana. Alexander Labrador. Primera Publicación Manual de Instalación de JOOMLA Spanish.

SONARQUBE. Sandoval Lucas, Leutwyler Nicolás 1er cuatrimestre 2015

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Instalación Básica De PHP Con Apache GRID Uniquindio

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA

Curso: Sistemas Operativos II Plataforma: Linux SAMBA

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

Instalando el Apache

Guía de instalación de la carpeta Datos de ContaWin

DOCENTES FORMADORES UGEL 03 PRIMARIA

1. Instalación de productos

Instalar XAMP en modo gráfico

Inserte el CD de instalacion de Linux Debian Lenny, seleccione la opcion Graphical install y presione Enter

Manual de instalación

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

ANEXO D Manual de Técnico MANUAL TECNICO PROMO APP PROMO PLATFORM PROMO API PROYECTO FINAL

Servidor Apache. Instalación Configuración Apache con Webmin 24/03/2014. Vicente

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

Servidor Web-Firewall Proxy DHCP

75.99 TRABAJO PROFESIONAL INGENIERIA EN INFORMATICA

La presente documentación va a explicar detalladamente la instalación de un entorno de programación APACHE-PHP-MYSQL en Guadalinex 2004.

Cobian Backup. Inguralde [Enero 2011]

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

3. Qué necesitamos para usar Wordpress?

Instituto Tecnológico de Las Américas (ITLA)

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Instalación y Configuración. Libertya BI 1.0

Contents. 1 Instalacion de Observium

Servidor Web Apache Knoppix Linux.-

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Manual de Instalación Openbravo POS

DiarmaCMS. Manual de instalación. Versión de la aplicación 0.1.0

Servidor FTP en Ubuntu Juan Antonio Fañas

Instalación de Tomcat7 en Ubuntu

MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

Cosas que saber antes de empezar. Antes de empezar la instalación, hay varias cosas que necesitarás tener y hacer.

Archivo de correo con Microsoft Outlook contra Exchange Server

Internet Information Server

Ubuntu Server HOW TO : SERVIDOR FTP EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como compartir datos en un servidor ftp..

Servidor de correo en Linux/ubuntu

Manual de usuario de IBAI BackupRemoto

TECNOLOGICO DE ESTUDIOS SUPERIORES DEL ORIENTE DEL ESTADO DE MEXICO

Instalación, Mantenimiento y Administración del PHPWebQuest para una Intranet

Ambiente de Desarrollo Web Marcia Tejeda Martin Arin

Trabajo Práctico Guía de Instalación

Actualizaciones de GateDefender Performa desde un servidor web local

Instala y configura un servidor SSH/SFTP. Transferir ficheros a dicho servidor con un cliente SFTP y SCP.

Taller de Symfony2. Sergio Gómez

Manual de Instalación y Configuración

Guía de instalación del sistema de documentos laborales Orquídea

Instalación de PostgreSQL en Windows y Linux

ANEXO 13: MANUAL DE INSTALACIÓN

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL

MANUAL COPIAS DE SEGURIDAD

Claroline, MediaWiki, Moodle y Joomla en Xampp Lite

Introducción a las redes de computadores

Servidor web E-Sniper

Proceso para la Instalación de SemanticWebBuilder Portal / SemanticWebBuilder Process Versión 4.X con Tomcat como servicio en Windows

Distribuidor de documentos 1. Ventajas. Distribuidor de documentos

Manual Mage Translator by Interactiv4 Versión /06/2013

INSTITUTO TECNOLOGICO DE TUXTEPEC Departamento de Sistemas y Computación

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Ficheros de configuración de Nagios (ejemplo con nrpe y snmp)

Laboratorio de Redes y Sistemas Operativos Laravel 5.0

Sistema de Gestión de Contactos y Administración

Kiara Celeste Contreras Feliz. Matricula: Sistema Operativo III. 5- Creación de usuarios y grupos

INSTALACIÓN DE JOOMLA! EN UN SERVIDOR LOCAL

Transcripción:

LABORATORIO DE SISTEMAS OPERARIVOS Y REDES Symfony Tutorial de instalación y uso en Ubuntu Lucas Matwiejczuk. Cristian Bouix, Héctor Maidana 13/12/2011 En el siguiente documento se explicará como instalar todo lo necesario para usar el framework Symfony y como hacer aplicaciones con él de una forma fácil y rápida.

Introducción Que es Symfony? Symfony es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web. Separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Ademas, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. Características Symfony está desarrollado completamente con PHP 5. Es compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y SQL Server de Microsoft. Symfony está basado en un patrón clásico del diseño web conocido como arquitectura MVC. El Modelo representa la información con la que trabaja la aplicación, es decir, su lógica de negocio. La Vista transforma el modelo en una página web que permite al usuario interactuar con ella. El Controlador se encarga de procesar las interacciones del usuario y realiza los cambios apropiados en el modelo o en la vista Estructura El código está dividido en muchos directorios y muchos scripts y los archivos son un conjunto de clases PHP, código HTML e incluso una mezcla de los dos. Además, existen referencias a clases que no se pueden encontrar dentro del directorio del proyecto y la anidación de directorios puede llegar hasta los seis niveles. Estructura del proyecto: Aplicaciones, Módulos y Acciones Dentro de un proyecto, las operaciones se agrupan de forma lógica en aplicaciones. Normalmente, una aplicación se ejecuta de forma independiente respecto de otras aplicaciones del mismo proyecto. Lo habitual es que un proyecto contenga dos aplicaciones: una para la parte pública y otra para la parte de gestión, compartiendo ambas la misma base de datos. Cada aplicación está formada por uno o más módulos. Un módulo normalmente representa a una página web o a un grupo de páginas con un propósito relacionado. 2

Los módulos almacenan las acciones, que representan cada una de las operaciones que se puede realizar en un módulo. Instalación Preinstalación: Antes que nada, instalamos php5 (debe ser como mínimo php 5.2.4): sudo apt-get install php5 Si ya lo tenes instalado y queres saber la versión ejecutar: php v Instalamos apache el servidor HTTP y configuramos: sudo apt-get install apache2 Instalamos mysql: sudo apt-get install mysql-server 3

Aparecerá una pantalla como esta para configurar el mysql-server que solo te pedirá que le pongas una contraseña: Instalamos la extensión para MySQL: sudo apt-get install php5-mysql Necesitamos instalar un acelerador php: sudo apt-get install php5-xsl php-apc *Un Acelerador PHP toma uno o más script ya compilados, los guarda en una memoria compartida y lo usa cada vez que se solicite, mejorando así el rendimiento de un servidor. Y puesto que todo esto lo estamos pensando para utilizar Symfony será muy recomendable instalar el paquete de línea de comandos, CLI: sudo apt-get install php5-cli * PHP CLI (Iinterfaz de Línea de ComandosPHP) Como su nombre lo indica, esta es una forma de usar PHP en la línea de comandos del sistema. O por otras palabras, es una forma de ejecutar scripts PHP que no están en un servidor web (por ejemplo, el servidor web Apache o Microsoft IIS). Para asegurarnos de que los cambios surgen efecto, reiniciamos el servidor apache: sudo /etc/init.d/apache2 restart 4

Instalación de Symfony Descargar symfony de la página oficial: http://symfony.com/download Mover el archivo al directorio raíz del servidor web: mv Symfony_Standard_Vendors_2.0.7.tgz /var/www Ir al directorio /var/www y descomprimir el archivo: sudo tar zxpf Symfony_Standard_Vendors_2.0.7.tgz 5

Podemos ingresar a la URL: http://localhost/symfony/web/config.php Problemas y sus soluciones: Instalar SQLite: apt-get install php5-sqlite Instalar la extension intl: apt-get install php5-intl Cambiar permisos a los directorios app/cache y app/logs : sudo chmod 777 /var/www/symfony/app/cache/ sudo chmod 777 /var/www/symfony/app/logs/ Configurar el archivo /etc/php5/apache2/php.ini : Ir al directorio /etc/php5/apache2/ y editar el php.ini con gedit: sudo gedit php.ini 6

Establecer el "date.timezone" con por ejemplo Europe/Paris: Eestablecer "short_open_tag" en Off: 7

Eestablecer "magic_quotes_gpc" en Off: Reiniciar el servidor apache sudo apache2ctl restart Usando Symfony Boundle Un bundle no es más que un directorio que tiene una estructura definida, puede alojar cualquier cosa, desde clases para los controladores y recursos web. Symfony está compuesto de bundles en su totalidad, el mismo núcleo de Symfony2 es un bundle. Crear un Bundle: En la carpeta /var/www/synfony php app/console generate:bundle Crear las Entidades: En la carpeta /var/www/symfony sudo php app/console generate:doctrine:entity 8

Configurar la Base de Datos: En la carpeta /var/www/synfony sudo gedit app/config/parameters.ini Crear la Dase de Datos: sudo mysql -h localhost -u root p mysql> CREATE DATABASE nombre_de_la_base_de_datos_igual_que_el_.ini; Crear la tabla de la entidad con: php app/console doctrine:schema:update force Crear el Crud en /var/www/symfony$: sudo php app/console generate:doctrine:crud Agregar rutas de las entidades creadas al app/config/routing_dev.yml porque no se agregan solas: "entidad": pattern: /"entidad" defaults: { _controller: MyBundle:"entidad":index } "entidad"_new: pattern: /"entidad"_new defaults: { _controller: MyBundle:"entidad":new } "entidad"_show: pattern: /"entidad"_show{id} defaults: { _controller: MyBundle:"entidad":show } "entidad"_edit: pattern: /"entidad"_edit/{id} defaults: { _controller: MyBundle:"entidad":edit } "entidad"_create: pattern: /"entidad"_create defaults: { _controller: MyBundle:"entidad":create } "entidad"_delete: pattern: /"entidad"_delete/{id} defaults: { _controller: MyBundle:"entidad":delete } "entidad"_update: pattern: /"entidad"_update/{id} defaults: { _controller: MyBundle:"entidad":update } 9

Instalación y configuración de Bundle FOSUserBundle 1. Agregar dependencias Ir al archivo deps y agregar: [FOSUserBundle] git=git://github.com/friendsofsymfony/fosuserbundle.git target=bundles/fos/userbundle Y luego instalarlos: php bin/vendors install O de esta manera: git submodule add git://github.com/friendsofsymfony/fosuserbundle.git vendor/bundles/fos/userbundle git submodule update init O bajar el bundle.zip, descomprimirlo, y copiar el contenido en /vendor/bundle/'nombre_organizacion'/'nombre_bundle'. 2. Configurar el Autoloader Ir al archivo app/autoload.php loader->registernamespaces(array( //... 'FOS' => DIR.'/../vendor/bundles', )); 3. Agregar la ruta del Bundle creado Ir al archivo app/appkernel.php y agregar: public function registerbundles() { $bundles = array( //... new FOS\UserBundle\FOSUserBundle(), ); } 10

4. Clase Usuario Si tenes una clase Usuario extenderla de BaseUser o sino tenes que crear una y el id debe ser protected. use FOS\UserBundle\Entity\User as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="fos_user") */ class User extends BaseUser { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; } public function construct() { parent:: construct(); // your own logic } 5. Configurar el security.yml Ir al archivo app/config/security.yml y agregar: security: providers: fos_userbundle: id: fos_user.user_manager firewalls: main: pattern: ^/ form_login: provider: fos_userbundle logout: true anonymous: true access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/admin/, role: ROLE_ADMIN } role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN 11

6. Configurar el FOSUserBundle Agregar la ruta de la clase User: fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: Acme\UserBundle\Entity\User 7. Agregar las rutas del Bundle En el archivo app/config/routing.yml agregar: fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml" fos_user_profile: resource: "@FOSUserBundle/Resources/config/routing/profile.xml" prefix: /profile fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register fos_user_resetting: resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" prefix: /resetting fos_user_change_password: resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" prefix: /profile 8. Actualizar la Base de Datos Por último actualizamos la base de datos con: php app/console doctrine:schema:update --force 12