diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d3457d0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM ubuntu:latest +MAINTAINER Dan Pupius + +# Install apache, PHP, and supplimentary programs. openssh-server, curl, and lynx-cur are for debugging the container. +RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \ + apache2 php7.2 php7.2-mysql libapache2-mod-php7.2 curl + +# Enable apache mods. +RUN a2enmod php7.2 +RUN a2enmod rewrite + +# Update the PHP.ini file, enable tags and quieten logging. +RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.2/apache2/php.ini +RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/7.2/apache2/php.ini + +# Manually set up the apache environment variables +ENV APACHE_RUN_USER www-data +ENV APACHE_RUN_GROUP www-data +ENV APACHE_LOG_DIR /var/log/apache2 +ENV APACHE_LOCK_DIR /var/lock/apache2 +ENV APACHE_PID_FILE /var/run/apache2.pid + +# Expose apache. +EXPOSE 80 + +# Copy this repo into place. +ADD html /var/www/site +ADD config.php /var/www + +# Update the default apache site with the config we created. +ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf + +# By default start up apache in the foreground, override with /bin/bash for interative. +CMD /usr/sbin/apache2ctl -D FOREGROUND \ No newline at end of file diff --git a/apache-config.conf b/apache-config.conf new file mode 100644 index 0000000..7ffdaab --- /dev/null +++ b/apache-config.conf @@ -0,0 +1,15 @@ + + ServerAdmin me@mydomain.com + DocumentRoot /var/www/site + + + Options Indexes FollowSymLinks MultiViews + AllowOverride All + Order deny,allow + Allow from all + + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + \ No newline at end of file