banner entornos de php en Linux

Para poder ejecutar código PHP en el navegador en Linux necesitamos no solamente tener PHP instalado, sino también un servidor que nos permita procesar y visualizar dicho código en el navegador.

En este post te explicaremos dos formas de poder realizar esta tarea:

  • Con el servidor HTTP integrado de PHP
  • Instalando un servidor LAMP en nuestro equipo.

Los siguientes pasos fueron probados y seguidos en un equipo con Ubuntu 16.04 LTS y son compatibles con versiones anteriores (15.04, 15.10) y posteriores (16.10, 17.04, 17.10, 18.04).

Servidor HTTP de PHP

Desde la versión 5.4, PHP posee un servidor HTTP integrado. Esto signfica que no necesitas tener un servidor como Apache o Nginx instalado para poder ejecutar código PHP en el navegador. Aunque no deberías usar el servidor web integrado en PHP para producción, éste es una herramienta perfecta para desarrollo.

El servidor integrado de PHP es un servidor web HTTP, esto quiere decir que puede servir contenido estático además de archivos PHP.

Instalar PHP

Primero que nada tenemos que instalar PHP en nuestro equipo. Para esto, dirigete a la terminal y ejecuta el siguiente comando:

sudo apt-get install php7.0-cgi php7.0

Una vez hecho esto, puedes verificar que todo esté instalado ejecutando el siguiente comando en la terminal:

php -v

Si al realizar este paso recibes la versión de PHP instalada, puedes continuar con el siguiente paso.

Iniciar el servidor

Es muy fácil iniciar el servidor HTTP de PHP. Abre tu terminal y dirigete al directorio principal de tu proyecto y ejecuta el siguiente comando:

php -S localhost:4000

Esto comando inicia un nuevo servidor en localhost y escucha en el puerto 4000. El directorio desde donde ejecutaste el comando es la página principal del servidor.

Desde un navegador puedes ir a http://localhost:4000 y visualizar tu aplicación. Cada solicitud HTTP realizada en el navegador es registrada en la terminal desde donde ejecutaste el servidor.

Para detener el servidor, presiona Ctrl+C donde lo estás ejecutando o simplemente cierra la terminal.

Desventajas de usar el servidor integrado de PHP

  • El servidor integrado de PHP no puede ser usado para producción.
  • El servidor integrado maneja una sola solicitud al mismo tiempo.
  • El servidor integrado tiene una capacidad limitada para reescribir URLs. Necesitas Apache o nginx para obtener URLs avanzadas.

Servidor LAMP

LAMP es el acrónimo usado para hacer referencia a una serie de herramientas que juntas nos permiten ejecutar código PHP en el navegador. Un entorno o servidor LAMP está compuesto por:

  • Linux, el sistema operativo.
  • Apache, el servidor web.
  • MySQL, la base de datos.
  • PHP, el lenguaje de programación.

Un servidor LAMP nos da muchas más ventajas a diferencia del servidor HTTP integrado de PHP. Los servidores LAMP también son comúnmente usados en producción.

Instalando LAMP

Al momento de realizar la instalación PHP 7.0 era la versión por defecto disponible en los repositorios de Ubuntu, sin embargo, aunque aún lo sigue siendo, la versión de PHP 7.1 ya está disponible como versión estable.

Lo primero que tenemos que hacer es instalar Apache. Desde la terminal ejecutamos el siguiente comando:

sudo apt-get install apache2

Una vez hecho esto, Apache será instalado. Dirigiendote a http://localhost/ en tu navegador deberías ver la página de inicio de Apache:

Pagina por defecto de Apache.

Una vez hecho esto podemos continuar al siguiente paso, instalar MySQL. Desde la terminal ejecuta el siguiente comando:

sudo apt-get install mysql-server mysql-client

Durante el proceso de instalación se te pedirá ingresar una contraseña para el usuario root de MySQL:

Pantalla de configuración de MySQL

Ingresa la contraseña y presiona Enter. Luego de esto, se te pedirá volver a ingresar la contraseña para confirmarla.

Al finalizar este proceso MySQL debería estar instalado. Para verificarlo, ejecuta el siguiente comando en la terminal:

sudo systemctl status mysql

Deberías recibir una respuesta similar a esta:

Respuesta de status de MySQL en la terminal

El siguiente paso es instalar PHP. En la terminal ejecuta el siguiente comando:

sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0

Al finalizar, para verificar que PHP se ha instalado correctamente, ejecuta el siguiente comando en la terminal:

php -v

Esto debería devolver la versión de PHP instalada, de una forma similar a la siguiente imagen:

Version de PHP en el navegador.

Instalar phpMyAdmin

Adicionalmente a nuestro entorno LAMP, podemos instalar de forma opcional phpMyAdmin. Esta herramienta nos permite administrar nuestras bases de datos directamente desde el navegador y de forma gráfica, sin necesidad de tener que escribir ningún comando de MySQL.

Para instalar phpMyAdmin ejecuta el siguiente comando en la terminal:

sudo apt-get install phpmyadmin

Durante el proceso de instalación se te pedirá que selecciones el tipo de servidor que estás utilizando, como muestra la siguiente imagen:

Instalacion de phpmyadmin

Debes seleccionar apache2, que ya en este punto debemos tener instalado.

Luego de este paso phpMyAdmin te pedirá configurar una base de datos para su uso, como muestra la siguiente imagen:

Configurar base de datos de phpmyadmin

Presiona Enter para configurar la base de datos automáticamente. Luego de esto el instalador phpMyAdmin te pedirá ingresar tu clave root de MySQL, la misma que ingresaste al instalar MySQL.

Al finalizar estos pasos, nos dirigimos a http://localhost/phpmyadmin/ desde el navegador para verificar que todo esté funcionando correctamente. De ser así deberías poder ver la página de inicio de sesión de phpMyAdmin.

Comandos para Apache

Apache nos da una serie de comandos para ser ejecutados desde la terminal. Por el momento tenemos dos comandos muy importantes:

systemctl restart apache2

Este comando nos permite reiniciar el servicio de Apache.

systemctl status apache2

Este otro comando nos permite ver el estado del servicio de Apache, por ejemplo, verificar que se esté ejecutando.

Cómo usar el servidor

A diferencia del servidor HTTP de PHP, donde podemos ejecutar código desde cualquier directorio, para poder ejecutar código PHP en nuestro servidor LAMP debemos almacenarlo en el directorio root de Apache. El directorio root de Apache se encuentra en /var/www/html.

Supongamos que tenemos la siguiente estructura dentro de /var/www/html:

/var/www/html
  archivo.php
  /directorio1
    archivo1.php
  /directorio2
    /subdirectorio
      archivo.php

Accedemos a archivo.php desde http://localhost/archivo.php.

Para acceder a directorio1/archivo1.php lo hacemos desde http://localhost/directorio1/archivo1.php.

Para acceder a directorio2/subdirectorio/archivo.php lo hacemos desde http://localhost/directorio2/subdirectorio/archivo.php.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Material relacionado

Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.