Diferencia entre revisiones de «Usuario:ManuelRomero/PHPBasico/instalaciones/ServidorWeb»

De WikiEducator
Saltar a: navegación, buscar
 
(6 revisiones intermedias por el mismo usuario no mostrado)
Línea 12: Línea 12:
  
 
===Los componentes de una aplicación web===
 
===Los componentes de una aplicación web===
 
 
  
 
*1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web
 
*1.-'''''Un servidor web''''' para recibir las peticiones de los clientes web
 
**Suelen ser los navegadores. Reciben  la página que solicitan
 
**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:
 
**El servidor web debe conocer el procedimiento a seguir para generar la página web:
 +
Usaremos Apache
 
Para ello tendrá módulos encargados de  la ejecución del código y cómo se debe comunicar con él.
 
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'''''.
 
*2.-'''''El módulo encargado de ejecutar el código o programa'''''.
Línea 25: Línea 24:
 
*3.- '''''Un gestor  de base de datos''''', será un servidor.
 
*3.- '''''Un gestor  de base de datos''''', será un servidor.
 
**Este módulo no es estrictamente necesario pero se usa casi siempre.
 
**Este módulo no es estrictamente necesario pero se usa casi siempre.
 +
Usaremos mysql
 
*4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones.
 
*4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones.
 +
Usaremos PHP
 +
*5.-'''''Un EDI'''''
 +
**EDI es un entorno de desarrollo integrado, es decir, un programa que nos permite escribir nuestros programas y ejecutarlos, facilitándonos con diferentes herramientas extras el desarrollo del mismo
 +
Usaremos NetBeans
 +
{{Actividad
 +
|
 +
Title=Programas a instalar
 +
|
 +
;Apache2
 +
:Como servidor Web
 +
;PHP
 +
:como Lenguaje de programación
 +
:Habrá que instalar el módulo correspondiente para que apache integre la interpretación y ejecución del código php
 +
;mysql
 +
:Como gestor de bases de datos
 +
:Hay que instalar tanto el cliente como el servidor
 +
;Netbeans
 +
:Como programa para editor y escribir el código de nuestros programas
 +
}}
 +
==Instalaciones==
 +
;Instalando 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
  
===La arquitectura de la aplicación===
+
*Para instalar la versión 6, primero tenemos que añadir el fuente en el fichero sources.list
*Además de los componentes a utilizar, también es importante decidir cómo vas a organizar el código de la aplicación.
+
<source lang=bash>
*Esto se conoce como la arquitectura de la aplicación web. 
+
sudo add-apt-repository ppa:ondrej/php5-5.6
*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.
+
</source>
*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).
+
;Instalando php
*Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos;
+
*Observamos que debemos de instalar dos programas
cada servidor se puede encargar de ejecutar una parte de la aplicación.
+
*Por un lado el lenguaje de programación '''''php5'''''
*Internamente se puede dividir la funcionalidad de una aplicación web en:
+
*Por otro lado la librería o módulo para que apache pueda ejecutar y probar los programas escritos en php '''''libapache2-mod-php5'''''.
#'''''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.
+
<source lang=bash>
#'''''capa intermedia''''' :  donde deberás programar la funcionalidad de tu aplicación.
+
apt-get install php5 libapache2-mod-php5
#'''''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.
+
</source>
*También en la parte del ser
+
*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 configuración 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}}
  
 +
;Instalando mysql
  
 +
*Los programas los tenemos que instalar tanto en el servidor como en el cliente
 +
*Si vamos a usar la misma máquina, lo instalamos todo en ella
 +
<source lang=bash>
 +
sudo apt-get install mysql-server mysql-client
 +
</source>
 +
*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>
  
  
 +
 +
;Instalando netbeans
 +
*Para instalar netbeans procedemos a bajar el ficheero shell de instalación y lo ejecutamos en nuestra máquina
 +
*Un fichero shell es un fichero que el sistema operativo sabe interpretar y ejecutar
 +
*Para ello el fichero tiene que tener permiso de ejecución.
 +
*Para instalar y ejecutar netbeans necesitamos tener una máquina virtual de java ejecutándose dentro de un path conocido por el sistema
 +
*Con el objetivo de evitar problemas bajamos una versión de netbeans con java
 +
