Sign inSign up

rudodeveloper/php-apache

By rudodeveloper

Updated over 1 year ago

Php Apache

Image
0

255

rudodeveloper/php-apache repository overview

PHP 8.3 + Apache Docker Image

Una imagen Docker optimizada con PHP 8.3 y Apache, incluyendo las extensiones más comunes para desarrollo web.

🚀 Características

  • PHP 8.3 con Apache integrado
  • Extensiones incluidas: GD, MySQLi, PDO, ZIP, cURL, JSON, XML, ImageMagick, Redis, Intl, BCMath, y más
  • Composer preinstalado
  • Configuración optimizada para desarrollo y producción
  • Módulos Apache habilitados: rewrite, headers, ssl, expires, deflate
  • Headers de seguridad preconfigurados
  • Health check integrado

📦 Uso Rápido

# Ejecutar contenedor básico
docker run -d -p 80:80 tu-usuario/php-apache:8.3

# Con volumen para tu código
docker run -d -p 80:80 -v $(pwd):/var/www/html tu-usuario/php-apache:8.3

# Con variables de entorno
docker run -d -p 80:80 \
  -e PHP_MEMORY_LIMIT=512M \
  -v $(pwd):/var/www/html \
  tu-usuario/php-apache:8.3

🔧 Docker Compose

version: '3.8'
services:
  web:
    image: tu-usuario/php-apache:8.3
    ports:
      - "80:80"
    volumes:
      - ./src:/var/www/html
    environment:
      - PHP_MEMORY_LIMIT=256M

📋 Extensiones PHP Incluidas

ExtensiónDescripción
Corebcmath, intl, gmp, pcntl, soap, exif
Base de Datosmysqli, pdo_mysql, pdo_pgsql
Imágenesgd, imagick
Archivoszip
Cacheredis
Webcurl, xml, json

⚙️ Configuración PHP

  • Memory Limit: 256M
  • Upload Max: 50M
  • Post Max: 50M
  • Max Execution Time: 300s
  • Timezone: Europe/Madrid
  • OPCache: Habilitado

🔒 Seguridad

  • Headers de seguridad configurados
  • Archivos sensibles protegidos
  • ServerTokens ocultos
  • Configuración SSL/TLS optimizada

🏗️ Construcción Personalizada

FROM tu-usuario/php-apache:8.3

# Instalar extensiones adicionales
RUN docker-php-ext-install calendar

# Copiar tu aplicación
COPY . /var/www/html/

# Configuración personalizada
COPY custom-php.ini /usr/local/etc/php/conf.d/

🎯 Variables de Entorno

VariableDescripciónPor Defecto
PHP_MEMORY_LIMITLímite de memoria PHP256M
PHP_UPLOAD_MAXTamaño máximo de upload50M
APACHE_DOCUMENT_ROOTDocument root/var/www/html

📁 Estructura de Directorios

/var/www/html/          # Document root (monta tu código aquí)
/usr/local/etc/php/     # Configuración PHP
/etc/apache2/           # Configuración Apache
/var/log/apache2/       # Logs de Apache

🔍 Health Check

La imagen incluye un health check que verifica:

  • Respuesta HTTP en puerto 80
  • Estado del servicio Apache
  • Accesibilidad de PHP

🐛 Debugging

# Ver logs de Apache
docker logs container-name

# Acceder al contenedor
docker exec -it container-name bash

# Ver configuración PHP
docker exec container-name php -i

# Ver módulos Apache
docker exec container-name apache2ctl -M

📝 Ejemplo de Uso con Base de Datos

version: '3.8'
services:
  web:
    image: tu-usuario/php-apache:8.3
    ports:
      - "80:80"
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
      
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: myapp
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

🏷️ Tags Disponibles

  • tu-usuario/php-apache:8.3 - Versión específica PHP 8.3
  • tu-usuario/php-apache:latest - Última versión

🤝 Contribuir

¿Encontraste un bug o tienes una sugerencia?

  • Reporta issues en GitHub
  • Envía pull requests
  • Sugiere mejoras

📄 Licencia

MIT License - Úsala libremente en tus proyectos.


Nota: Esta imagen está optimizada tanto para desarrollo como para producción. Para uso en producción, considera configurar HTTPS y ajustar los límites según tus necesidades.

Tag summary

Content type

Image

Digest

sha256:616ac2b37

Size

281.5 MB

Last updated

over 1 year ago

docker pull rudodeveloper/php-apache