- 디렉토리 구조 정리: vm/, lxc/, dotfiles/ 폴더 생성 - setup_db.sh lxc/setup_mariadb.sh (기능 강화) * MariaDB 보안 초기화 추가 * 외부 접속 설정 및 Firewall 포트 개방 * dotfiles 다운로드 통합 * 완료 메시지 개선 - vm/setup_common.sh (PHP-FPM Apache 연동) * Apache mod_proxy_fcgi 설정 추가 * dotfiles 다운로드 에러 처리 강화 * 오류 처리 및 설정 확인 로직 추가 * 완료 메시지 개선 - vm/install_php.sh * PHP-FPM 풀 설정 개선 (apache 소유권) * 설치 확인 가이드 추가 * 완료 메시지 상세화 - dotfiles/ 파일 추가 관리 * vimrc: 기본 설정 포함 * bashrc_addon: 한국어, 별칭, 함수 포함 - .gitignore 추가 - README.md 전면 개선 * 구성도 및 디렉토리 구조 추가 * 빠른 시작 가이드 강화 * 문제 해결 섹션 추가 * 보안 및 성능 튜닝 가이드 추가
69 lines
2.1 KiB
Bash
69 lines
2.1 KiB
Bash
#!/bin/bash
|
|
# PHP 설치 스크립트 (Rocky Linux 9)
|
|
# 현재 사용자 계정 기준으로 PHP-FPM pool 생성
|
|
# 사용법: ./install_php.sh 8.2 또는 8.4
|
|
|
|
PHP_VERSION=$1
|
|
if [[ -z "$PHP_VERSION" ]]; then
|
|
echo "사용법: $0 <PHP_VERSION> (예: 8.2 또는 8.4)"
|
|
exit 1
|
|
fi
|
|
|
|
# 현재 사용자 계정 및 홈
|
|
WEB_USER=$USER
|
|
WEB_HOME=$(eval echo "~$WEB_USER")
|
|
WEB_ROOT="$WEB_HOME/www"
|
|
|
|
echo "설치 사용자: $WEB_USER"
|
|
echo "웹 루트: $WEB_ROOT"
|
|
echo "설치 PHP 버전: $PHP_VERSION"
|
|
|
|
# Remi 저장소 설치
|
|
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
|
|
sudo dnf module reset php -y
|
|
sudo dnf module enable php:remi-$PHP_VERSION -y
|
|
|
|
# PHP 및 필수 모듈 설치 (NTS 빌드)
|
|
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-pdo php-mbstring php-xml php-gd php-curl php-opcache \
|
|
php-soap php-intl php-zip php-bcmath php-bz2 php-imagick
|
|
|
|
# PHP-FPM pool 생성 (사용자 계정 기준)
|
|
FPM_POOL="/etc/php-fpm.d/$WEB_USER.conf"
|
|
sudo bash -c "cat > $FPM_POOL" <<EOF
|
|
[$WEB_USER]
|
|
user = $WEB_USER
|
|
group = $WEB_USER
|
|
listen = /run/php-fpm/$WEB_USER.sock
|
|
listen.owner = apache
|
|
listen.group = apache
|
|
pm = dynamic
|
|
pm.max_children = 10
|
|
pm.start_servers = 2
|
|
pm.min_spare_servers = 1
|
|
pm.max_spare_servers = 5
|
|
chdir = $WEB_ROOT
|
|
php_value[display_errors] = Off
|
|
php_value[error_reporting] = E_ALL & ~E_DEPRECATED & ~E_STRICT
|
|
EOF
|
|
|
|
# PHP-FPM 서비스 활성화 및 재시작
|
|
sudo systemctl enable --now php-fpm
|
|
sudo systemctl restart php-fpm
|
|
|
|
# Apache와 PHP-FPM 연동 설정 (setup_common.sh에서 이미 설정됨)
|
|
# Apache 재시작
|
|
sudo systemctl restart httpd
|
|
|
|
# 설치 확인
|
|
echo ""
|
|
echo "=== PHP $PHP_VERSION 설치 완료! ==="
|
|
echo "✓ PHP-FPM 풀: $WEB_USER"
|
|
echo "✓ PHP-FPM 소켓: /run/php-fpm/$WEB_USER.sock"
|
|
echo ""
|
|
echo "확인 방법:"
|
|
echo " 1. php -v # PHP 버전 확인"
|
|
echo " 2. php-fpm -v # PHP-FPM 버전 확인"
|
|
echo " 3. php -m | grep -E '(pdo|mysql)' # DB 모듈 확인"
|
|
echo " 4. echo '<?php phpinfo(); ?>' > ~/www/test.php # 웹 접속 테스트"
|
|
echo " 5. cat /var/log/httpd/${WEB_USER}-error.log # 에러 로그 확인"
|