SlideShare a Scribd company logo
1 of 32
Download to read offline
Tecnologías Web de Cliente

Entorno PHP
Departamento de Ingeniería de Sistemas Telemáticos
http://moodle.dit.upm.es
Índice
Instalar PHP
Servidor web 'interno'
Apache Web Server
Configurar Eclipse
– Crear proyecto
– Ejecutar PHP
Trabajar en la nube

2
Entorno del curso: Linux
PHP puede utilizarse en cualquier entorno:
Linux, MS-Windows, MacOS....
●

– Windows: www.wampserver.com
– Mac: ya instalado. Ejecutar php en terminal.
Para mySQL, www.mamp.info

En este curso las instrucciones serán para
Linux en la distribución Ubuntu
●

Puedes mirar manuales para ver cómo
instalar las cosas en otro entorno
●

3
Instalar PHP como script
●

En linux, instalar php5-cli

●

Ejecutar

4
Servidor web
Escucha en un puerto, en el que acepta
conexiones http
●

●

Normalmente, ese puerto es el puerto 80
– Ej. http://localhost

●

Si es otro puerto, debo indicarlo
– Ej. http://localhost:8080

5
DocumentRoot Serv. Web
En un servidor web, tenemos que
configurar la carpeta que es publicada por
ese servidor (conocida como 'Document
Root)
●

De todo el servidor, sólo son públicos los
ficheros de esa carpeta
●

– Podemos cambiar la configuración
– Lo normal es usar /var/www pero tiene
permisos de root
6
Puertos privilegiados
Los puertos TCP/IP menores de 1024 están
reservados para usuarios privilegiados
●

Si ejecutamos un servidor web como
usuario normal, lo habitual son los puertos
2784, 5000, 8001, 8080
●

http://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html

7
Fallos habituales
Intentamos lanzar un servidor web, y ya
hay un proceso escuchando en el puerto 80
●

●

Solución: 'acabar' con el proceso

8
¿Cómo acabo un servicio?
Si sospechas que está lanzado apache2,
como es un servicio, podemos usar
●

– sudo servide <service> start|stop|restart

http://httpd.apache.org/docs/2.0/

9
¿Cómo listo los procesos?
●

Opción a): fuser

●

Opción b): ps |grep

10
¿Cómo mato los procesos?
●

Opción a) kill -9

●

Opción b) killall

11
Servidor 'de serie'
●

Si no queremos instalar apache

Con el parámetro -t podemos indicar la raíz
de documentos.
●

– Ej. php -S localhost:8080 -t /home/pepe
12
Entorno LAMP
LAMP = Linux + Apache Web Server +
MySQL/MariaDB + PHP/Perl/Python
●

En Mac: MAMP, Windows: WAMP, en cualquier
sistema operativo X: XAMP.
●

En linux, puedes instalarlo con el paquete
tasksel, lanzarlo y seleccionar LAMP server.
Luego conéctate en un navegador a
http://localhost:80 y verás el mensaje 'It works'
●

– El mensaje que ves está en /var/www/index.html
13
Ejecutar PHP
●

Editamos

●

Copio en el documentroot y lo miro en el navegador

– Si es apache2, copio con permisos de root en /var/www
y damos permisos de lectura (chmod 644)
14
Configurar Apache para
Eclipse
Por defecto, apache2 tiene document-root
en /var/www donde no tenemos permiso de
escritura
●

Tenemos que cambiar la configuración de
apache2 para que sirva nuestro workspace
●

– /etc/apache2/apache2.conf
– /etc/apache2/enabled/000-default.conf

15
Configurar apache2
●

Añado el directorio nuevo en apache2.conf

●

Cambio DocumentRoot en 00-default-conf
Directorio del
workspace

16
Otra alternativa
Para cada proyecto, me creo un enlace
desde /var/www
●

●

Ej. sudo ln -s $home/workspace /var/www
– Con $home/workspace el directorio
workspace de eclipse

