Cómo instalar PHP en Ubuntu: Guía completa de principiante a avanzado (Ubuntu 22.04 LTS)

.## 1. Introducción

目次

Por qué usar PHP en Ubuntu

PHP es un lenguaje de scripting del lado del servidor ampliamente utilizado en muchas aplicaciones web, incluido WordPress. Ha sido empleado extensamente en el desarrollo web durante muchos años, y un gran número de plataformas CMS y frameworks están construidos sobre PHP.

Ubuntu es una distribución Linux altamente estable utilizada por desarrolladores de todo el mundo y está especialmente bien adaptada a entornos de servidor. La combinación de Ubuntu y PHP está muy extendida, desde configuraciones de desarrollo personal hasta sistemas de producción de nivel empresarial.

Público objetivo y propósito de este artículo

Este artículo está dirigido a un amplio rango de usuarios, desde principiantes que desean instalar PHP en Ubuntu pero no saben por dónde empezar, hasta usuarios intermedios que necesitan instalar versiones específicas de PHP. Los procedimientos se explican de la manera más clara posible.

Las instrucciones se basan en Ubuntu 22.04 LTS, pero los mismos pasos básicos se aplican también a otras versiones.

Qué aprenderás

Al leer este artículo, podrás comprender y practicar lo siguiente:

  • Métodos básicos para instalar PHP en Ubuntu
  • Cómo instalar y cambiar entre múltiples versiones de PHP
  • Cómo verificar el funcionamiento de PHP y solucionar problemas
  • Configuración para la integración con Apache y Nginx
  • Cómo instalar los módulos de PHP más usados

2. Requisitos previos y preparación

Cómo comprobar la versión de Ubuntu

Primero, verifica qué versión de Ubuntu estás usando. Los métodos de instalación de PHP y los módulos compatibles pueden variar ligeramente según la versión de Ubuntu.

Puedes comprobar la versión de Ubuntu ejecutando el siguiente comando:

lsb_release -a

Alternativamente, puedes usar este comando:

cat /etc/os-release

Este artículo explica los procedimientos basados en Ubuntu 22.04 LTS, pero los mismos pasos generalmente se aplican a Ubuntu 20.04 y 23.10.

Mantener los paquetes del sistema actualizados

Antes de instalar PHP, es muy importante actualizar todos los paquetes del sistema. Esto ayuda a prevenir problemas de dependencias y conflictos.

sudo apt update
sudo apt upgrade -y

Esto actualiza el índice de paquetes APT y garantiza que todos los paquetes se instalen en sus versiones estables más recientes.

Instalar utilidades requeridas

Algunas versiones de PHP requieren herramientas adicionales para gestionar repositorios. El paquete software-properties-common es necesario para añadir repositorios como PPAs.

Si no está instalado, instálalo con el siguiente comando:

sudo apt install -y software-properties-common

Este paquete es necesario para comandos como add-apt-repository, que se usan habitualmente al instalar versiones específicas de PHP mediante un PPA.

Uso de privilegios de root o sudo

La mayoría de las operaciones presentadas en este artículo requieren cambios a nivel del sistema. Asegúrate de usar sudo al ejecutar los comandos.

3. Cómo instalar PHP

Existen dos formas principales de instalar PHP en Ubuntu. Una es instalar desde los repositorios predeterminados, y la otra es instalar una versión específica usando un PPA (Personal Package Archive). Cada método se explica en detalle a continuación.

Instalar PHP desde el repositorio predeterminado

Ubuntu proporciona una versión estable de PHP en sus repositorios predeterminados. Si no necesitas una versión específica, este es el método más sencillo.

sudo apt install -y php

Después de la instalación, verifica que PHP se haya instalado correctamente:

php -v

Salida de ejemplo:

PHP 8.1.2 (cli) (built: ...)

En Ubuntu 22.04, PHP 8.1 se instala por defecto.

Instalar una versión específica de PHP usando un PPA

Si deseas usar la última versión de PHP o gestionar múltiples versiones, puedes añadir el PPA ondrej/php.

Paso 1: Añadir el repositorio PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Este PPA es ampliamente usado en la comunidad de Ubuntu y ofrece compilaciones estables para múltiples versiones de PHP.

Paso 2: Instalar la versión de PHP deseada

Por ejemplo, para instalar PHP 8.2:

