Skip to content

monkey-company/php-apache-certbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-apache-certbot

Docker image with php, pear, xdiff, pagespeed, apache and certbot. Based on ubuntu:focal (Old version based on ubuntu:bionic is available on build monkeycompany/php-apache-certbot:e26af93)

Docker hub : monkeycompany/php-apache-certbot

Framagit project : monkey-company/php-apache-certbot

Github project : monkey-company/php-apache-certbot

Global check

Monkey Company GitHub Build Status Docker Pulls Docker Stars GitHub last commit GitHub release GitHub repo size in bytes GitHub language count

FOSSA Status

Variables

  • DOMAIN : localhost domain for let's encrypt
  • EMAIL : admin@localhost email for let's encrypt
  • TZ : Europe/Paris timezone
  • SHFILE : /etc/apache2/file.sh additionnal script for cron or other
  • PAGESPEED : false install google pagespeed module apache
  • LIBMOD : re2c additionnal dependencies
  • APAMOD : cache,rewrite,ssl,headers apache2 modules
  • ADPMOD : autoindex apache2 disable modules
  • PHPMOD : bcmath,bz2,intl,gd,mbstring,mysql,zip php modules
  • PEAMOD : xdiff pear packages

Volumes

  • Let's encrypt configuration : /etc/letsencrypt/
  • Apache configuration : /etc/apache2/
  • PHP configuration : /etc/php/
  • Apache webroot : /var/www/html/

Port

  • HTTP : 80
  • HTTPS : 443

Tutorial

Quick start

Run the docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v ${PWD}/path/letsencrypt-conf/:/etc/letsencrypt/ -v ${PWD}/path/apache-conf/:/etc/apache2/ -v ${PWD}/path/php-conf/:/etc/apache2/ -v ${PWD}/path/www/:/var/www/html/ -e DOMAINS='example.com' -e EMAIL='[email protected]' monkeycompany/php-apache-certbot command.

Step one

Create a docker-compose.yml file or import yaml in Rancher.

php-apache-certbot:
  image: monkeycompany/php-apache-certbot
  ports:
    - '80:80'
    - '443:443'
  environment:
    DOMAINS: 'example.com'
    EMAIL: '[email protected]'
    PAGESPEED: 'true'
    LIBMOD: 're2c'
    APAMOD: 'cache,rewrite,ssl,headers'
    APDMOD: 'autoindex'
    PHPMOD: 'bcmath,bz2,intl,gd,mbstring,mysql,zip'
    PEAMOD: 'xdiff'

  volumes:
    - ${PWD}/path/letsencrypt-conf/:/etc/letsencrypt/
    - ${PWD}/path/apache-conf/:/etc/apache2/
    - ${PWD}/path/php-conf/:/etc/apache2/
    - ${PWD}/path/www/:/var/www/html/

Step two

Run the docker-compose up command in the same directory.

Step three

Run the certbot --apache --non-interactive --agree-tos --email $EMAIL --domains $DOMAINS certonly command in the container.

Step four (For k8s, rancher)

If you use Kubernetes or Rancher, regenerate all the containers to apply the configurations in volumes.

Step five (Optionnal)

If you need cron or additionnal commands, use the variable SHFILE for define a path and make script file :)