OCULTAR MENU LATERAL >>

Instalar herramientas necesarias para poder utilizar/desarrollar aplicaciones en PHP sobre Ubuntu

PHP es un lenguaje de programación diseñado originalmente para la creación de páginas web dinámicas. Sin embargo la continua ampliación de sus librerías y de su especificación permite actualmente usarlo también en una interfaz de línea de comandos (mediante la extensión PHP-CLI), en la creación de aplicaciones con interfaz gráfica usando las bibliotecas Qt (mediante la extensión PHP-Qt) o GTK+ (mediante la extensión PHP-GTK),...

La especificación principal de PHP y sus librerías son producidas por The PHP Group y sirve como el estándar de facto ya que no hay otra especificación formal. Además, The PHP Group ha creado una amplia documentación con todas las funciones del sistema explicadas y ejemplificadas (podemos descargarla de su web oficial o haciendo clic aquí). La licencia con que The PHP Group distribuye dicha especificación y librerías convierten a PHP en software libre.

Las librerías de PHP se dividen en módulos o extensiones. Cada extensión implementa un conjunto de funciones y herramientas con un cometido específico. Algunas de las características que implementan las librerías de PHP actualmente son:
  • Compatibilidad con los interpretes de la mayoría de los servidores web y de casi todos los sistemas operativos y plataformas sin costo alguno.
  • Los módulos para servidores web se encargan de ejecutar el código fuente PHP y devolver el resultado en HTML. De ese modo queda invisible al servidor web y por tanto éste nunca enviará el código PHP a los equipos que realizan las peticiones web. Esto hace la programación en PHP segura y confiable.
  • Conexión a diferentes tipos de sistemas gestores de base de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite,...
  • Generación de archivos PDF, Flash, y otros formatos.
  • Permiten aplicar técnicas de programación orientada a objetos.
  • No se requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
  • Manejo de excepciones (desde PHP5).
  • Soporte para manejar ficheros XML.
  • ...
Por todos estos motivos el módulo para Apache que permite a este servidor interpretar el lenguaje de programación PHP en las aplicaciones web que aloja y sirve se ha convertido en el módulo más popular que usa dicho servidor.

Para instalar dicho módulo en un servidor web Apache que se encuentra corriendo sobre Ubuntu, así como el resto de software necesario utilizar/desarrollar aplicaciones en PHP, haremos lo siguiente:
NOTA: En el momento de escribir el post la versión más actual del lenguaje es PHP 5.3.6. Para versiones diferentes esta instalación podría variar.
  1. Abrimos una Terminal (Aplicaciones->Accesorios->Terminal).
  2. Nos aseguramos de que tenemos instalado el servidor Apache:
     ~$ ls /etc/init.d/apache2
    Esto devolverá el mensaje "/etc/init.d/apache2".
  3. Instalamos el conjunto de paquetes necesarios:
    • php5 --> Paquete que incluye las librerías básicas de PHP.
    • libapache2-mod-php5 --> Paquete que añade a Apache el módulo que se encarga de interpretar el lenguaje.
    • apache2-mpm-prefork --> Paquete que añade a Apache el módulo que permite el multiprocesado (mpm). Por defecto, Apache utiliza para esta tarea el módulo "apache2-mpm-worker" (para sitios con mucho tráfico es más rápido y tiene menor consumo de memoria), pero la última versión de "libapache2-mod-php5" depende de "apache2-mpm-prefork", por lo que estamos obligados a usarlo, desinstalando la opción predeterminada.
    • php5-cli --> Contiene la extensión de librerías para PHP que permite su uso en la línea de comandos.
    • php5-common --> Contiene la documentación y los archivos de ejemplo relacionados con los demás paquetes generados a partir del código fuente de PHP5.
     ~$ sudo apt-get install php5 libapache2-mod-php5 apache2-mpm-prefork php5-cli php5-common
  4. Instalamos otros paquetes que considero imprescindibles:
    • php5-xcache --> Sirve como acelerador parael procesado de código PHP, gracias a la creación de una caché. Existen otros paquetes alternativos con cometido similar, pero éste suele superarlos en eficiencia y compatibilidad con las últimas versiones de PHP.
    • php-pear --> Añade un framework y un sistema de distribución para crear nuevos componentes reutilizables en PHP.
    • php5-suhosin --> Proporciona mayor seguridad, tratando de contener posibles vulnerabilidades en el código PHP. Para lograrlo Suhosin consta de 2 partes: La 1ª es un pequeño parche en el núcleo de PHP (implementa unas cuantas medidas de protección básica de bajo nivel contra vulnerabilidades debidas a buffer overflow o problemas con el formato de los string); La 2ª es una poderosa extensión que implementa medidas de protección adicionales como puede ser bloquear o desactivar funciones de PHP en caso de necesidad.
     ~$ sudo apt-get install php5-xcache php-pear php5-suhosin
  5. Instalamos otros paquetes que resultan muy útiles:
    • php5-mcrypt --> Este paquete provee una extensión a PHP que implementa diversas funciones útiles para el encriptado/desencriptado de información. Hay soporte para multitud de tipos estándar de encriptación.
    • php-doc --> Define un estándar oficial para comentar código php e incluye las herramientas necesarias para hacerlo. Entre otras herramientas permite que los generadores de documentos externos (como phpDocumentor) puedan crear documentación en buen formato y fácil de entender.
    • php5-xdebug --> Provee funciones de ayuda para depurar el código. Proporcionar seguimientos de pila, rastreo de mensajes de error, visualización de parámetros completos,...
    • php5-curl --> Provee de una extensión con funciones para tratar comunicaciones mediante los protocolos FTP, GOPHER a través del servidor HTTP.
     ~$ sudo apt-get install php5-mcrypt php-doc php5-xdebug php5-curl
  6. Si vamos a utilizar código PHP que hace uso de base datos, instalamos la extensión correspondiente al sistema gestor de base de datos que se vaya a usar:
    • Para MySQL:
      NOTA: Recuerda que también debes tener instalado MySQL y el módulo para Apache que permite manejar dichas base de datos ("libapache2-mod-auth-sql").
       ~$ sudo apt-get install php5-mysql
    • Para PostGreSQL:
      NOTA: Recuerda que también debes tener instalado PostGreSQL y el módulo para Apache que permite manejar dichas base de datos ("libapache2-mod-auth-pgsql").
       ~$ sudo apt-get install php5-pgsql 
    • Para SQLite:
       ~$ sudo apt-get install php5-sqlite 
    • ...