http://www.oracle.com/us/technologies/java/jdk-7-netbeans-download-432126.html
 +
*Se descargará un fichero
 +
jdk-7u80-nb-8_0_2-linux-x64.sh
 +
*Abrimos un terminal en nuestra máquina (damos a la esquina superior izquierda y escribimos '''''terminal''''')
 +
[[Imagen:installNetbeans1.png]]
 +
*Localizamos el fichero (seguramente estará ubicado en /home/"nuestro usuario"/Descargas
 +
*Y allí le damos permisos de ejecución con el comando '''''chmod''''' y después con el comando '''''sh''''' para interpretar ficheros shell se ejecuta
 +
<source lang=bash>
 +
sudo chmod +x jdk-7-netbeans-download-432126.sh
 +
sh jdk-7-netbeans-download-432126.sh
 +
</source>
 +
*Entonces se prodece a instalar, las opciones que nos pida confirmación seleccionamos todo por defecto
 +
*Una vez instalamos le agregamos por si no lo tiene el plugin de código php
 +
*Vamos en el menú principal en el netbeans y vamos a la opción '''''Tools'''''
 +
*Dentro de ella vamos a '''''Plugins'''''
 +
*Entonces nos sale una ventana como la siguiente
 +
[[Archivo:installNetbeans2.png]]
 +
*En ella vamos a la opción o pestaña '''''Available Plugins(...)'''''
 +
*En el cuadro de texto '''''Search''''' escribimos PHP
 +
*Entonces la veremos en la lista de programs central, buscamos donde ponga PHP y lo seleccionamos
 +
*En el menú inferior seleccionamos la opción install
 +
 +
;Instalando xdebug
 
==Instalar java==
 
==Instalar java==
 +
*Si quisiéramos instalar java antes de netbeans (si hemos procedido como antes, no hace falta, pero lo dejo por si alguien quiere instalarlo en dos pasos, primero java y luego netbeans
 
*Primero debemos ver si tenemos instalado java  
 
*Primero debemos ver si tenemos instalado java  
 
<source lang=bash>
 
<source lang=bash>
Línea 66: Línea 157:
 
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
 
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
 
</source>
 
</source>
==Instalar netbeans==
 
 
http://niconsystem.wordpress.com/2014/04/17/instalar-netbeans-8-0-en-ubuntu-14-04/
 
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/
 
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
 
  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===
 
===Instalar xdebug===
 +
*Xdebug es una interesante herramienta que nos va a permitir debugar nuestros programas
 +
*Es una herramienta que a veces cuesta instalarla, vamos a ver el proceso
 
*Podemos consultar la pagina de netbeans para la informacion
 
*Podemos consultar la pagina de netbeans para la informacion
 
  https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package
 
  https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package

Última revisión de 22:43 18 abr 2016




Tecnologías para programación web del lado del servidor

  • Cuando programas una aplicación, utilizas un lenguaje de programación.
  • Por ejemplo, utilizas el lenguaje Java para crear aplicaciones que se ejecuten en distintos sistemas operativos.
  • 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.
  • Por ejemplo en el caso de javauna máquina virtual de Java.
  • Son consideraciones a tener en cuenta antes de empezar a 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:
Usaremos Apache

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.
Usaremos mysql
  • 4.-El lenguaje de programación que utilizarás para desarrollar las aplicaciones.
Usaremos PHP
  • 5.-Un EDI
    • EDI es un entorno de desarrollo integrado, es decir, un programa que nos permite escribir nuestros programas y ejecutarlos, facilitándonos con diferentes herramientas extras el desarrollo del mismo
Usaremos NetBeans


Icon activity.jpg

Programas a instalar

Apache2
Como servidor Web
PHP
como Lenguaje de programación
Habrá que instalar el módulo correspondiente para que apache integre la interpretación y ejecución del código php
mysql
Como gestor de bases de datos
Hay que instalar tanto el cliente como el servidor
Netbeans
Como programa para editor y escribir el código de nuestros programas




Instalaciones

Instalando apache
 apt-get install apache2


Icon activity.jpg

Actividad

  1. Probamos a ver si responde nuestro servidor web
  2. Vemos el fichero de configuración
  3. 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
sudo add-apt-repository ppa:ondrej/php5-5.6
Instalando php
  • Observamos que debemos de instalar dos programas
  • Por un lado el lenguaje de programación php5
  • Por otro lado la librería o módulo para que apache pueda ejecutar y probar los programas escritos en php libapache2-mod-php5.
apt-get install php5 libapache2-mod-php5
  • Debemos restaurar el servicio para que los cambios tengan efecto en el servidor web
/etc/init.d/apache2 restart


Icon activity.jpg

Actividad

  • Localiza el fichero de configuración de php: php.ini
  • Analiza el valor y significado de las siguientes directivas
  1. short_open_tags
  2. max_execution_time
  3. error_reporting
  4. file_upload
  5. upload_max_filesize




Instalando mysql
  • Los programas los tenemos que instalar tanto en el servidor como en el cliente
  • Si vamos a usar la misma máquina, lo instalamos todo en ella
sudo apt-get install mysql-server mysql-client
  • Durante la instalación nos pedirá la contraseña de root
  • Probamos a entrar y que funciona bien
 mysql -u root -p
 '''insertamos la password'''
 show databases:
 
 use my_baseDatos;  
 
 SELECT database();


Instalando netbeans
  • Para instalar netbeans procedemos a bajar el ficheero shell de instalación y lo ejecutamos en nuestra máquina
  • Un fichero shell es un fichero que el sistema operativo sabe interpretar y ejecutar
  • Para ello el fichero tiene que tener permiso de ejecución.
  • Para instalar y ejecutar netbeans necesitamos tener una máquina virtual de java ejecutándose dentro de un path conocido por el sistema
  • Con el objetivo de evitar problemas bajamos una versión de netbeans con java

http://www.oracle.com/us/technologies/java/jdk-7-netbeans-download-432126.html

  • Se descargará un fichero
jdk-7u80-nb-8_0_2-linux-x64.sh
  • Abrimos un terminal en nuestra máquina (damos a la esquina superior izquierda y escribimos terminal)

InstallNetbeans1.png

  • Localizamos el fichero (seguramente estará ubicado en /home/"nuestro usuario"/Descargas
  • Y allí le damos permisos de ejecución con el comando chmod y después con el comando sh para interpretar ficheros shell se ejecuta
 sudo chmod +x jdk-7-netbeans-download-432126.sh
 sh jdk-7-netbeans-download-432126.sh
  • Entonces se prodece a instalar, las opciones que nos pida confirmación seleccionamos todo por defecto
  • Una vez instalamos le agregamos por si no lo tiene el plugin de código php
  • Vamos en el menú principal en el netbeans y vamos a la opción Tools
  • Dentro de ella vamos a Plugins
  • Entonces nos sale una ventana como la siguiente

InstallNetbeans2.png

  • En ella vamos a la opción o pestaña Available Plugins(...)
  • En el cuadro de texto Search escribimos PHP
  • Entonces la veremos en la lista de programs central, buscamos donde ponga PHP y lo seleccionamos
  • En el menú inferior seleccionamos la opción install
Instalando xdebug

Instalar java

  • Si quisiéramos instalar java antes de netbeans (si hemos procedido como antes, no hace falta, pero lo dejo por si alguien quiere instalarlo en dos pasos, primero java y luego netbeans
  • Primero debemos ver si tenemos instalado java
 java -version
  • Nos dirá la versión que actualmente tenemos instalada o que no lo tenemos.
  • En caso de no tenerla lo instalamos, podemos seguir esta guia
  • jdk, jre, jvm
  • Primero instamalos el jre
sudo apt-get install icedtea-7-plugin openjdk-7-jre
  • Luego el jdk
sudo apt-get install openjdk-7-jdk
  • Ahora verificamos la instalación
# 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)

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/


http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

Instalar xdebug

  • Xdebug es una interesante herramienta que nos va a permitir debugar nuestros programas
  • Es una herramienta que a veces cuesta instalarla, vamos a ver el proceso
  • Podemos consultar la pagina de netbeans para la informacion
https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#xdebug-package
sudo apt-get install php5-dev php-pear
 sudo pecl install xdebug
  • A continuacion debemos modificar el fichero ini de php
  • Abrimos con nuestro editor el fichero
 sudo vim /etc/php5/apache2/php.ini .
  • Añadimos el módulo de xdebug a la variable zend_extenxion de php
zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
xdebug.remote_enable=on
  • 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.