Add Dockerized LAMP stack and website skeleton for ALWISP
- Docker Compose orchestrating PHP 8.2/Apache web container and MySQL 8.0
- Dockerfile with GD, PDO, MySQLi extensions and security hardening
- Apache vhost with mod_rewrite, deflate, expires, and security headers
- PHP config with OPcache enabled and display_errors off
- MySQL init schema (contacts, coverage_zones tables)
- Front-controller PHP router (index.php → pages/)
- Responsive homepage: hero, stats bar, services cards, why section, coverage CTA
- Stub pages: services, coverage, about, contact (with working form skeleton), 404
- CSS design system using brand palette from logo (navy #0d1b3e → teal #00bcd4 + orange #f57c00 accents)
- JS: nav scroll/mobile toggle, IntersectionObserver counter animation, scroll reveal
https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
2026-02-28 21:39:21 +00:00
|
|
|
FROM php:8.2-apache
|
|
|
|
|
|
|
|
|
|
# Install PHP extensions and utilities
|
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
|
libpng-dev \
|
|
|
|
|
libjpeg-dev \
|
|
|
|
|
libwebp-dev \
|
|
|
|
|
libzip-dev \
|
|
|
|
|
zip \
|
|
|
|
|
unzip \
|
|
|
|
|
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
|
|
|
|
&& docker-php-ext-install gd pdo pdo_mysql mysqli zip \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
# Enable Apache modules
|
|
|
|
|
RUN a2enmod rewrite ssl headers deflate expires
|
|
|
|
|
|
2026-02-28 22:29:18 +00:00
|
|
|
# Copy Apache vhost config and PHP config
|
|
|
|
|
COPY docker/apache/000-default.conf /etc/apache2/sites-available/000-default.conf
|
Add Dockerized LAMP stack and website skeleton for ALWISP
- Docker Compose orchestrating PHP 8.2/Apache web container and MySQL 8.0
- Dockerfile with GD, PDO, MySQLi extensions and security hardening
- Apache vhost with mod_rewrite, deflate, expires, and security headers
- PHP config with OPcache enabled and display_errors off
- MySQL init schema (contacts, coverage_zones tables)
- Front-controller PHP router (index.php → pages/)
- Responsive homepage: hero, stats bar, services cards, why section, coverage CTA
- Stub pages: services, coverage, about, contact (with working form skeleton), 404
- CSS design system using brand palette from logo (navy #0d1b3e → teal #00bcd4 + orange #f57c00 accents)
- JS: nav scroll/mobile toggle, IntersectionObserver counter animation, scroll reveal
https://claude.ai/code/session_015wpwmheufcxkBuXivrSHhd
2026-02-28 21:39:21 +00:00
|
|
|
COPY docker/php/php.ini /usr/local/etc/php/conf.d/custom.ini
|
|
|
|
|
|
|
|
|
|
# Set working directory
|
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
|
|
|
|
|
|
EXPOSE 80 443
|