La principal ventaja es que irán todas las
aplicaciones que tengamos instaladas (p.ej.
PhpMyAdmin).
●

17
Eclipse
●

Vamos a utilizar el plugin PDT
– http://www.eclipse.org/pdt/downloads/

●

Hay una versión 'todo en 1'
– Con eclipse, apache, etc.

Y una versión como plugin para añadir a
nuestro eclipse si ya lo tenemos (seguimos
con esta opción)
●

18
Instalar - Plugin PDT
●

Eclipse
– Help->Install new software
– Add
• http://download.eclipse.org/tools/pdt/updates/release

19
Eclipse PDT
File → New Project → Other → PHP
Project
●

20
Proyecto PHP

21
Crear fichero
●

Botón derecho->New->PHP File

22
Ejecutar fichero
Botón derecho->Run As->PHP Web
Application
●

23
Ejecutar (II)

24
Configurar PHP
●

Window->Preferences->PHP

25
Trabajar en la nube
Hay un creciente número de IDEs en la
nube con soporte para PHP
●

●

Ej. codenvy

26
27
Codenvy (I)

28
Codenvy (II)

29
Codenvy (III)

30
Conclusiones
La primera tarea para aprender PHP es
instalar PHP y comprobar que somos
capaces de ejecutar un ejemplo en el
navegador
●

Un entorno como Eclipse nos va a permitir
desarrollar, ejecutar y depurar tanto PHP
como HTML, CSS y JavaScript
●

31
Referencias
Programming PHP, O'Reilly, 2013,

●

– http://proquest.safaribooksonline.com/book/
programming/php/9781449361068

Head first PHP & MySQL, O'Reilly, 2008,

●

– http://proquest.safaribooksonline.com/book/
databases/mysql/9780596157739

32

More Related Content

What's hot (12)

A4 instalación de koha
A4   instalación de kohaA4   instalación de koha
A4 instalación de koha
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
php
phpphp
php
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
Manual php y_mysql
Manual php y_mysqlManual php y_mysql
Manual php y_mysql
 
Instalando nagios kuman hoy luis
Instalando nagios kuman hoy luisInstalando nagios kuman hoy luis
Instalando nagios kuman hoy luis
 
Guía instalación koha por paquetes
Guía instalación koha por paquetesGuía instalación koha por paquetes
Guía instalación koha por paquetes
 
Observium
ObserviumObservium
Observium
 
Observium
ObserviumObservium
Observium
 
Trabajo zabbix
Trabajo zabbixTrabajo zabbix
Trabajo zabbix
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 

Viewers also liked

Vishub description Global Excursion
Vishub description Global ExcursionVishub description Global Excursion
Vishub description Global ExcursionJuan Quemada
 
Herramientas para el desarrollo en plataformas móviles web
Herramientas para el desarrollo en plataformas móviles   webHerramientas para el desarrollo en plataformas móviles   web
Herramientas para el desarrollo en plataformas móviles webjoycesita
 
Internet Ice091117
Internet Ice091117Internet Ice091117
Internet Ice091117Juan Quemada
 
Isabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de InternetIsabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de InternetJuan Quemada
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSSLuis Miguel Martín
 
Arquitectura del Web 2
Arquitectura del Web 2Arquitectura del Web 2
Arquitectura del Web 2Juan Quemada
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorialjobfan
 
Nuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud ComputingNuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud ComputingJuan Quemada
 
Human Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative ApplicationsHuman Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative ApplicationsJuan Quemada
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5joycesita
 
GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group PresentationCarlos A. Iglesias
 
Html5 Open Video Tutorial
Html5 Open Video TutorialHtml5 Open Video Tutorial
Html5 Open Video TutorialSilvia Pfeiffer
 
Introduccion al Web 2.0
Introduccion al Web 2.0Introduccion al Web 2.0
Introduccion al Web 2.0Juan Quemada
 

Viewers also liked (20)

