Чтобы собрать образ Apache2 с модулем mod_php на базе Alpine Linux, вам потребуется следовать нескольким шагам. Вот подробная инструкция:
1. Установка Docker: Убедитесь, что у вас установлен Docker на вашей машине. Вы можете загрузить и установить Docker с официального сайта Docker для вашей операционной системы.
2. Создание Dockerfile: Создайте файл с именем Dockerfile в пустой директории. Вот содержимое Dockerfile:
FROM alpine:latest RUN apk update && apk add apache2 apache2-utils apache2-dev php7-apache2 php7 php7-apcu php7-dev autoconf build-base libressl-dev pcre-dev zlib-dev RUN ln -sf /dev/stdout /var/log/apache2/access.log && ln -sf /dev/stderr /var/log/apache2/error.log COPY httpd.conf /etc/apache2/httpd.conf RUN sed -i 's/#LoadModule rewrite/LoadModule rewrite/' /etc/apache2/httpd.conf && sed -i 's/#LoadModule include_module/LoadModule include_module/' /etc/apache2/httpd.conf && sed -i 's/#LoadModule php7_module/LoadModule php7_module/' /etc/apache2/httpd.conf && sed -i 's/DirectoryIndex.*/DirectoryIndex index.php/' /etc/apache2/httpd.conf RUN echo "<?php phpinfo(); ?>" > /var/www/localhost/htdocs/index.php EXPOSE 80 CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
3. Создание httpd.conf: Создайте файл с именем httpd.conf в пустой директории. Вот содержимое файла httpd.conf:
ServerRoot "/etc/apache2" Listen 80 Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-multilang-errordoc.conf Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-cgi.conf LoadModule rewrite_module modules/mod_rewrite.so LoadModule include_module modules/mod_include.so LoadModule php7_module modules/libphp7.so <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <FilesMatch .php$> SetHandler application/x-httpd-php </FilesMatch>
4. Сборка Docker-образа: Откройте командную строку (терминал) и перейдите в папку, где находятся Dockerfile и httpd.conf. Выполните следующую команду для сборки Docker-образа:
docker build -t my-apache2 .
5. Запуск контейнера: После успешной сборки Docker-образа вы можете запустить контейнер с Apache2 и модулем mod_php, используя следующую команду:
docker run -p 80:80 -d my-apache2
6. Проверка: Откройте веб-браузер и перейдите по адресу http://localhost/. Если все настроено правильно, вы увидите страницу phpinfo(), которая подтверждает, что Apache2 и модуль mod_php работают корректно.
Это подробная инструкция, как собрать образ Docker с Apache2 и модулем mod_php, используя исходный код Alpine.