1+ FROM internetrix/webdev:lap
2+ MAINTAINER Jonathon Su <
[email protected] >
3+ ARG DEBIAN_FRONTEND=noninteractive
4+
5+ # ## PHP Configuration
6+ # Install xdebug for PHP 5.6+
7+ RUN apt-get -y update
8+ RUN apt-get -y install php-xdebug
9+
10+ # Add custom PHP 5.6 | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 config
11+ ADD config/php/webdev_common_php_config.ini /etc/php/webdev_common_php_config.ini
12+ RUN cat /etc/php/webdev_common_php_config.ini | tee -a /etc/php/5.6/fpm/php.ini /etc/php/7.0/fpm/php.ini /etc/php/7.1/fpm/php.ini /etc/php/7.2/fpm/php.ini /etc/php/7.3/fpm/php.ini /etc/php/7.4/fpm/php.ini
13+
14+ # Specific config for php 5.6
15+ # RUN sed -i -e 's~xdebug.remote_port=[0-9]*~xdebug.remote_port=9056~g' /etc/php/5.6/fpm/php.ini
16+
17+ # Specific config for php 7.0
18+ # RUN sed -i -e 's~xdebug.remote_port=[0-9]*~xdebug.remote_port=9070~g' /etc/php/7.0/fpm/php.ini
19+
20+ # ## Apache Configuration
21+ RUN a2enmod rewrite proxy proxy_fcgi proxy_http expires ssl vhost_alias headers env
22+
23+ # Setup Apache config for webdev server
24+ ADD config/apache/conf/webdev.conf /etc/apache2/conf-available/webdev.conf
25+ RUN a2enconf webdev.conf
26+
27+ # Setup /phpinfo alias
28+ RUN mkdir /var/www/php/ && \
29+ chmod +x /var/www/php/ && \
30+ echo '<?php phpinfo() ?>' > /var/www/php/phpinfo.php && \
31+ chmod +x /var/www/php/phpinfo.php && \
32+ echo 'Alias /phpinfo /var/www/php/phpinfo.php' > /etc/apache2/conf-available/phpinfo.conf && \
33+ a2enconf phpinfo.conf
34+
35+ # Setup script to handle project sync to /tmpwww/ folder
36+ ADD rsync_project_to_tmpwww.php /var/www/php/rsync_project_to_tmpwww.php
37+ RUN chmod +x /var/www/php/rsync_project_to_tmpwww.php
38+
39+ # Setup Apache wildcard vhost for multi PHP versions
40+ ADD config/apache/sites/apache-wildcard-php74-vhost.conf /etc/apache2/sites-available/001-wildcard-php74-vhost.conf
41+ ADD config/apache/sites/apache-wildcard-php73-vhost.conf /etc/apache2/sites-available/001-wildcard-php73-vhost.conf
42+ ADD config/apache/sites/apache-wildcard-php72-vhost.conf /etc/apache2/sites-available/001-wildcard-php72-vhost.conf
43+ ADD config/apache/sites/apache-wildcard-php71-vhost.conf /etc/apache2/sites-available/001-wildcard-php71-vhost.conf
44+ ADD config/apache/sites/apache-wildcard-php70-vhost.conf /etc/apache2/sites-available/001-wildcard-php70-vhost.conf
45+ ADD config/apache/sites/apache-wildcard-php56-vhost.conf /etc/apache2/sites-available/002-wildcard-php56-vhost.conf
46+
47+ # Setup Apache wildcard vhost for multi PHP versions
48+ ADD config/apache/sites/apache-wildcard-tmpfs-php70-vhost.conf /etc/apache2/sites-available/003-wildcard-tmpfs-php70-vhost.conf
49+
50+ # Old PHP versions. 53, 54, 55
51+ ADD config/apache/sites/apache-wildcard-php53-vhost.conf /etc/apache2/sites-available/004-wildcard-php53-vhost.conf
52+ ADD config/apache/sites/apache-wildcard-php54-vhost.conf /etc/apache2/sites-available/005-wildcard-php54-vhost.conf
53+ ADD config/apache/sites/apache-wildcard-php55-vhost.conf /etc/apache2/sites-available/006-wildcard-php55-vhost.conf
54+
55+ # Default wildcard has lowest priority
56+ ADD config/apache/sites/apache-wildcard-default-vhost.conf /etc/apache2/sites-available/111-wildcard-default.conf
57+
58+ RUN a2ensite \
59+ 001-wildcard-php74-vhost.conf \
60+ 001-wildcard-php73-vhost.conf \
61+ 001-wildcard-php72-vhost.conf \
62+ 001-wildcard-php71-vhost.conf \
63+ 001-wildcard-php70-vhost.conf \
64+ 002-wildcard-php56-vhost.conf \
65+ 003-wildcard-tmpfs-php70-vhost.conf \
66+ 111-wildcard-default.conf \
67+ 004-wildcard-php53-vhost.conf \
68+ 005-wildcard-php54-vhost.conf \
69+ 006-wildcard-php55-vhost.conf
70+
71+ # # Old php version fpm pools
72+ ADD config/php/fpm/php53-fpm-www.conf /etc/php53/fpm/pool.d/www.conf
73+ ADD config/php/fpm/php54-fpm-www.conf /etc/php54/fpm/pool.d/www.conf
74+ ADD config/php/fpm/php55-fpm-www.conf /etc/php55/fpm/pool.d/www.conf
75+
76+ # Setup Webgrind - web based front-end xdebug profile information presentation tool
77+ ADD config/apache/conf/apache-phpwebgrind.conf /etc/apache2/conf-available/phpwebgrind.conf
78+ RUN mkdir /var/www/php/xdebug.profiler && \
79+ chmod 777 /var/www/php/xdebug.profiler && \
80+ cd /var/www/php && \
81+ git clone https://github.com/jokkedk/webgrind.git webgrind && \
82+ a2enconf phpwebgrind.conf
83+
84+ # Forward apache logs to docker console.
85+ RUN ln -sf /dev/stdout /var/log/apache2/access.log
86+ RUN ln -sf /dev/stderr /var/log/apache2/error.log
87+
88+ # Run apache in foreground
89+ ADD apache-foreground.sh /usr/local/bin/
90+ RUN ["chmod" , "+x" , "/usr/local/bin/apache-foreground.sh" ]
91+
92+ EXPOSE 80 443
93+
94+ ENV WEBDEV_PHPMYADMIN_DB_HOST mariadb
95+ ENV WEBDEV_PHPMYADMIN_DB_USER root
96+ ENV WEBDEV_PHPMYADMIN_DB_PW root123
97+ ENV WEBDEV_ENABLE_PHP_53_FPM 0
98+ ENV WEBDEV_ENABLE_PHP_54_FPM 0
99+ ENV WEBDEV_ENABLE_PHP_55_FPM 0
100+ ENV WEBDEV_ENABLE_PHP_56_FPM 1
101+ ENV WEBDEV_ENABLE_PHP_70_FPM 1
102+ ENV WEBDEV_ENABLE_PHP_71_FPM 0
103+ ENV WEBDEV_ENABLE_PHP_72_FPM 1
104+ ENV WEBDEV_ENABLE_PHP_73_FPM 0
105+ ENV WEBDEV_ENABLE_PHP_74_FPM 0
106+ ENV WEBDEV_REMOTE_HOST_IP 192.168.99.1
107+ ENV WEBDEV_CIFS_HOST_FOLDER //192.168.99.1/www
108+ ENV WEBDEV_CIFS_SMB_VERSION 3.0
109+ ENV WEBDEV_CIFS_USER container
110+ ENV WEBDEV_CIFS_PW container123
111+ ENV WEBDEV_POSTFIX_RELAYHOST [mailhog]:1025
112+ ENV BLACKFIRE_SERVER_ID ''
113+ ENV BLACKFIRE_SERVER_TOKEN ''
114+ ENV BLACKFIRE_CLIENT_ID ''
115+ ENV BLACKFIRE_CLIENT_TOKEN ''
116+
117+ CMD ["/usr/local/bin/apache-foreground.sh" ]
0 commit comments