Presentación TEWC
Presentación TEWCPresentación TEWC
Presentación TEWC
 
Vishub description Global Excursion
Vishub description Global ExcursionVishub description Global Excursion
Vishub description Global Excursion
 
Herramientas para el desarrollo en plataformas móviles web
Herramientas para el desarrollo en plataformas móviles   webHerramientas para el desarrollo en plataformas móviles   web
Herramientas para el desarrollo en plataformas móviles web
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
CSS
CSSCSS
CSS
 
Internet Ice091117
Internet Ice091117Internet Ice091117
Internet Ice091117
 
Isabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de InternetIsabel: Reuniones, Clases y Congresos a través de Internet
Isabel: Reuniones, Clases y Congresos a través de Internet
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
 
Arquitectura del Web 2
Arquitectura del Web 2Arquitectura del Web 2
Arquitectura del Web 2
 
Google html5 Tutorial
Google html5 TutorialGoogle html5 Tutorial
Google html5 Tutorial
 
Fundamentos de CSS
Fundamentos de CSSFundamentos de CSS
Fundamentos de CSS
 
Nuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud ComputingNuevos retos de Internet: Movilidad y Cloud Computing
Nuevos retos de Internet: Movilidad y Cloud Computing
 
Empresa 2.0
Empresa 2.0Empresa 2.0
Empresa 2.0
 
Human Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative ApplicationsHuman Interaction, Social Protocols and Collaborative Applications
Human Interaction, Social Protocols and Collaborative Applications
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
 
GSI Research Group Presentation
GSI Research Group PresentationGSI Research Group Presentation
GSI Research Group Presentation
 
Html5 Open Video Tutorial
Html5 Open Video TutorialHtml5 Open Video Tutorial
Html5 Open Video Tutorial
 
HTML5 Canvas
HTML5 CanvasHTML5 Canvas
HTML5 Canvas
 
Css - Tema 1
Css - Tema 1Css - Tema 1
Css - Tema 1
 
Introduccion al Web 2.0
Introduccion al Web 2.0Introduccion al Web 2.0
Introduccion al Web 2.0
 

Similar to 0 entorno php

Similar to 0 entorno php (20)

Servidor web lamp
Servidor web lampServidor web lamp
Servidor web lamp
 
Instalación de XAMPP en Linux
Instalación de XAMPP en LinuxInstalación de XAMPP en Linux
Instalación de XAMPP en Linux
 
Aplicaciones web con php y my sql
Aplicaciones web con php y my sqlAplicaciones web con php y my sql
Aplicaciones web con php y my sql
 
Tema1
Tema1Tema1
Tema1
 
PHP Tema 1 - Introducción
PHP Tema 1 - IntroducciónPHP Tema 1 - Introducción
PHP Tema 1 - Introducción
 
Desarrollo de sitios web con PHP y MySQL.ppt
Desarrollo de sitios web con PHP y MySQL.pptDesarrollo de sitios web con PHP y MySQL.ppt
Desarrollo de sitios web con PHP y MySQL.ppt
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Programacion en php a traves de ejemplos
Programacion en php a traves de ejemplosProgramacion en php a traves de ejemplos
Programacion en php a traves de ejemplos
 
Ejemplos en php
Ejemplos en phpEjemplos en php
Ejemplos en php
 
Apuntes php.pdf ejemplos
Apuntes php.pdf ejemplosApuntes php.pdf ejemplos
Apuntes php.pdf ejemplos
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Instalando una LAMP en debian 6
Instalando una LAMP en debian 6Instalando una LAMP en debian 6
Instalando una LAMP en debian 6
 
Php andmysql
Php andmysqlPhp andmysql
Php andmysql
 
Apache
ApacheApache
Apache
 
Que es php
Que es phpQue es php
Que es php
 
Que es php
Que es phpQue es php
Que es php
 
Que es php
Que es phpQue es php
Que es php
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecms
 

