🐘 Configuración de PHP en Debian

🚀 Instalación y Configuración de PHP para Apache

PHP es uno de los lenguajes de programación más utilizados para el desarrollo de aplicaciones web dinámicas. En conjunto con Apache, permite ejecutar sitios web interactivos, sistemas de gestión de contenidos (CMS), plataformas educativas y aplicaciones empresariales.


🎯 Objetivo

Al finalizar esta práctica el estudiante será capaz de:

✅ Instalar PHP.

✅ Integrar PHP con Apache.

✅ Instalar extensiones comunes.

✅ Configurar parámetros básicos de PHP.

✅ Verificar el correcto funcionamiento mediante phpinfo().

✅ Preparar el entorno para aplicaciones web modernas.


📋 Requisitos Previos

Antes de comenzar:

RequisitoDescripción
🐧 DebianSistema operativo instalado
🌐 InternetAcceso a repositorios
🔑 sudoPrivilegios administrativos
🌍 ApacheServidor Web instalado

Verificar Apache:

sudo systemctl status apache2


🔄 Paso 1. Actualizar el sistema

Actualizar repositorios:

sudo apt update

Actualizar paquetes:

sudo apt upgrade -y


📥 Paso 2. Instalar PHP

Instalar PHP:

sudo apt install php -y

Verificar versión:

php -v

Ejemplo:

PHP 8.x.x (cli)


🔧 Paso 3. Instalar extensiones esenciales

Para un entorno web completo:

sudo apt install \

php-cli \

php-common \

php-mysql \

php-curl \

php-gd \

php-mbstring \

php-xml \

php-zip \

php-intl \

php-bcmath \

php-soap \

php-ldap \

php-imagick -y


📚 ¿Para qué sirve cada extensión?

ExtensiónFunción
php-mysqlConexión con MySQL/MariaDB
php-curlAcceso a APIs y servicios web
php-gdManipulación de imágenes
php-mbstringSoporte Unicode
php-xmlProcesamiento XML
php-zipArchivos comprimidos
php-intlInternacionalización
php-soapServicios Web SOAP
php-ldapIntegración con Active Directory
php-imagickProcesamiento avanzado de imágenes

⚙️ Paso 4. Verificar integración con Apache

Comprobar que Apache reconoce PHP:

apache2ctl -M | grep php

Ejemplo:

php_module (shared)


📝 Paso 5. Configurar PHP

Editar:

sudo nano /etc/php/*/apache2/php.ini


Parámetros recomendados

Buscar y modificar:

Memoria máxima

INI

memory_limit = 256M


Tamaño máximo de carga

INI

upload_max_filesize = 128M


Tamaño máximo de formularios

INI

post_max_size = 128M


Tiempo máximo de ejecución

INI

max_execution_time = 300


Máximo tiempo de entrada

INI

max_input_time = 300


Zona horaria

Buscar:

INI

;date.timezone =

Modificar:

INI

date.timezone = America/Mazatlan


🔒 Paso 6. Configurar seguridad básica

Ocultar la versión de PHP:

Buscar:

INI

expose_php = On

Cambiar a:

INI

expose_php = Off


Deshabilitar funciones peligrosas:

INI

disable_functions = exec,passthru,shell_exec,system,proc_open,popen


🔄 Paso 7. Reiniciar Apache

Aplicar cambios:

sudo systemctl restart apache2

Verificar:

sudo systemctl status apache2


🧪 Paso 8. Crear página de prueba

Crear archivo:

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

Contenido:

PHP

<?php

phpinfo();

?>

Guardar.


🌐 Paso 9. Verificar funcionamiento

Abrir en el navegador:

http://localhost/info.php

o

http://IP_DEL_SERVIDOR/info.php

Ejemplo:

http://192.168.11.105/info.php

Deberá aparecer la página informativa de PHP.


📂 Archivos Importantes

Configuración de PHP para Apache

/etc/php/*/apache2/php.ini


Configuración de PHP para consola

/etc/php/*/cli/php.ini


Directorio Web

/var/www/html/


Logs de Apache

/var/log/apache2/access.log

/var/log/apache2/error.log


🔍 Comandos de Diagnóstico

Mostrar módulos PHP cargados:

php -m


Información detallada:

php -i


Ver ubicación de archivos INI:

php –ini


Ver extensiones instaladas:

php -m | less


🛡️ Buenas Prácticas

✅ Mantener PHP actualizado.

✅ Eliminar info.php cuando finalicen las pruebas.

✅ Realizar respaldos antes de modificar php.ini.

✅ Utilizar HTTPS en producción.

✅ Instalar únicamente las extensiones necesarias.

✅ Revisar periódicamente los registros del servidor.

✅ Mantener Apache y PHP actualizados desde los repositorios oficiales.


🧪 Actividades de Comprobación

Actividad 1

Instalar PHP y verificar la versión:

php -v

Actividad 2

Instalar las extensiones:

php-mysql

php-curl

php-gd

php-xml

php-mbstring

Actividad 3

Modificar la zona horaria:

INI

date.timezone = America/Mazatlan

Actividad 4

Crear el archivo:

PHP

info.php

Actividad 5

Comprobar que Apache interpreta código PHP.


🏆 Conclusión

PHP continúa siendo una de las plataformas más utilizadas para el desarrollo web. Integrado con Apache en Debian proporciona un entorno estable, seguro y altamente compatible para ejecutar aplicaciones como Moodle, WordPress, Laravel, Symfony, Nextcloud, phpMyAdmin y sistemas desarrollados a medida, convirtiéndose en una solución ideal tanto para entornos educativos como empresariales. 🐧🐘🌐