Skip to main content

Apache2

Docker-Compose

  webserver:
    build: 
      context: ./bin/webserver
    container_name: 'apache2'
    restart: 'always'
    volumes: 
      - /Docker/Webhost/apache2/www:/var/www/html
      - /Docker/Webhost/apache2/config/php/php.ini:/usr/local/etc/php/php.ini
      - /Docker/Webhost/apache2/config/vhosts:/etc/apache2/sites-enabled
      - /Docker/Webhost/apache2/logs:/var/log/apache2
    ports:
      - 8888:80
    networks:
      web:
        ipv4_address: 172.18.0.11
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.apache-web.rule=Host(`kevinsloan.net`)"
      - "traefik.http.routers.apache-web.entrypoints=web"
      - "traefik.http.routers.apache-web.middlewares=redirect@file"
      - "traefik.http.routers.apache-secured.rule=Host(`kevinsloan.net`)"
      - "traefik.http.routers.apache-secured.entrypoints=web-secured"
      - "traefik.http.routers.apache-secured.tls.certresolver=mytlschallenge"

DockerFile

FROM php:7.1.20-apache

RUN apt-get -y update --fix-missing
RUN apt-get upgrade -y

# Install useful tools
RUN apt-get -y install apt-utils nano wget dialog

# Install important libraries
RUN apt-get -y install --fix-missing apt-utils build-essential git curl libcurl3 libcurl3-dev zip

# Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install xdebug
RUN pecl install xdebug-2.5.0
RUN docker-php-ext-enable xdebug

# Other PHP7 Extensions

RUN apt-get -y install libmcrypt-dev
RUN docker-php-ext-install mcrypt

RUN apt-get -y install libsqlite3-dev libsqlite3-0 mysql-client
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install pdo_sqlite
RUN docker-php-ext-install mysqli

RUN docker-php-ext-install curl
RUN docker-php-ext-install tokenizer
RUN docker-php-ext-install json

RUN apt-get -y install zlib1g-dev
RUN docker-php-ext-install zip

RUN apt-get -y install libicu-dev
RUN docker-php-ext-install -j$(nproc) intl

RUN docker-php-ext-install mbstring

RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) gd

# Enable apache modules
RUN a2enmod rewrite headers