### # Copyright (c) 2017 Eclipse Foundation and others. # # This program and the accompanying materials are made # available under the terms of the Eclipse Public License 2.0 # which accompanies this distribution, and is available # at http://eclipse.org/legal/epl-2.0 ### FROM ubuntu:14.04 AS drupal_php55 # Install dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ mariadb-client \ curl \ libmemcached-dev \ libz-dev \ libpq-dev \ libjpeg-dev \ libpng12-dev \ libfreetype6-dev \ libssl-dev \ libmcrypt-dev \ apache2 \ php5 \ php5-cli \ libapache2-mod-php5 \ php5-mysql \ openssh-client \ unzip \ php5-pgsql \ php5-gd \ php-pear \ php5-json \ build-essential \ php5-dev \ libpcre3-dev \ php5-ldap \ php5-curl \ php5-xdebug \ git \ php5-mcrypt \ && php5enmod mcrypt \ && pecl install oauth-1.2.3 \ && echo "extension=oauth.so" >> /etc/php5/apache2/conf.d/oauth.ini \ && version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \ && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \ && mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \ && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > /etc/php5/apache2/conf.d/blackfire.ini \ && rm /tmp/blackfire-probe.tar.gz \ && pecl install uploadprogress-1.0.1 \ && echo "extension=uploadprogress.so" >> /etc/php5/apache2/conf.d/uploadprogress.ini \ && pecl install apcu-4.0.11 \ && echo extension=apcu.so > /etc/php5/apache2/conf.d/apcu.ini \ && DEBIAN_FRONTEND=noninteractive apt-get -y autoclean && apt-get -y autoremove \ && a2enmod alias authz_host deflate dir expires headers mime php5 rewrite ssl setenvif ENV COMPOSER_HOME /root/composer ENV COMPOSER_VERSION master RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && composer global require drush/drush:8.4.* \ && ln -sf $COMPOSER_HOME/vendor/bin/drush.php /usr/local/bin/drush \ && drush --version # Setup web root WORKDIR /var/www/html RUN curl -fSL "https://gitlab.eclipse.org/eclipsefdn/it/webdev/eclipsefdn-home-data/-/archive/v1.0.1/eclipsefdn-home-data-v1.0.1.tar.gz" -o /tmp/eclipsefdn-home-data.tar.gz \ && mkdir -p /home/data \ && tar -xf /tmp/eclipsefdn-home-data.tar.gz -C /home/data --strip-components=1 \ && curl -fSL "https://git.eclipse.org/c/www.eclipse.org/eclipse.org-common.git/snapshot/eclipse.org-common-e4ca75a6a8c0dbb0e984d7de56de66472d3650c3.tar.gz" -o /tmp/eclipse.org-common.tar.gz \ && tar -xf /tmp/eclipse.org-common.tar.gz -C /home/data/httpd/eclipse.org-common --strip-components=1 \ && rm /tmp/eclipse.org-common.tar.gz /tmp/eclipsefdn-home-data.tar.gz \ && mkdir -p /localsite/babel.eclipse.org/html \ && mkdir -p /localsite/eclipse.org-downloads-packages \ && mkdir -p /localsite/drupaltmp/blogs \ && mkdir -p /localsite/drupaltmp/api \ && mkdir -p /localsite/drupaltmp/accounts \ && mkdir -p /localsite/api-private \ && mkdir -p /localsite/drupaltmp/marketplace \ && mkdir -p /localsite/drupaltmp/newsroom \ && mkdir -p /localsite/drupaltmp/projects \ && mkdir -p /localsite/drupaltmp/eclipsecon \ && mkdir -p /localsite/blogs.eclipse.org-private \ && mkdir -p /localsite/blogs-private \ && mkdir -p /home/devops/build \ && chown -R www-data:www-data /var/www/html \ && chown -R www-data:www-data /localsite \ && chown -R www-data:www-data /home \ && rm index.html COPY ./php5.5/docker-php-entrypoint /usr/local/bin/ COPY ./php5.5/apache2-foreground /usr/local/bin/ # Copy webdev php.ini file for development COPY ./php5.5/php.ini /usr/local/etc/php/ ADD ./php5.5/sites-available /etc/apache2/sites-available/ ADD ./configs /home/devops/php/configs/ RUN a2ensite www.conf && /etc/init.d/apache2 start RUN mkdir /root/.ssh/ \ && touch /root/.ssh/known_hosts \ && ssh-keyscan gitlab.eclipse.org >> /root/.ssh/known_hosts\ && ssh-keyscan -p 29418 git.eclipse.org >> /root/.ssh/known_hosts EXPOSE 80 ENTRYPOINT ["docker-php-entrypoint"] CMD ["apache2-foreground"]