diff --git a/images/php-fpm/Dockerfile b/images/php-fpm/Dockerfile index 610b2b3..1f90e61 100644 --- a/images/php-fpm/Dockerfile +++ b/images/php-fpm/Dockerfile @@ -18,27 +18,11 @@ ENV APP_NAME www ENV APP_USER www-data ENV APP_GROUP www-data -# Create directory for the application. -#RUN mkdir -p /opt/applications - -# log and run -RUN mkdir -p /var/log/php-fpm && chown $APP_USER:$APP_GROUP /var/log/php-fpm -RUN mkdir -p /var/run/php-fpm && chown $APP_USER:$APP_GROUP /var/run/php-fpm - -# php.ini customizations. -RUN sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 10M/g" /etc/php5/fpm/php.ini -RUN sed -i "s/post_max_size = 8M/post_max_size = 10M/g" /etc/php5/fpm/php.ini - -# PHP-FPM pool configuration. -RUN rm /etc/php5/fpm/pool.d/www.conf +# default pool config file ADD pool.conf /etc/php5/fpm/pool.d/pool.conf -RUN mv /etc/php5/fpm/pool.d/pool.conf /etc/php5/fpm/pool.d/$APP_NAME.conf -RUN sed -i "s/pool_name/$APP_NAME/g" /etc/php5/fpm/pool.d/$APP_NAME.conf && \ - sed -i "s/app_user/$APP_USER/g" /etc/php5/fpm/pool.d/$APP_NAME.conf && \ - sed -i "s/app_group/$APP_GROUP/g" /etc/php5/fpm/pool.d/$APP_NAME.conf -# Change the default error log location. -RUN sed -i "s@error_log = /var/log/php5-fpm.log@error_log = /var/log/php-fpm/$APP_NAME-php-fpm5.access.log@g" /etc/php5/fpm/php-fpm.conf +# startup wrapper +ADD start.sh /var/lib/php5/start # info RUN echo " \n\ @@ -56,5 +40,5 @@ RUN echo " \n\ VOLUME ["/var/run/php-fpm", "/var/log/php-fpm", "/opt/php"] -CMD [] -ENTRYPOINT ["/usr/sbin/php5-fpm", "-F", "--fpm-config", "/etc/php5/fpm/php-fpm.conf"] \ No newline at end of file +CMD ["/var/lib/php5/start"] +ENTRYPOINT ["/bin/bash"] \ No newline at end of file diff --git a/images/php-fpm/pool.conf b/images/php-fpm/pool.conf index 2e4e1f0..3f9ce96 100644 --- a/images/php-fpm/pool.conf +++ b/images/php-fpm/pool.conf @@ -11,7 +11,7 @@ group = app_group chdir = / ; The address on which to accept FastCGI requests. -listen = /var/run/phpfpm/$pool-php5-fpm.sock +listen = /var/run/php-fpm/$pool-php5-fpm.sock ; Set listen(2) backlog. A value of '-1' means unlimited. listen.backlog = -1 @@ -34,13 +34,13 @@ pm.status_path = /status ping.path = /ping ; The access log file. -access.log = /var/log/phpfpm/$pool-php-fpm5.access.log +access.log = /var/log/php-fpm/$pool-php-fpm5.access.log ; The access log format. access.format = "%R - %u %t %m %r%Q%q %s %f %{mili}d %{kilo}M %C%%" ; The log file for slow requests. -slowlog = /var/log/phpfpm/$pool-php5-fpm.log.slow +slowlog = /var/log/php-fpm/$pool-php5-fpm.log.slow ; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. diff --git a/images/php-fpm/start.sh b/images/php-fpm/start.sh new file mode 100644 index 0000000..157f25f --- /dev/null +++ b/images/php-fpm/start.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# we need root +if [[ `whoami` != "root" ]]; then + echo "we need root, and we are: $( whoami ); exiting!.." + exit 1 +fi + +# sanity check +if [[ "$APP_NAME" == "" || "$APP_USER" == "" || "$APP_GROUP" == "" ]]; then + echo '$APP_NAME, $APP_USER or $APP_GROUP are not set' + exit 2 +fi + +# info +echo "\$APP_NAME :: $APP_NAME" +echo "\$APP_USER :: $APP_USER" +echo "\$APP_GROUP :: $APP_GROUP" + +# log and run +mkdir -p /var/log/php-fpm && chown $APP_USER:$APP_GROUP /var/log/php-fpm +mkdir -p /var/run/php-fpm && chown $APP_USER:$APP_GROUP /var/run/php-fpm + +# php.ini customizations. +sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 10M/g" /etc/php5/fpm/php.ini +sed -i "s/post_max_size = 8M/post_max_size = 10M/g" /etc/php5/fpm/php.ini + +# PHP-FPM pool configuration. +mv /etc/php5/fpm/pool.d/pool.conf /etc/php5/fpm/pool.d/$APP_NAME.conf +sed -i "s/pool_name/$APP_NAME/g" /etc/php5/fpm/pool.d/$APP_NAME.conf +sed -i "s/app_user/$APP_USER/g" /etc/php5/fpm/pool.d/$APP_NAME.conf +sed -i "s/app_group/$APP_GROUP/g" /etc/php5/fpm/pool.d/$APP_NAME.conf + +# Change the default error log location. +sed -i "s@error_log = /var/log/php5-fpm.log@error_log = /var/log/php-fpm/$APP_NAME-php-fpm5.access.log@g" /etc/php5/fpm/php-fpm.conf + +# let's run the darn thing +/usr/sbin/php5-fpm -F --fpm-config /etc/php5/fpm/php-fpm.conf \ No newline at end of file diff --git a/setup.sh b/setup.sh index cd936aa..46aa008 100755 --- a/setup.sh +++ b/setup.sh @@ -60,7 +60,7 @@ sudo mkdir "$static_data_dir/data/php-fpm/ldapadmin" # configs if needed if [ ! -e "$static_data_dir/configs" ]; then - sudo mv static_data/configs "$static_data_dir/configs" + sudo cp -a static_data/configs "$static_data_dir/configs" fi # uprawnienia @@ -92,6 +92,12 @@ cnt_phpfpm_pgadmin="$prefix-php-fpm.pgadmin" cnt_phpfpm_ldapadmin="$prefix-php-fpm.ldapadmin" +# +# czyƛcimy +# +docker kill $cnt_postgres $cnt_nginx_public $cnt_nginx_internal $cnt_phpfpm_frontend $cnt_phpfpm_rest $cnt_phpfpm_pgadmin $cnt_phpfpm_ldapadmin +docker rm -v $cnt_postgres $cnt_nginx_public $cnt_nginx_internal $cnt_phpfpm_frontend $cnt_phpfpm_rest $cnt_phpfpm_pgadmin $cnt_phpfpm_ldapadmin + # # odpalamy kolejno dockery # @@ -121,23 +127,27 @@ docker run -d \ docker run -d \ -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \ -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \ + -e "APP_NAME=frontend" \ --name $cnt_phpfpm_frontend \ $img_phpfpm # - rest docker run -d \ -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \ -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \ + -e "APP_NAME=rest" \ --name $cnt_phpfpm_rest \ $img_phpfpm # - pgadmin docker run -d \ -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \ -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \ + -e "APP_NAME=pgadmin" \ --name $cnt_phpfpm_pgadmin \ $img_phpfpm # - ldapadmin #docker run -d \ # -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \ # -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \ +# -e "APP_NAME=ldapadmin" \ # --name $cnt_phpfpm_ldapadmin \ # $img_phpfpm \ No newline at end of file