diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 index d798259..b61f39d --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ -FROM phusion/baseimage:0.9.18 +FROM phusion/baseimage:18.04-1.0.0 MAINTAINER Harsh Vakharia MAINTAINER Leandro Banchio +MAINTAINER Mati Beltramone +MAINTAINER Edu Culasso # Default baseimage settings ENV HOME /root @@ -13,49 +15,78 @@ RUN locale-gen en_US.UTF-8 && \ export LANG=en_US.UTF-8 && \ add-apt-repository -y ppa:ondrej/php && \ apt-get update && \ - apt-get upgrade -y && \ apt-get install -y --force-yes nginx \ - php7.1-zip php7.1-fpm php7.1-mysql php7.1-redis php7.1-mcrypt \ - php7.1-imagick php7.1-xdebug php7.1-apcu php7.1-xml \ - php7.1-sqlite3 php-mbstring git \ - php7.1-curl php7.1-gd php7.1-intl && \ + php8.0-fpm \ + php8.0-zip \ + php8.0-mysql \ + php8.0-redis \ + php8.0-xml \ + php8.0-xdebug \ + php8.0-common \ + php8.0-sqlite \ + php8.0-curl \ + php8.0-zmq \ + php8.0-gd \ + php8.0-imagick \ + php8.0-soap \ + php8.0-mbstring \ + php8.0-intl \ + php8.0-mongodb \ + php8.0-bcmath \ + unzip \ + git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* +# Configure users +RUN groupadd -g 1000 user && useradd --no-log-init -u 1000 -b /var/www -M -g user user + # Configure nginx RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN sed -i "s/sendfile on/sendfile off/" /etc/nginx/nginx.conf +RUN sed -i "s/user www-data/user user/" /etc/nginx/nginx.conf +RUN sed -i "s/user = www-data/user = user/" /etc/php/8.0/fpm/pool.d/www.conf +RUN sed -i "s/group = www-data/group = user/" /etc/php/8.0/fpm/pool.d/www.conf +RUN sed -i "s/listener.owner = www-data/listener.owner = user/" /etc/php/8.0/fpm/pool.d/www.conf +RUN sed -i "s/listener.group = www-data/listener.group = user/" /etc/php/8.0/fpm/pool.d/www.conf RUN mkdir -p /var/www +RUN mkdir -p /run/php +RUN mkdir -m 777 /tmp/php # Configure PHP -RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/fpm/php.ini -RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.1/fpm/php-fpm.conf -##For dev enviroment -RUN sed -i 's/display_errors =.*/display_errors = On/g' /etc/php/7.1/fpm/php.ini -RUN sed -i 's/display_startup_errors =.*/display_startup_errors = On/g' /etc/php/7.1/fpm/php.ini -RUN sed -i 's/upload_max_filesize =.*/upload_max_filesize = 64M/g' /etc/php/7.1/fpm/php.ini -##Updated for PHP 7.0 -RUN sed -i "s/pid =.*/pid = \/var\/run\/php-fpm.pid/" /etc/php/7.1/fpm/php-fpm.conf -RUN sed -i "s/listen =.*sock/listen = \/var\/run\/php-fpm.sock/" /etc/php/7.1/fpm/pool.d/www.conf -## -RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/cli/php.ini -RUN sed -i "s/date.timezone =.*/date.timezone = America\/Argentina\/Cordoba/g" /etc/php/7.1/fpm/php.ini -RUN phpenmod mcrypt +RUN sed -i "s/;session.save_path =.*/session.save_path = \/tmp\/php/" /etc/php/8.0/fpm/php.ini +RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.0/fpm/php.ini +RUN sed -i "s/;date.timezone =.*/date.timezone = Asia\/Kolkata/" /etc/php/8.0/fpm/php.ini +RUN sed -i "s/variables_order =.*/variables_order = \"EGPCS\"/" /etc/php/8.0/fpm/php.ini +RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/8.0/fpm/php-fpm.conf +RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.0/cli/php.ini +RUN sed -i "s/;date.timezone =.*/date.timezone = Asia\/Kolkata/" /etc/php/8.0/cli/php.ini +RUN sed -i "s/;clear_env =.*/clear_env = no/" /etc/php/8.0/fpm/pool.d/www.conf /etc/php/8.0/cli/php.ini + +RUN echo "xdebug.idekey=phpstorm" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.remote_enable=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.remote_port=9000" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.remote_connect_back=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.max_nesting_level=600" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.scream=0" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.cli_color=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini +RUN echo "xdebug.show_local_vars=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini + RUN phpenmod xdebug -RUN phpenmod zip # Add nginx service RUN mkdir /etc/service/nginx -ADD build/nginx/run.sh /etc/service/nginx/run +ADD ./build/nginx/run.sh /etc/service/nginx/run RUN chmod +x /etc/service/nginx/run # Add PHP service RUN mkdir /etc/service/phpfpm -ADD build/php/run.sh /etc/service/phpfpm/run +ADD ./build/php/run.sh /etc/service/phpfpm/run RUN chmod +x /etc/service/phpfpm/run +RUN chmod 777 /var/lib/php -R # Add nginx VOLUME ["/var/www", "/etc/nginx/sites-available", "/etc/nginx/sites-enabled"] diff --git a/build/php/run.sh b/build/php/run.sh index f349c8d..32fff50 100755 --- a/build/php/run.sh +++ b/build/php/run.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -php-fpm7.1 -c /etc/php/7.1/fpm +php-fpm8.0 -c /etc/php/8.0/fpm