Files
php-apache/8.2.7/entrypoint.sh
2025-07-02 13:24:56 +09:00

48 lines
1.5 KiB
Bash

#!/usr/bin/env bash
set -Eeuo pipefail
# 환경변수 PUID가 설정되어 있으면 www-data 사용자의 UID를 변경
if [[ -n "${PUID}" ]]
then
usermod -u ${PUID} www-data
fi
# 환경변수 PGID가 설정되어 있으면 www-data 그룹의 GID를 변경
if [[ -n "${PGID}" ]]
then
groupmod -g ${PGID} www-data
fi
# 첫 번째 인자가 apache2* 또는 php-fpm이면
if [[ "$1" == apache2* ]] || [ "$1" = 'php-fpm' ]; then
uid="$(id -u)"
gid="$(id -g)"
# 현재 UID가 root이면
if [ "$uid" = '0' ]; then
case "$1" in
apache2*)
user="${APACHE_RUN_USER:-www-data}"
group="${APACHE_RUN_GROUP:-www-data}"
# Apache에서 '#1000' 형식 UID/GID에서 '#' 제거
pound='#'
user="${user#$pound}"
group="${group#$pound}"
;;
*)
# php-fpm인 경우 기본 사용자 www-data
user='www-data'
group='www-data'
;;
esac
else
# root이 아니면 현재 uid/gid 그대로 사용
user="$uid"
group="$gid"
fi
fi
# 마지막으로 인자로 받은 명령어 실행 (ex: apache2-foreground)
exec "$@"