More from Carlos A. Iglesias (20)

Bootstrap 3.
Bootstrap 3.Bootstrap 3.
Bootstrap 3.
 
Introducción HTML
Introducción HTMLIntroducción HTML
Introducción HTML
 
UPM GSI Presentation
UPM GSI PresentationUPM GSI Presentation
UPM GSI Presentation
 
Introducción Análisis y Diseño
Introducción Análisis y DiseñoIntroducción Análisis y Diseño
Introducción Análisis y Diseño
 
PHP. Bases de Datos
PHP. Bases de DatosPHP. Bases de Datos
PHP. Bases de Datos
 
PHP. Tecnologías Web.
PHP. Tecnologías Web.PHP. Tecnologías Web.
PHP. Tecnologías Web.
 
1 intro php
1 intro php1 intro php
1 intro php
 
Introducción TEWC
Introducción TEWCIntroducción TEWC
Introducción TEWC
 
Tema 4.1 Introduccion Android
Tema 4.1 Introduccion AndroidTema 4.1 Introduccion Android
Tema 4.1 Introduccion Android
 
Tema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacionTema 4.2 Desarrollo Android e instalacion
Tema 4.2 Desarrollo Android e instalacion
 
Tema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre telecoTema 4.3 Ejemplo sobre teleco
Tema 4.3 Ejemplo sobre teleco
 
Tema 4.4 Actividades
Tema 4.4 ActividadesTema 4.4 Actividades
Tema 4.4 Actividades
 
Tema 4.5 interfaces
Tema 4.5 interfacesTema 4.5 interfaces
Tema 4.5 interfaces
 
Tema 4.6 Intenciones
Tema 4.6 IntencionesTema 4.6 Intenciones
Tema 4.6 Intenciones
 
Tema 4.7 Acceso a datos
Tema 4.7 Acceso a datosTema 4.7 Acceso a datos
Tema 4.7 Acceso a datos
 
Tema 4.8 Preferencias
Tema 4.8 PreferenciasTema 4.8 Preferencias
Tema 4.8 Preferencias
 
Tema 4.9 Hebras
Tema 4.9 HebrasTema 4.9 Hebras
Tema 4.9 Hebras
 
Gestion de Ideas
Gestion  de IdeasGestion  de Ideas
Gestion de Ideas
 
Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.
 
Tema 2 diccionarios_grupo_23
Tema 2 diccionarios_grupo_23Tema 2 diccionarios_grupo_23
Tema 2 diccionarios_grupo_23
 

