mirror of
https://github.com/macintoshplus/apache2-php.git
synced 2026-03-24 00:22:12 +01:00
First commit
This commit is contained in:
62
Dockerfile
Normal file
62
Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
||||
##
|
||||
# Jb Nahan PHP 5.6 container
|
||||
##
|
||||
|
||||
FROM debian:jessie
|
||||
MAINTAINER Jean-Baptiste Nahan <jean-baptiste@nahan.fr>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
# Common packages
|
||||
RUN apt-get -y install curl wget locales nano
|
||||
|
||||
RUN echo "Europe/Paris" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
|
||||
RUN export LANGUAGE=en_US.UTF-8 && \
|
||||
export LANG=en_US.UTF-8 && \
|
||||
export LC_ALL=en_US.UTF-8 && \
|
||||
locale-gen en_US.UTF-8 && \
|
||||
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales
|
||||
|
||||
# Supervisor
|
||||
RUN apt-get install -y supervisor
|
||||
RUN mkdir -p /var/log/supervisor
|
||||
COPY conf/supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
# Apache
|
||||
RUN apt-get -y install apache2 libapache2-mod-php5 pdftk mysql-client
|
||||
RUN a2enmod rewrite
|
||||
RUN a2enmod headers
|
||||
ENV APACHE_RUN_USER www-data
|
||||
ENV APACHE_RUN_GROUP www-data
|
||||
ENV APACHE_LOG_DIR /var/log/apache2
|
||||
RUN rm /etc/apache2/sites-enabled/000-default.conf
|
||||
RUN usermod -u 10000 www-data
|
||||
|
||||
# PHP
|
||||
RUN apt-get -y install php5-cli php5-curl php-soap php5-imagick php5-gd php5-mcrypt php5-mysql php5-xmlrpc php5-xsl php5-xdebug php-apc php5-ldap php5-gmp php5-intl php5-redis
|
||||
RUN cp /usr/share/php5/php.ini-development /etc/php5/cli/php.ini
|
||||
RUN cp /usr/share/php5/php.ini-development /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Europe\/Paris/g' /etc/php5/cli/php.ini
|
||||
RUN sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Europe\/Paris/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/;include_path = ".:\/usr\/share\/php"/include_path = ".:\/var\/www\/library"/g' /etc/php5/cli/php.ini
|
||||
RUN sed -i 's/\;include_path = ".:\/usr\/share\/php"/include_path = ".:\/var\/www\/library"/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/\;\ max_input_vars\ \=\ 1000/max_input_vars\ \=\ 250000/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/memory_limit\ \=\ 128M/memory_limit\ \=\ 512M/g' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/max_execution_time\ \=\ 30/max_execution_time\ \=\ 120/g' /etc/php5/apache2/php.ini
|
||||
|
||||
# PaaS bootstrap
|
||||
COPY bin/container-bootstrap.sh /usr/bin/container-bootstrap.sh
|
||||
RUN chmod +x /usr/bin/container-bootstrap.sh
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
VOLUME /src
|
||||
VOLUME /etc/apache2/sites-available
|
||||
VOLUME /var/log/apache2
|
||||
|
||||
WORKDIR /src
|
||||
|
||||
CMD ["/usr/bin/container-bootstrap.sh"]
|
||||
12
bin/container-bootstrap.sh
Executable file
12
bin/container-bootstrap.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Give apache user same uid as owener of wwwroot to avoid problems on upload.
|
||||
if [ -d "/src" ]
|
||||
then
|
||||
USERID=$(stat -c "%u" /src)
|
||||
usermod -u $USERID www-data
|
||||
fi
|
||||
|
||||
|
||||
# Start supervisor
|
||||
/usr/bin/supervisord
|
||||
5
conf/supervisor/supervisord.conf
Normal file
5
conf/supervisor/supervisord.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
|
||||
[program:apache2]
|
||||
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DNO_DETACH -DNO_DAEMONIZE -DFOREGROUND"
|
||||
Reference in New Issue
Block a user