### # 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:12.04 # Install dependencies RUN sed -i 's/archive/old-releases/' /etc/apt/sources.list && \ apt-get update && \ apt-get install -y --no-install-recommends \ mysql-client \ curl \ libmemcached-dev \ libz-dev \ libpq-dev \ libjpeg-dev \ libpng12-dev \ libfreetype6-dev \ libssl-dev \ libmcrypt-dev \ apache2 \ php5 \ php5-cli \ openssh-client \ unzip \ libapache2-mod-php5 \ php5-mysql \ php5-pgsql \ php5-gd \ php-pear \ php5-json \ build-essential \ php5-dev \ libpcre3-dev \ php5-ldap \ php5-curl \ git \ php5-mcrypt \ php5-xdebug \ && 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/cli/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:7.* \ && ln -sf $COMPOSER_HOME/vendor/bin/drush.php /usr/local/bin/drush \ && drush --version # Allow NameVirtualHost *:443 with apache 2.2 COPY ./php5.3/ports.conf /etc/apache2/ # Copy webdev php.ini file for development COPY ./php5.3/php.ini /etc/php5/apache2/ COPY ./php5.3/a2ensites.sh /a2ensites.sh ADD ./php5.3/sites-available /etc/apache2/sites-available/ # Update document root to match php5.5 and php5.6 RUN sed -ri -e 's!/var/www!/var/www/html!g' /etc/apache2/sites-available/default* # 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 \ && a2dissite default-ssl && a2dissite default \ && /a2ensites.sh && rm /a2ensites.sh \ && /etc/init.d/apache2 reload COPY ./php5.3/docker-php-entrypoint /usr/local/bin/ COPY ./php5.3/apache2-foreground /usr/local/bin/ ADD ./configs /home/devops/php/configs/ 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"]