sudo apt install -y php8.2

También puedes instalar otras versiones como PHP 7.4 o 8.0.

Paso 3: Verificar la versión instalada

php -v

4. Verificando el funcionamiento de PHP

Después de instalar PHP, verifica que funciona correctamente. Puedes comprobarlo mediante la línea de comandos y a través de un servidor web como Apache o Nginx.

Verificar mediante la línea de comandos (CLI)

Primero, verifica la versión de PHP desde la terminal:

php -v

Salida de ejemplo:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Verificar mediante el servidor web (Apache)

Si Apache está instalado, crea una página de prueba usando la función phpinfo().

1. Crear un archivo de prueba

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Acceder mediante el navegador

http://localhost/info.php

3. Confirmar la salida

Si se muestra información detallada de PHP, PHP está funcionando correctamente con Apache.

🔍 Nota: La salida de phpinfo() contiene información sensible. Elimina el archivo después de la verificación.

sudo rm /var/www/html/info.php

Verificar con Nginx + PHP‑FPM

Al usar Nginx, PHP se procesa a través de php-fpm. Para verificar una integración adecuada, asegúrate de que los archivos .php estén correctamente configurados en el archivo de configuración de Nginx, luego crea un archivo info.php como lo harías con Apache.

Si la configuración es incorrecta, podrías encontrarte con un error 500 o ver el archivo descargado en lugar de ejecutado. En esos casos, revisa configuraciones como fastcgi_pass e include fastcgi-php.conf; en la configuración de Nginx.

5. Instalación de módulos PHP de uso común

Instalar solo PHP no brinda toda la funcionalidad. Muchas características se entregan como módulos (extensiones) separados que deben instalarse según sea necesario. Esta sección presenta los módulos PHP más usados en desarrollo y operaciones reales.

¿Qué son los módulos PHP?

Los módulos PHP (también llamados extensiones) añaden capacidades específicas como conectividad a bases de datos, manejo de cadenas multibyte, procesamiento de imágenes y análisis XML.

Los módulos se proporcionan como paquetes APT y pueden instalarse de la siguiente manera:

sudo apt install php-module-name

Si deseas especificar una versión, usa un formato como php8.2-mbstring.

Principales módulos PHP y sus usos

php-mbstring (Soporte de cadenas multibyte)

Este módulo es esencial para manejar cadenas de caracteres multibyte como texto japonés. Es casi obligatorio para sitios web japoneses y procesamiento de correos electrónicos.

sudo apt install php-mbstring

php-mysql (Conectividad MySQL / MariaDB)

Este módulo es necesario al conectar con bases de datos como MySQL o MariaDB. Es esencial para aplicaciones como WordPress.

sudo apt install php-mysql

php-gd (Procesamiento de imágenes)

Este módulo se usa para generar, convertir y redimensionar imágenes, y es comúnmente utilizado para miniaturas y manipulación de imágenes.

sudo apt install php-gd

php-xml (Procesamiento XML)

Este módulo es necesario para manejar datos basados en XML como feeds RSS y servicios SOAP. Es comúnmente usado en plataformas CMS e integraciones de API.

sudo apt install php-xml

php-curl (Comunicación HTTP)

Este módulo permite solicitudes HTTP desde el servidor, como al integrar con APIs externas. Es requerido por muchos frameworks modernos.

sudo apt install php-curl

php-zip (Manejo de archivos comprimidos)

Este módulo permite crear y extraer archivos ZIP y se usa frecuentemente en funcionalidades de carga de archivos.

sudo apt install php-zip

Habilitar módulos y reiniciar servicios

Algunos módulos requieren activación explícita después de la instalación. Usa phpenmod para habilitarlos.

sudo phpenmod module_name
sudo systemctl restart apache2

Los módulos habilitados surten efecto después de reiniciar el servidor web.

6. Gestión y cambio de versiones de PHP

.Ubuntu permite instalar y usar múltiples versiones de PHP en un solo servidor. Esto es especialmente útil en entornos de desarrollo o en servidores que alojan varias aplicaciones web.

Esta sección explica cómo cambiar la versión de PHP para la CLI y para Apache.

Cambiar versiones de PHP en la CLI

Comando usado: update-alternatives

Puedes cambiar fácilmente la versión de PHP utilizada en la línea de comandos usando update-alternatives.

