맛집 여행 캠핑 일상 생활

[Linux] Docker 각 버전별 php-apache 설치 방법 본문

LINUX

[Linux] Docker 각 버전별 php-apache 설치 방법

영은파더♥ 2025. 5. 20. 11:58
728x90

도커 php5.6 php7.4 php8.2 아파치 설치 방법입니다.
하나의 이미지에 php+apache가 같이 있는 docker image입니다.

docker-compose.yml

services:
  php56:
    #image: php:5.6-apache
    container_name: php56-apache
    build:
      context: .
      dockerfile: ./Dockerfile-php56
    ports:
      - "8156:80"
    volumes:
      - ./www:/var/www/html
      - ./httpd/logs:/etc/apache2/logs
      - ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf

  php74:
    #image: php:7.4-apache
    container_name: php74-apache
    build:
      context: .
      dockerfile: ./Dockerfile-php74
    ports:
      - "8174:80"
    volumes:
      - ./www:/var/www/html
      - ./httpd/logs:/etc/apache2/logs
      - ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf

  php82:
    #image: php:8.2-apache
    container_name: php82-apache
    build:
      context: .
      dockerfile: ./Dockerfile-php82
    ports:
      - "8182:80"
    volumes:
      - ./www:/var/www/html
      - ./httpd/logs:/etc/apache2/logs
      - ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf

혹시 안되면 example.conf 윗줄에 "AddType application/x-httpd-php .htm .html .php .php3 .php4 inc"
넣어주세요~

Dockerfile-php56

FROM php:5.6-apache

RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf

Dockerfile-php74

FROM php:7.4-apache

RUN apt update
RUN apt clean
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf

Dockerfile-php82

FROM php:8.2-apache

RUN apt update
RUN apt clean
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf

확장자 .html 에서 php가 실행되게 하려면 "RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf" 이부분이 필요합니다.

./www 에는 index.html 를 하나 만들어주면 됩니다.

docker compose up -d --build 명령어로 실행합니다.

 

 

728x90
반응형
Trackback : | Comments :