|
|
(33 revisiones intermedias por el mismo usuario no mostrado) |
Línea 1: |
Línea 1: |
− | {{:Usuario:ManuelRomero/php/nav}} | + | {{:Usuario:ManuelRomero/dwes/B1T1/nav}} |
| + | |
| __NOTOC__ | | __NOTOC__ |
| + | __NOEDITSECTION__ |
| + | =Objetivos y finalidad de este tema= |
| + | <br /> |
| + | ===Objetivos=== |
| | | |
− | | + | {{MRM_Objetivo|Title=Qué veremos aquí| |
− | | + | ;Desarrollo de aplicaciones en Entorno Servidor : una parte de un todo |
− | | + | Analizaremos lo que este módulo implica a nivel de objetivos. |
− | | + | Objetivos de este módulo y cómo se relaciona con el resto. |
− | ==Arquitectura Web==
| + | ;Tecnologías en la web |
− | ==Tecnologías y arquitectura web ==
| + | Qué tecnologías se usan en el desarrollo web. |
− | | + | Qué tecnologías vamos a usar nosotras. |
− | ===Tecnologías para programación web del lado del servidor===
| + | ;Arquitectura web |
− | *Cuando programas una aplicación, utilizas un lenguaje de programación.
| + | Qué es una arquitectura web |
− | *Por ejemplo, utilizas el lenguaje Java para crear aplicaciones que se ejecuten en distintos sistemas operativos.
| + | Principales componentes o elementos en una arquitectura web |
− | *Al programar cada aplicación utilizas ciertas herramientas como un entorno de desarrollo o librerías de código. *Además, una vez acabado su desarrollo, esa aplicación necesitará ciertos componentes para su ejecución.
| + | ;Puesta en marcha del sistema: Instalaciones en el propio equipo |
− | *Por ejemplo en el caso de javauna máquina virtual de Java.
| + | Instalar los componentes que necesitamos |
− | *Son consideraciones a tener en cuenta antes de empezar a desarrollar.
| + | Servicios en nuestro servidor |
− | | + | Aplicaciones que vamos a utilizar para desarrollar |
− | | + | |
− | ===Los componentes de una aplicación web===
| + | |
− | | + | |
− | | + | |
− | | + | |
− | *1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web
| + | |
− | **Suelen ser los navegadores. Reciben la página que solicitan
| + | |
− | **El servidor web debe conocer el procedimiento a seguir para generar la página web:
| + | |
− | Para ello tendrá módulos encargados de la ejecución del código y cómo se debe comunicar con él.
| + | |
− | *2.-'''''El módulo encargado de ejecutar el código o programa'''''.
| + | |
− | **genera la página web resultante.
| + | |
− | **Este módulo debe integrarse de alguna forma con el servidor web
| + | |
− | **Dependerá del lenguaje y tecnología que utilicemos para programar la aplicación web.
| + | |
− | *3.- '''''Un gestor de base de datos''''', será un servidor.
| + | |
− | **Este módulo no es estrictamente necesario pero se usa casi siempre.
| + | |
− | *4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones.
| + | |
− | | + | |
− | ===La arquitectura de la aplicación===
| + | |
− | *Además de los componentes a utilizar, también es importante decidir cómo vas a organizar el código de la aplicación.
| + | |
− | *Esto se conoce como la arquitectura de la aplicación web.
| + | |
− | *Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles.
| + | |
− | *El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario).
| + | |
− | *Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos;
| + | |
− | cada servidor se puede encargar de ejecutar una parte de la aplicación.
| + | |
− | *Internamente se puede dividir la funcionalidad de una aplicación web en:
| + | |
− | #'''''capa de acceso a datos''''': que se tendrá que encargar de almacenar la información de la aplicación en una base de datos y recuperarla cuando sea necesario.
| + | |
− | #'''''capa intermedia''''' : donde deberás programar la funcionalidad de tu aplicación.
| + | |
− | #'''''capa cliente:''''' que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario.
| + | |
− | *También en la parte del ser
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | *
| + | |
− | </div>
| + | |
− | <!--6-->
| + | |
− | <div class="slide">
| + | |
− | | + | |
− | | + | |
− | {{Recursos de la Web|
| + | |
− | *Qué es una aplicación web en [http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web wikipedia]
| + | |
− | *Qué es un desarrollo web en http://es.wikipedia.org/wiki/Desarrollo_web wikipedia]
| + | |
− | *Ques es una URL vs diferencia con http://www.hispamedios.com/articles/id34-url-y-uri URI]
| + | |
| }} | | }} |
− | | + | ===Finalidad=== |
− | ==Instalar java== | + | {{MRM_Objetivo|Title=Al final de este tema...| |
− | *Primero debemos ver si tenemos instalado java
| + | ;Conocer nombres de tecnologías. |
− | <source lang=bash>
| + | Conocer su existencia y para qué se usan. |
− | java -version
| + | Esto no implica conocer su uso, ni dominarlas. |
− | </source>
| + | ;Saber qué es una arquitectura |
− | *Nos dirá la versión que actualmente tenemos instalada o que no lo tenemos.
| + | Diferenciar y relacionar arquitectura, tecnología y herramientas para el desarrollo. |
− | *En caso de no tenerla lo instalamos, podemos seguir esta [http://www.ubuntu-guia.com/2012/04/instalar-oracle-java-7-en-ubuntu-1204.html guia]
| + | Tecnología y herramientas a veces podrían ser sinónimos |
− | *jdk, jre, jvm
| + | No se trata de ser muy purista, sino crítica y curiosa. |
− | *Primero instamalos el jre
| + | ;Saber en qué consiste el módulo |
− | <source lang="bash">
| + | ;Tener el sistema preparado para empezar a trabajar |
− | sudo apt-get install icedtea-7-plugin openjdk-7-jre
| + | |
− | </source>
| + | |
− | *Luego el jdk
| + | |
− | <source lang="bash">
| + | |
− | sudo apt-get install openjdk-7-jdk
| + | |
− | </source>
| + | |
− | *Ahora verificamos la instalación
| + | |
− | <source lang=bash>
| + | |
− | # java -version
| + | |
− | java version "1.7.0_65"
| + | |
− | OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
| + | |
− | OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
| + | |
− | </source>
| + | |
− | ==Instalar netbeans==
| + | |
− | http://niconsystem.wordpress.com/2014/04/17/instalar-netbeans-8-0-en-ubuntu-14-04/
| + | |
− | | + | |
− | http://ubuntuhandbook.org/index.php/2014/03/install-netbeans-ide-8-0-in-ubuntu-14-0413-1012-04/
| + | |
− | | + | |
− | *Primero verificamos que nuestro equipo sea de 64 bits o de 32
| + | |
− | <source lang=bash>
| + | |
− | # uname -a
| + | |
− | </source>
| + | |
− | *Accedemos al fichero descargado
| + | |
− | *Le damos permiso de ejecución y ejecutamos dicho fichero
| + | |
− | <source lang=bash>
| + | |
− | chmod +x jdk-8u20-nb-8_0_1-linux-x64.sh
| + | |
− | ./jdk-8u20-nb-8_0_1-linux-x64.sh | + | |
− | </source>
| + | |
− | *Una vez instalado se puede ejecutar y no hace falta modificar ningún parámetro
| + | |
− | | + | |
− | Ubuntu restricted extras[editar código]
| + | |
− | | + | |
− | Una instalación limpia de Ubuntu no permite ver Flash, QuickTime, WMV, aplicaciones Java, etc. Ubuntu Restricted Extras es un paquete que incluye todo el software que por razones de patentes y conflictos con la legislación de ciertos países, Canonical, la empresa madre de Ubuntu, no puede incluir por defecto en la distribución.
| + | |
− | | + | |
− | sudo apt-get install ubuntu-restricted-extras
| + | |
− | ==Montando nuestra arquitectura Instalar Apache php y MySql==
| + | |
− | *Seguimos la instalación de lamp
| + | |
− | | + | |
− | http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp | + | |
− | #instalamos mysql
| + | |
− | *Durante la instalación nos pedirá la contraseña de root
| + | |
− | *Probamos a entrar y que funciona bien
| + | |
− | <source lang=bash>
| + | |
− | mysql -u root -p
| + | |
− | '''insertamos la password'''
| + | |
− | show databases:
| + | |
− |
| + | |
− | use my_baseDatos;
| + | |
− |
| + | |
− | SELECT database();
| + | |
− | </source>
| + | |
− | *Podemos probar a crear una tabla
| + | |
− | #Instalamos apache
| + | |
− | <source lang=bash>
| + | |
− | apt-get install apache2
| + | |
− | </source>
| + | |
− | {{Actividad|
| + | |
− | #Probamos a ver si responde nuestro servidor web
| + | |
− | #Vemos el fichero de configuración
| + | |
− | #localizamos el fichero log y el de errores
| + | |
| }} | | }} |
− |
| |
− |
| |
− |
| |
− |
| |
− | *para parar y arrancar el servicio
| |
− | sudo /etc/init.d/apache2 stop|start
| |
− | Ahora debemos instalar php6 y el módulo correspondiente para apahce
| |
− |
| |
− | *Para instalar la versión 6, primero tenemos que añadir el fuente en el fichero sources.list
| |
− | <source lang=bash>
| |
− | sudo add-apt-repository ppa:ondrej/php5-5.6
| |
− | </source>
| |
− |
| |
− | <source lang=bash>
| |
− | apt-get install php5 libapache2-mod-php5
| |
− | </source>
| |
− | *Debemos restaurar el servicio para que los cambios tengan efecto en el servidor web
| |
− | <source lang=bash>
| |
− | /etc/init.d/apache2 restart
| |
− | </source>
| |
− | {{Actividad|
| |
− | *Localiza el fichero de configuracion de php: '''''php.ini'''''
| |
− | *Analiza el valor y significado de las siguientes directivas
| |
− | #short_open_tags
| |
− | #max_execution_time
| |
− | #error_reporting
| |
− | #file_upload
| |
− | #upload_max_filesize}}
| |
− |
| |
− | ===Instalar xdebug===
| |
− | *Podemos consultar la pagina de netbeans para la informacion
| |
− | https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package
| |
− |
| |
− | <source lang=bash>
| |
− | sudo apt-get install php5-dev php-pear
| |
− | </source>
| |
− |
| |
− | <source lang=bash>
| |
− | sudo pecl install xdebug
| |
− | </source>
| |
− | *A continuacion debemos modificar el fichero ini de php
| |
− | *Abrimos con nuestro editor el fichero
| |
− | <source lang=bash>
| |
− | sudo vim /etc/php5/apache2/php.ini .
| |
− | </source>
| |
− |
| |
− | *Añadimos el módulo de xdebug a la variable zend_extenxion de php
| |
− | <source lang=bash>
| |
− | zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
| |
− | xdebug.remote_enable=on
| |
− | </source>
| |
− | *Recordad que '''''<DATE+ĺfs>''''' es un nombre de directorio que se habrá creado al instalar esta extensión.
| |
− | *En el momento de la instalación en mi caso fue '''''20121212'''''
| |
− | *Si no funciona correctamente visita esta página http://xdebug.org/wizard.php
| |
− | *Copia en el cuadro de texto la salida de phpinfo() o bien en línea de comandos php -i
| |
− | *Después sigue las instrucciones que te van indicando.
| |