Paso 1: Verificar las versiones de PHP instaladas

ls /usr/bin/php*

Paso 2: Registrar las versiones de PHP (solo la primera vez)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Paso 3: Seleccionar la versión de PHP

sudo update-alternatives --config php

Verás un menú de selección similar al siguiente:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Paso 4: Verificar la versión

php -v

Cambiar versiones de PHP en Apache

Cuando se usa Apache, las versiones de PHP se gestionan mediante módulos de Apache. Puedes cambiar de versión habilitando y deshabilitando módulos.

1. Ver los módulos disponibles

ls /etc/apache2/mods-available | grep php

2. Deshabilitar el módulo activo actualmente

sudo a2dismod php7.4

3. Habilitar la versión deseada

sudo a2enmod php8.2

4. Reiniciar Apache

sudo systemctl restart apache2

7. Integrar PHP con Apache y Nginx

PHP se vuelve realmente potente cuando se integra con un servidor web. En Ubuntu, los servidores web más usados son Apache y Nginx.

Integración con Apache (mod_php)

Apache puede procesar scripts PHP directamente mediante el módulo mod_php. Este método es sencillo y adecuado para plataformas CMS como WordPress.

Paso 1: Instalar Apache y mod_php

sudo apt install -y apache2 libapache2-mod-php

Paso 2: Reiniciar Apache

sudo systemctl restart apache2

Paso 3: Probar la ejecución de PHP

<?php
phpinfo();
?>
http://localhost/test.php

Integración con Nginx (PHP-FPM)

Nginx no procesa PHP directamente. En su lugar, depende de PHP-FPM (FastCGI Process Manager).

Paso 1: Instalar Nginx y PHP-FPM

sudo apt install -y nginx php-fpm

Paso 2: Editar la configuración de Nginx

sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Paso 3: Reiniciar Nginx

sudo systemctl restart nginx

8. Solución de problemas

El código fuente de PHP se muestra en el navegador

Causa

Esto ocurre cuando el servidor web no procesa correctamente los archivos PHP.

Solución

  • Apache:
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Nginx:
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Las funciones de PHP aparecen como indefinidas

Causa

Los módulos de PHP requeridos no están instalados o habilitados.

Solución

sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m

Los errores de PHP no se muestran

Solución

sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2

Ubicaciones de los archivos de registro

Apache:

/var/log/apache2/error.log

Nginx:

/var/log/nginx/error.log

PHP-FPM:

/var/log/php8.2-fpm.log

9. Resumen

Este artículo ofrece una explicación paso a paso de cómo instalar PHP en Ubuntu, desde conceptos básicos hasta temas avanzados.

Puntos clave

  • Verifica la versión de Ubuntu y actualiza los paquetes
  • Instala PHP mediante los repositorios predeterminados o PPAs
  • Comprueba PHP desde la CLI y los servidores web
  • Amplía la funcionalidad con módulos
  • Gestiona múltiples versiones de PHP de forma flexible
  • Integra correctamente con Apache o Nginx
  • Revisa los registros al solucionar problemas

Próximos pasos

  • Instalar MySQL o MariaDB
  • Configurar WordPress
  • Utilizar frameworks de PHP como Laravel
  • Habilitar HTTPS con certificados SSL
  • Administrar servicios con systemd

Ubuntu y PHP juntos proporcionan un entorno de desarrollo robusto y flexible. Usa esta guía como base y sigue ampliando tus habilidades.

10. Preguntas frecuentes (FAQ)

Q1. ¿Cómo instalar la última versión de PHP en Ubuntu?

A. Usa el PPA ondrej/php y especifica la versión deseada.

Q2. ¿Cómo cambiar la versión de PHP en la CLI?

sudo update-alternatives --config php

Q3. El código fuente de PHP se muestra en Apache.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. ¿Dónde se encuentra php.ini?

  • Apache: /etc/php/8.2/apache2/php.ini
  • CLI: /etc/php/8.2/cli/php.ini

Q5. ¿Cómo habilitar módulos de PHP?

sudo phpenmod mbstring
sudo systemctl restart apache2

Q6. PHP no funciona con Nginx.

Asegúrate de que php-fpm esté instalado y que fastcgi_pass esté configurado correctamente.

Q7. Los errores de PHP no son visibles.

display_errors = On
error_reporting = E_ALL
年収訴求