Una vez finalizada la instalación podemos comprobar que fue correcta, por ejemplo, creando una paǵina web que contenga información de estado de PHP y accediendo a ella a través del servidor web desde un navegador:
  1. Abrimos una Terminal (Aplicaciones->Accesorios->Terminal).
  2. Vamos a la ruta raiz donde se alojan las páginas web que trata el servidor Apache (por defecto es "/var/www", pero puede que haya sido modificada):
     ~$ cd /var/www
  3. Creamos el documento:
     ~$ sudo vim NOMBRE-EJEMPLO.php
    Con el siguiente contenido:
    <?php
       phpinfo();
    ?>
    Cerramos el fichero guardando los cambios realizados.
  4. Accedemos desde el navegador web a la dirección "http://127.0.0.1/NOMBRE.EJEMPLO.php" (donde 127.0.0.1 es la dirección del equipo servidor).
Si se muestra una página como la siguiente todo está correcto:




ACTUALIZACION 23/05/2011:

Instalar la librería GD (Graphics Dinamic):


Esta librería provee una extensión a PHP para manejar gráficos directamente. Incluye la lista de funciones más completa para este cometido. Soporta los formatos PNG, JPEG, XPM y las fuentes Freetype/ttf y permite generar ficheros gráficos a partir de unos parámetros variables.

Por ejemplo, las imágenes incluídas en una página web programada sólamente en HTML serán cargadas por el navegador siempre del mismo modo. Pero si al programar la web, en lugar de colocar etiquetas HTML con rutas de acceso a los ficheros gráficos, ponemos la ruta a un script PHP que use la librería GD y que generará cada imagen según la hora o el navegador, la página al ser cargada mostrará diferente apariencia según el momento de carga y según el navegador usado.

Así pues, esta librería permite:
  • la preparación automática de gráficos en tamaños alternativos
  • la generación dinámica de gráficos
  • generar diagramas de datos externos
  • dibujar cuerpos geométricos tridimensionales sin dificultad
  • colocar dibujos generados dinámicamente en nuestras páginas (miniaturas de figuras con posibilidad de seleccionar su tamaño de visualización)
  • dar color a gráficas de estadísticas de visitas de manera sencilla
  • ...

Para instalar esta librería haremos lo siguiente:
  1. Abrimos una Terminal (Aplicaciones->Accesorios->Terminal).
  2. Instalamos el paquete correspondiente:
     ~$ sudo apt-get install php5-gd

NOTA: Si usamos la librería GD en páginas web y servimos éstas a través de un servidor web (por ejemplo Apache), será necesario reiniciarlo para que la nueva librería sea cargada junto al resto de módulos PHP. En el caso de apache aquí podemos ver como se hace.

Dentro del manual web oficial de PHP podemos encontrar las referencias a las funciones de esta librería en la siguiente dirección: http://www.php.net/manual/es/ref.image.php



Salu2,
elSant0

ALGUNOS ARTICULOS RELACIONADOS

1comentarios:

Anónimo dijo...

No entiendo como hay gente que puede saber tanto. mis respetos mi amigo.

Publicar un comentario

Escribe aquí tus valoraciones, dudas, sugerencias,... Son sólo unos instantes y ayuda a mejorar el blog.