govpf / docker-apache

Recettes de génération des images Apache

Home Page:https://hub.docker.com/r/govpf/apache

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Recette de génération des images Docker Apache

Ce dépôt contient les recettes permettant de générer les images Apache du Gouvernement de la Polynésie Française.

Fonctionnalités :

  • Exécution en non-root user (uniquement la version 2.4-bullseye)
  • Possibilité d'exécuter des scripts au démarrage du container avant le lancement de Apache
  • Reconfiguration du port sur lequel Apache écoute via variable d'environnement
  • Configuré avec ServerTokens Prod et ServerSignature Off
  • Configuration par défaut de quelques entêtes : X-Frame-Options, CSP, STS...

Warning!!! Les versions buster et stretch sont dépréciées. Veuillez passer sur la bullseye. Afin d'éviter tout éventuel problème suite aux changements effectués dans bullseye, govpf/apache:2.4 continuera à pointer sur buster avant la suppression des version buster et stretch.

How to use

Create a Dockerfile

FROM govpf/apache:2.4
COPY ./dist /var/www/html
# Optional, scripts will be run right before starting apache2 service
COPY ./scripts/*.sh /docker-entrypoint-init.d/

With docker run

# Bullseye's tag (run as apache user)
docker run --name web -dit -p 8080:8080 -v $PWD:/var/www/html govpf/apache:2.4-bullseye

# Stretch's tag (run as root)
docker run --name web -dit -p 8080:80 -v $PWD:/var/www/html govpf/apache:2.4-stretch
docker run --name web -dit -p 8080:80 -v $PWD:/var/www/html govpf/apache:2.4

# Buster tag (run as root)
docker run --name web -dit -p 8080:80 -v $PWD:/var/www/html govpf/apache:2.4-buster

Configuration

Changer le port de Apache

FROM govpf/apache:2.4
ENV APACHE_HTTP_PORT 9000

Attention A partir de 2.4-bullseye, il n'est plus possible de mettre un port inférieur à 1024 à cause de la restriction de privilèges. La 2.4 continuera à pointer sur 2.4-buster jusqu'à la suppresion des versions buster et stretch

Configuration du site

FROM govpf/apache:2.4
COPY ./000-default.conf /etc/apache2/sites-available/000-default.conf

Ajouter des scripts à exécuter au démarrage du container

Les scripts dans le répertoire /docker-entrypoint-init.d/ sont exécutés séquentiellement par ordre ASC.

Exemple

001-init.sh

#!/bin/bash
sed -i 's/something/hello/g' /var/www/html/main.js
....

Dockerfile

FROM govpf/apache:2.4
COPY ./scripts/001-init.sh /docker-entrypoint-init.d/

Spécificités des variantes

Non-root user

Seul le tag 2.4-bullseye est en non-root user actuellement. Le container est lancé en tant que apache. L'utilisateur apache fait parti du group www-data et a les droits rw sur /etc/apache2 et /var/www/html.

Les versions 2.4, 2.4-stretch et 2.4-buster utilisent le user root pour pouvoir écouter sur le port 80 par défaut.

Dans les deux cas, le process apache est exécuté en tant que www-data.

Port d'écoute par défaut

Seul le tag 2.4-bullseye écoute sur le port 8080 par défaut.

Les versions 2.4, 2.4-stretch et 2.4-buster écoutent le port 80 par défaut.

Entêtes de sécurité

Les versions 2.4, 2.4-stretch et 2.4-buster, par défaut, n'ont que les entêtes ServerTokens Prod et ServerSignature Off de configurés.

About

Recettes de génération des images Apache

https://hub.docker.com/r/govpf/apache


Languages

Language:Dockerfile 75.6%Language:Shell 24.4%