From 977ed493b0aa8acdadbe51650d0490a885114cff Mon Sep 17 00:00:00 2001 From: hosh1 Date: Wed, 13 Aug 2025 01:54:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=20php-fpm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 105 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 42 deletions(-) diff --git a/install.sh b/install.sh index 6e938bf..53f4e85 100644 --- a/install.sh +++ b/install.sh @@ -571,38 +571,59 @@ proceed_with_installation() { log_step "Настройка Apache и модулей..." if [ "$DISTRO_FAMILY" = "debian" ]; then - a2enmod php8.3 rewrite ssl headers expires deflate >/dev/null 2>&1 - - for php_ver in 7.4 8.0 8.1 8.2; do - a2dismod php$php_ver >/dev/null 2>&1 || true - done - - WEBROOT="/var/www/html" - APACHE_CONF="/etc/apache2/sites-available/000-default.conf" - WEBSERVER_USER="www-data" - - elif [ "$DISTRO_FAMILY" = "rhel" ]; then - WEBROOT="/var/www/html" - APACHE_CONF="/etc/httpd/conf.d/000-default.conf" - WEBSERVER_USER="apache" - - rm -f /etc/httpd/conf.d/php.conf - - if [ "$DISTRO" = "fedora" ]; then - cat > "/etc/httpd/conf.d/php.conf" << 'EOF' -LoadModule php_module modules/libphp.so + a2enmod php8.3 rewrite ssl headers expires deflate >/dev/null 2>&1 + + for php_ver in 7.4 8.0 8.1 8.2; do + a2dismod php$php_ver >/dev/null 2>&1 || true + done + + WEBROOT="/var/www/html" + APACHE_CONF="/etc/apache2/sites-available/000-default.conf" + WEBSERVER_USER="www-data" + +elif [ "$DISTRO_FAMILY" = "rhel" ]; then + WEBROOT="/var/www/html" + APACHE_CONF="/etc/httpd/conf.d/000-default.conf" + WEBSERVER_USER="apache" + + rm -f /etc/httpd/conf.d/php.conf + + log_info "Настройка PHP-FPM для Apache..." + + if [ "$DISTRO" = "fedora" ]; then + cat > "/etc/httpd/conf.d/php-fpm.conf" << 'EOF' +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule rewrite_module modules/mod_rewrite.so - SetHandler application/x-httpd-php + SetHandler "proxy:fcgi://127.0.0.1:9000" -DirectoryIndex index.php index.html +DirectoryIndex index.php index.html index.htm + + + Require all granted + EOF - else - log_info "Настройка PHP-FPM для Apache..." + + if [ -f "/etc/php-fpm.d/www.conf" ]; then + PHP_FPM_CONF="/etc/php-fpm.d/www.conf" - cat > "/etc/httpd/conf.d/php-fpm.conf" << 'EOF' + cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)" + + sed -i 's/^user = .*/user = apache/' "$PHP_FPM_CONF" + sed -i 's/^group = .*/group = apache/' "$PHP_FPM_CONF" + sed -i 's/^listen = .*/listen = 127.0.0.1:9000/' "$PHP_FPM_CONF" + + log_info "PHP-FPM пул настроен для Fedora" + + systemctl enable php-fpm >/dev/null 2>&1 + systemctl start php-fpm >/dev/null 2>&1 + fi + + else + cat > "/etc/httpd/conf.d/php-fpm.conf" << 'EOF' LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule rewrite_module modules/mod_rewrite.so @@ -617,27 +638,27 @@ DirectoryIndex index.php index.html index.htm Require all granted EOF + + if [ -f "/etc/opt/remi/php83/php-fpm.d/www.conf" ]; then + PHP_FPM_CONF="/etc/opt/remi/php83/php-fpm.d/www.conf" - if [ -f "/etc/opt/remi/php83/php-fpm.d/www.conf" ]; then - PHP_FPM_CONF="/etc/opt/remi/php83/php-fpm.d/www.conf" - - cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)" - - sed -i 's/^user = .*/user = apache/' "$PHP_FPM_CONF" - sed -i 's/^group = .*/group = apache/' "$PHP_FPM_CONF" - - sed -i 's/^listen = .*/listen = \/var\/opt\/remi\/php83\/run\/php-fpm\/www.sock/' "$PHP_FPM_CONF" - sed -i 's/^;listen.owner = .*/listen.owner = apache/' "$PHP_FPM_CONF" - sed -i 's/^;listen.group = .*/listen.group = apache/' "$PHP_FPM_CONF" - sed -i 's/^;listen.mode = .*/listen.mode = 0660/' "$PHP_FPM_CONF" - - log_info "PHP-FPM пул настроен" - fi + cp "$PHP_FPM_CONF" "${PHP_FPM_CONF}.backup.$(date +%Y%m%d_%H%M%S)" - mkdir -p /var/opt/remi/php83/run/php-fpm - chown apache:apache /var/opt/remi/php83/run/php-fpm + sed -i 's/^user = .*/user = apache/' "$PHP_FPM_CONF" + sed -i 's/^group = .*/group = apache/' "$PHP_FPM_CONF" + + sed -i 's/^listen = .*/listen = \/var\/opt\/remi\/php83\/run\/php-fpm\/www.sock/' "$PHP_FPM_CONF" + sed -i 's/^;listen.owner = .*/listen.owner = apache/' "$PHP_FPM_CONF" + sed -i 's/^;listen.group = .*/listen.group = apache/' "$PHP_FPM_CONF" + sed -i 's/^;listen.mode = .*/listen.mode = 0660/' "$PHP_FPM_CONF" + + log_info "PHP-FPM пул настроен для RHEL/CentOS" fi + + mkdir -p /var/opt/remi/php83/run/php-fpm + chown apache:apache /var/opt/remi/php83/run/php-fpm fi +fi log_success "Модули Apache настроены" log_step "Создание конфигурации виртуального хоста..."