0 entorno php

  • 1. Tecnologías Web de Cliente Entorno PHP Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  • 2. Índice Instalar PHP Servidor web 'interno' Apache Web Server Configurar Eclipse – Crear proyecto – Ejecutar PHP Trabajar en la nube 2
  • 3. Entorno del curso: Linux PHP puede utilizarse en cualquier entorno: Linux, MS-Windows, MacOS.... ● – Windows: www.wampserver.com – Mac: ya instalado. Ejecutar php en terminal. Para mySQL, www.mamp.info En este curso las instrucciones serán para Linux en la distribución Ubuntu ● Puedes mirar manuales para ver cómo instalar las cosas en otro entorno ● 3
  • 4. Instalar PHP como script ● En linux, instalar php5-cli ● Ejecutar 4
  • 5. Servidor web Escucha en un puerto, en el que acepta conexiones http ● ● Normalmente, ese puerto es el puerto 80 – Ej. http://localhost ● Si es otro puerto, debo indicarlo – Ej. http://localhost:8080 5
  • 6. DocumentRoot Serv. Web En un servidor web, tenemos que configurar la carpeta que es publicada por ese servidor (conocida como 'Document Root) ● De todo el servidor, sólo son públicos los ficheros de esa carpeta ● – Podemos cambiar la configuración – Lo normal es usar /var/www pero tiene permisos de root 6
  • 7. Puertos privilegiados Los puertos TCP/IP menores de 1024 están reservados para usuarios privilegiados ● Si ejecutamos un servidor web como usuario normal, lo habitual son los puertos 2784, 5000, 8001, 8080 ● http://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html 7
  • 8. Fallos habituales Intentamos lanzar un servidor web, y ya hay un proceso escuchando en el puerto 80 ● ● Solución: 'acabar' con el proceso 8
  • 9. ¿Cómo acabo un servicio? Si sospechas que está lanzado apache2, como es un servicio, podemos usar ● – sudo servide <service> start|stop|restart http://httpd.apache.org/docs/2.0/ 9
  • 10. ¿Cómo listo los procesos? ● Opción a): fuser ● Opción b): ps |grep 10
  • 11. ¿Cómo mato los procesos? ● Opción a) kill -9 ● Opción b) killall 11
  • 12. Servidor 'de serie' ● Si no queremos instalar apache Con el parámetro -t podemos indicar la raíz de documentos. ● – Ej. php -S localhost:8080 -t /home/pepe 12
  • 13. Entorno LAMP LAMP = Linux + Apache Web Server + MySQL/MariaDB + PHP/Perl/Python ● En Mac: MAMP, Windows: WAMP, en cualquier sistema operativo X: XAMP. ● En linux, puedes instalarlo con el paquete tasksel, lanzarlo y seleccionar LAMP server. Luego conéctate en un navegador a http://localhost:80 y verás el mensaje 'It works' ● – El mensaje que ves está en /var/www/index.html 13
  • 14. Ejecutar PHP ● Editamos ● Copio en el documentroot y lo miro en el navegador – Si es apache2, copio con permisos de root en /var/www y damos permisos de lectura (chmod 644) 14
  • 15. Configurar Apache para Eclipse Por defecto, apache2 tiene document-root en /var/www donde no tenemos permiso de escritura ● Tenemos que cambiar la configuración de apache2 para que sirva nuestro workspace ● – /etc/apache2/apache2.conf – /etc/apache2/enabled/000-default.conf 15
  • 16. Configurar apache2 ● Añado el directorio nuevo en apache2.conf ● Cambio DocumentRoot en 00-default-conf Directorio del workspace 16
  • 17. Otra alternativa Para cada proyecto, me creo un enlace desde /var/www ● ● Ej. sudo ln -s $home/workspace /var/www – Con $home/workspace el directorio workspace de eclipse La principal ventaja es que irán todas las aplicaciones que tengamos instaladas (p.ej. PhpMyAdmin). ● 17
  • 18. Eclipse ● Vamos a utilizar el plugin PDT – http://www.eclipse.org/pdt/downloads/ ● Hay una versión 'todo en 1' – Con eclipse, apache, etc. Y una versión como plugin para añadir a nuestro eclipse si ya lo tenemos (seguimos con esta opción) ● 18
  • 19. Instalar - Plugin PDT ● Eclipse – Help->Install new software – Add • http://download.eclipse.org/tools/pdt/updates/release 19
  • 20. Eclipse PDT File → New Project → Other → PHP Project ● 20
  • 23. Ejecutar fichero Botón derecho->Run As->PHP Web Application ● 23
  • 26. Trabajar en la nube Hay un creciente número de IDEs en la nube con soporte para PHP ● ● Ej. codenvy 26
  • 27. 27
  • 31. Conclusiones La primera tarea para aprender PHP es instalar PHP y comprobar que somos capaces de ejecutar un ejemplo en el navegador ● Un entorno como Eclipse nos va a permitir desarrollar, ejecutar y depurar tanto PHP como HTML, CSS y JavaScript ● 31
  • 32. Referencias Programming PHP, O'Reilly, 2013, ● – http://proquest.safaribooksonline.com/book/ programming/php/9781449361068 Head first PHP & MySQL, O'Reilly, 2008, ● – http://proquest.safaribooksonline.com/book/ databases/mysql/9780596157739 32