Este documento describe cómo configurar el entorno de desarrollo PHP en Linux, incluyendo la instalación de PHP, configuración de un servidor web como Apache, y uso de Eclipse para crear y ejecutar proyectos PHP. Explica cómo cambiar la carpeta de documentos raíz de Apache para publicar proyectos desde Eclipse, y cómo ejecutar scripts PHP desde la línea de comandos o a través de un servidor web.
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
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
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
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
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