453
XAMPP era el entorno de desarrollo para PHP favorito de muchos, ya que incluía en empaquetados Base de datos, PHP, Perl, phpMyAdmin para la gestión de base de datos.
Sin embargo, XAMPP se quedó hasta la versión 8.2.12, aparentemente está descontinuado, por lo que es necesario buscar nuevas formas de probar y desarrollar PHP
Aquí entra en juego Docker, la idea es sencilla, instalar docker en fedora, crear una carpeta donde estarán todos los archivos en el host, y enviarlos a docker, abrir el enlace con la url del proyecto en cuestión:
La instalación de docker y configuración, viene en otro tutorial para no extender éste tutorial, por lo que, se ver el siguiente link: Tutorial Instalar Docker Fedora
La idea es la siguiente: Docker tendrá instalado php 8.4, para éste ejemplo, pero puede ser cualquier versión que se requiera. Desde el host editar y modificar los archivos del proyecto, incluso contar con la base de datos instalada en el host.
Montar el proyecto en docker, conforme se requiera e ir modificando:
Crear la estructura del proyecto en directorios:
proyecto/
├── docker/
│ ├── Dockerfile
├── docker-compose.yml
├── public/ # directorio para el proyecto
| ├── index.php
Ir al directorio donde estará ubicado el proyecto, ejemplo Carpeta Personal/www y crear el primer directorio llamado proyecto, o bien asignar el nombre que se desee:
mkdir proyecto
cd proyecto mkdir docker mkdir public
Dentro del directorio proyecto crear el siguiente archivo: docker-compose.yml
services: phpweb: build: context: . dockerfile: docker/Dockerfile container_name: php84-clase volumes: - ./public:/var/www/html network_mode: "host"
Dentro del directorio docker crear el archivo Dokerfile
FROM php:8.4-apache # Instala extensiones necesarias RUN docker-php-ext-install pdo pdo_mysql mysqli # Cambiar Apache para escuchar en el puerto 81 RUN sed -i 's/80/81/g' /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf # Habilita mod_rewrite si lo necesitas RUN a2enmod rewrite # Asegura que el contenedor tenga permisos correctos RUN chown -R www-data:www-data /var/www/html # Copia inicial del código (será sobrescrito por volumen) COPY ./public /var/www/html
Y finalmente del directorio public, crear un archivo de prueba index.php cuál contendrá lo que se requiera de php, y en este directorio contendrá todo lo necesario para el proyecto que será montado directo en docker:
<?php
echo 'Hola mundo desde PHP y Docker';
Levantar el servicio, sólo si el servicio de docker no se inicia con el sistema:
sudo systemctl start docker
Iniciar o instalar el contenedor
Éste comando se realiza desde el directorio principal, en éste ejemplo se llama proyecto:
docker compose up --build
Y listo, se tiene un entorno de desarrollo de PHP, cualquier comentario, favor de hacerlo saber.