From 7585f595c3c87a6b12f384f35261249ddb1f918b Mon Sep 17 00:00:00 2001 From: a-sansara Date: Fri, 12 Aug 2016 20:14:18 +0200 Subject: [PATCH] update readme + fix install apache & apache-fpm --- DOCKER.md | 31 ++++++------- README.md | 2 +- pluie/alpine-apache-fpm/Dockerfile | 2 +- pluie/alpine-apache-fpm/README.md | 28 +++++++----- pluie/alpine-apache-fpm/files.tar | Bin 10240 -> 10240 bytes .../install.d/50-fix-apache.sh | 12 +++-- pluie/alpine-apache/Dockerfile | 2 +- pluie/alpine-apache/README.md | 2 +- pluie/alpine-apache/files.tar | Bin 10240 -> 10240 bytes .../alpine-apache/install.d/50-fix-apache.sh | 41 +++++++++++++++--- pluie/alpine-apache/pre-init.d/10-vhost.sh | 3 -- pluie/alpine-mysql/README.md | 2 +- pluie/alpine-symfony/README.md | 22 +++------- pluie/alpine/README.md | 12 +++-- 14 files changed, 98 insertions(+), 61 deletions(-) diff --git a/DOCKER.md b/DOCKER.md index 9ff55d7..c7fb421 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -4,7 +4,7 @@ - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] @@ -32,8 +32,8 @@ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end} 172.22.0.4 pma.docker 172.22.0.5 bo-payment.docker 172.22.0.6 wordpress.docker -172.22.0.7 symfony.docker -172.22.0.8 afpm.docker +172.22.0.7 fpm.docker +172.22.0.8 symfony.docker # < ``` @@ -77,6 +77,7 @@ docker stats container [gogs.docker] (http://gogs.docker) [bo-payment.docker] (http://bo-payment.docker) [wordpress.docker] (http://wordpress.docker) +[fpm.docker] (http://symfony.docker) [symfony.docker] (http://symfony.docker) #### Mysql @@ -132,26 +133,26 @@ docker run --name wordpress --restart=always \ -d pluie/alpine-apache ``` -### Symfony -``` -cd /home/dev/docker -docker run --name symfony --restart=always \ ---net home0 -h symfony.docker --ip 172.22.0.7 --link=mysql:db \ --e HTTP_SERVER_NAME=symfony \ --e SYMFONY_VERSION=2.8 \ --v $(pwd)/repo/myapp:/app \ --d pluie/alpine-symfony -``` - #### ApacheFpm ``` cd /home/dev/docker docker run --name afpm --restart=always \ ---net home0 -h bo-payment.docker --ip 172.22.0.8 --link mysql:db \ +--net home0 -h fpm.docker --ip 172.22.0.7 --link mysql:db \ -v $(pwd)/repo/afpm:/app \ -e HTTP_SERVER_NAME=afpm.docker \ -d pluie/alpine-apache-fpm +``` + +### Symfony +``` +cd /home/dev/docker +docker run --name symfony --restart=always \ +--net home0 -h symfony.docker --ip 172.22.0.8 --link=mysql:db \ +-e HTTP_SERVER_NAME=symfony \ +-e SYMFONY_VERSION=2.8 \ +-v $(pwd)/repo/myapp:/app \ +-d pluie/alpine-symfony ``` [1]: https://github.com/pluie-org/docker-images diff --git a/README.md b/README.md index a4bebdc..3aaad0b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ various based images for Docker - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] diff --git a/pluie/alpine-apache-fpm/Dockerfile b/pluie/alpine-apache-fpm/Dockerfile index 8f17ff5..27778ea 100644 --- a/pluie/alpine-apache-fpm/Dockerfile +++ b/pluie/alpine-apache-fpm/Dockerfile @@ -11,7 +11,7 @@ ENV SHENV_NAME=ApacheFpm \ SHENV_COLOR=67 \ HTTP_SERVER_NAME=fpm.docker \ WWW_DIR=www \ - WWW_INDEX=index \ + WWW_INDEX=index.php \ FIX_OWNERSHIP=1 \ TZ=Europe/Paris diff --git a/pluie/alpine-apache-fpm/README.md b/pluie/alpine-apache-fpm/README.md index 066a825..c1f4c80 100644 --- a/pluie/alpine-apache-fpm/README.md +++ b/pluie/alpine-apache-fpm/README.md @@ -4,16 +4,13 @@ - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] -Extend pluie/alpine with __apache 2.4.23__ and __php 5.6.24__ +Extend pluie/alpine with __apache 2.4.23__ and __php 5.6.24__ with FPM -- error log are attached to stdout -- no need port redirection -- you can use env var at container creation : __HTTP_SERVER_NAME__ (default : docker-site.dev ortherwise edit app/vhost later) -- you can still use ever your local http & sql server while your container(s) are running +- you can use env var at container creation : __HTTP_SERVER_NAME__ (default : fpm.docker ortherwise edit app/vhost later) ## Image Size @@ -40,7 +37,12 @@ Extend pluie/alpine with __apache 2.4.23__ and __php 5.6.24__ ## Image Volumes -__/app__ directory is a docker volume bind to your app project (silex/symfony etc) +pluie/alpine-apache-fpm has to volumes : + +- __/app__ to bind to your app project (silex/symfony etc) +- __/etc/php5/fpm.d/__ to customize fpm + +### note __/app/$WWW_DIR__ is the documentRoot. put only your entry point and static files to the documentRoot directory, no your app sources @@ -49,12 +51,14 @@ put only your entry point and static files to the documentRoot directory, no you __/app/vhost__ is your app vhost configuration file (with a serverName directive). by default it use the apache rewrite module to redirect all uri to entry point $WWW_INDEX + + ``` /app/ # your application directory | |---- $WWW_DIR/ # documentRoot | - |---- vhost # apache app vhost + |---- vhost # apache app vhost ``` @@ -62,22 +66,22 @@ by default it use the apache rewrite module to redirect all uri to entry point $ chdir to your project directory ``` -$ docker run --name apache -it --link=mysql:db1 -v $(pwd):/app pluie/alpine-apache +$ docker run --name afpm -it --link=mysql:db1 -v $(pwd):/app pluie/alpine-apache-fpm ``` or ``` -$ docker run --name apache -it --link=mysql:db1 -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-apache +$ docker run --name afpm -d --link=mysql:db1 -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-apache-fpm ``` ## Controling http server ``` -$ docker exec -it apache "httpd -k restart" +$ docker exec -it afpm "httpd -k restart" ``` for more commands : ``` -$ docker exec -it apache "httpd -h" +$ docker exec -it afpm "httpd -h" ``` [1]: https://github.com/pluie-org/docker-images diff --git a/pluie/alpine-apache-fpm/files.tar b/pluie/alpine-apache-fpm/files.tar index eaf0b80dd8ab0108aa98342a70ce5becc6f21f8e..cec39a303818a0a61d37746ce428ef908a395feb 100644 GIT binary patch delta 207 zcmZn&Xb9NQDi7-F2R%V()w1T37ZkmFAX>pN$PG%AaSLEgx=@sWI#9AwqWTfVCDFDG_0Wky4 zv`j9Dj>#MN_&g%osC6!eQq^Yjx75|cAhjZk#wW~XEpp-6)?PCmz{ytz;8 JC(9xk9smR{H{bvO delta 104 zcmZn&Xb9NQDGp=F;IyCM2Rpz^JFVAgUJ)c#Ml+Maf9ruU!AA+(-3l$wu|sKT8d*StYQf<;J6#e(&b{nPN+M{bTO)?5!$7byOE5v}TV< z3m=pv$3oT!HT0}mRWwE^v9cMoQ;$U?1s74wUJ$<>)+%Nj`4_+n*ew0Hc1JlhiQ*Sn#t!JCtQ$8^BcFJYf3o)9iE|Vu^ zky!kkUoO5bzAFAKe($MK8nK;-#Tc}W0fL`bOe#wEK~9Tm>crLJUrfvKQ64dTDV}6W zE6Z^}@`FnnjR{L|(xPE9q4juO4h*rIvxM+gNIs!T@yKOf=#zcz%3il|LJt4itOc5A z3LoN>O@q0T<)n9f(hB^{rBnkGGjB9T(<5nM_$Id;pBQ4Js^bfFw!Z4S3>z#;@F__# sG>p}=3lY#eJ8!yY(GZ)3S7nE(I) delta 757 zcmZn&Xb9NQ!y;&8Vq|7)V9sD*Xl!h3&Y)mA*^x12Gb3v=qoj$EDTASrxhX=4sgao> zgMtA>3A-v&uv=zMYO!x(Npgllj9x)Tfr=fM0u%(NmUtxQrR1a*DHIgtS5#W1C8uXv z>FWbc)H47=Ln})I0|T&f8-0X1cAFJA+nF};^s)#T8JU@w8i8D9WNHR?nP3y6l#vn8 z#Zaf28W|e`)tDKW7{Hyzn8P@Ef|wYS0@vhoe9DvA#3Lrhi*KkePEAqJ%~Vh?R`$tH zO!3W6Da}b$$Suf?FDOb)%P-1~&xHzssbYN~Hy%k^uQ*>hhJ3B+lh=wXr=l28lv-Yt zS(1v)UZ@nvP9(r+w~LEzZkJ?YS|r1>c!E3= E04iAiTL1t6 diff --git a/pluie/alpine-apache/install.d/50-fix-apache.sh b/pluie/alpine-apache/install.d/50-fix-apache.sh index 8efba9a..71b35f6 100755 --- a/pluie/alpine-apache/install.d/50-fix-apache.sh +++ b/pluie/alpine-apache/install.d/50-fix-apache.sh @@ -2,18 +2,49 @@ # @app pluie/alpine-apache # @author a-Sansara https://git.pluie.org/pluie/docker-images -mkdir -p /app/$WWW_DIR +function a2setModule(){ + local enable=${1:-''} + local path=${3:-'/etc/apache2/httpd.conf'} + local scom='' + local rcom='\#' + if [ ! -z $1 ] && [ ! -z "$2" ]; then + if [ "$enable" = 1 ]; then + scom='\#' + rcom='' + fi + echo "$2" + sed -i "s#${scom}LoadModule $2_module modules/mod_$2.so#${rcom}LoadModule $2_module modules/mod_$2.so#" "$path" + fi +} +if [ ! -f /usr/lib/libxml2.so ]; then + ln -s /usr/lib/libxml2.so.2 /usr/lib/libxml2.so +fi +if [ ! -d /app/$WWW_DIR ]; then + mkdir -p /app/$WWW_DIR +fi +if [ ! -d /run/apache2 ]; then + mkdir /run/apache2 +fi chown -R 1000:apache /app/$WWW_DIR chmod -R 755 /scripts/pre-init.d mkdir -p /run/apache2 chown apache:apache /run/apache2 + tmpsed='s#^DocumentRoot ".*#DocumentRoot "/app/'$WWW_DIR'"#g' sed -i "$tmpsed" /etc/apache2/httpd.conf sed -i 's#AllowOverride none#AllowOverride All#' /etc/apache2/httpd.conf -sed -i 's#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so#\#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so#' /etc/apache2/httpd.conf -sed -i 's#\#LoadModule rewrite_module modules/mod_rewrite.so#LoadModule rewrite_module modules/mod_rewrite.so#' /etc/apache2/httpd.conf -sed -i 's#\#LoadModule mpm_event_module modules/mod_mpm_event.so#LoadModule mpm_event_module modules/mod_mpm_event.so#' /etc/apache2/httpd.conf -sed -i 's#\#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so#' /etc/apache2/httpd.conf + +initTitle "Apache" "Loading Modules" +a2setModule 1 "rewrite" +a2setModule 1 "mpm_prefork" +a2setModule 1 "slotmem_shm" +a2setModule 1 "heartmonitor" +a2setModule 1 "watchdog" +initTitle "Apache" "Removing Modules" +a2setModule 0 "mpm_event" +a2setModule 0 "proxy_fdpass" /etc/apache2/conf.d/proxy.conf + +sed -i "s|;*date.timezone =.*|date.timezone = ${TZ}|i" /etc/php5/php.ini sed -ir 's/expose_php = On/expose_php = Off/' /etc/php5/php.ini echo -e "\nIncludeOptional /app/vhost" >> /etc/apache2/httpd.conf unset tmpsed diff --git a/pluie/alpine-apache/pre-init.d/10-vhost.sh b/pluie/alpine-apache/pre-init.d/10-vhost.sh index b7184f9..4c2481b 100755 --- a/pluie/alpine-apache/pre-init.d/10-vhost.sh +++ b/pluie/alpine-apache/pre-init.d/10-vhost.sh @@ -7,9 +7,6 @@ if [ ! -z "/app/vhost" ]; then ServerName $HTTP_SERVER_NAME SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 - - SetHandler proxy:fcgi://127.0.0.1:9000 - AllowOverride None Require all granted diff --git a/pluie/alpine-mysql/README.md b/pluie/alpine-mysql/README.md index b757621..28bc6bc 100644 --- a/pluie/alpine-mysql/README.md +++ b/pluie/alpine-mysql/README.md @@ -4,7 +4,7 @@ - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] diff --git a/pluie/alpine-symfony/README.md b/pluie/alpine-symfony/README.md index 77358fa..3a0ef80 100644 --- a/pluie/alpine-symfony/README.md +++ b/pluie/alpine-symfony/README.md @@ -4,17 +4,18 @@ - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] -Extend pluie/alpine-apache. +Extend pluie/alpine-apache-fpm. + if __/app/$WWW_DIR__ does not exits then __pluie/alpine-symfony__ install the symfony framework with $SYMFONY_VERSION version on the /app directory ## Image Size -- image ~ 81 MB +- image ~ 82 MB ## ENV variables @@ -37,7 +38,8 @@ the symfony framework with $SYMFONY_VERSION version on the /app directory ## Image Volumes -__/app__ directory is a docker volume bind to your symfony project +- __/app__ directory is a docker volume bind to your symfony project +- __/etc/php5/fpm.d/__ to customize fpm ## Image Usage @@ -48,23 +50,13 @@ $ docker run --name symfony -it --link=mysql:db1 -v $(pwd):/app pluie/alpine-sym ``` or ``` -$ docker run --name symfony -it --link=mysql:db1 -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-symfony +$ docker run --name symfony -d --link=mysql:db1 -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-symfony ``` ## Connect to container ``` $ docker exec -it symfony bash -``` - -## Controling http server - -``` -$ docker exec -it apache "httpd -k restart" -``` -for more commands : -``` -$ docker exec -it apache "httpd -h" ``` [1]: https://github.com/pluie-org/docker-images diff --git a/pluie/alpine/README.md b/pluie/alpine/README.md index 47d31e3..f8d96a0 100644 --- a/pluie/alpine/README.md +++ b/pluie/alpine/README.md @@ -4,7 +4,7 @@ - [pluie/alpine][2] ( < 10 MB ) Alpine/3.4 - [pluie/alpine-apache][3] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 - [pluie/alpine-apache-fpm][7] ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm - - [pluie/alpine-symfony][6] ( ~ 81 MB ) + - [pluie/alpine-symfony][6] ( ~ 82 MB ) Symfony2.8 or 3.0 - [pluie/alpine-mysql][4] ( ~172 MB ) Mysql/5.5.47 ( MariaDB ) - [docker tips][5] @@ -85,11 +85,17 @@ MAINTAINER a-Sansara https://github.com/a-sansara ADD files.tar /scripts -RUN bash /scripts/install.sh +ENV SHENV_NAME=Apache \ + SHENV_COLOR=67 \ + HTTP_SERVER_NAME=site.docker \ + WWW_DIR=www \ + WWW_INDEX=index.php \ + FIX_OWNERSHIP=1 \ + TZ=Europe/Paris EXPOSE 80 -VOLUME /app +RUN bash /scripts/install.sh ``` [1]: https://github.com/pluie-org/docker-images