#!/bin/bash set -e if [[ $EUID -ne 0 ]]; then echo "Запустите скрипт с sudo" exit 1 fi echo "Определение дистрибутива..." if [ -f /etc/os-release ]; then . /etc/os-release DISTRO="$ID" FAMILY="$ID_LIKE" else echo "Не удалось определить дистрибутив" exit 1 fi echo "Дистрибутив: $DISTRO" echo "Семейство: $FAMILY" echo "Установка..." if echo "$DISTRO $FAMILY" | grep -qi "rhel\|fedora\|centos"; then dnf update -y dnf install -y nginx mariadb-server mariadb php php-fpm php-mysqlnd \ php-curl php-gd php-mbstring php-xml php-zip php-opcache \ php-intl php-bcmath php-json systemctl enable --now nginx mariadb php-fpm elif echo "$DISTRO $FAMILY" | grep -qi "debian"; then apt update -y apt install -y nginx mariadb-server php-fpm php-mysql \ php-curl php-gd php-mbstring php-xml php-zip php-opcache \ php-intl php-bcmath php-json systemctl enable --now nginx mariadb php7.4-fpm 2>/dev/null || true else echo "Скрипт не поддерживает этот дистрибутив" exit 1 fi cat > /etc/nginx/conf.d/default.conf << 'EOF' server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } EOF mkdir -p /var/www/html chown -R nginx:nginx /var/www/html 2>/dev/null || chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/html sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/*/php.ini 2>/dev/null || sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php.ini sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php/*/php.ini 2>/dev/null || sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php.ini sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php/*/php.ini 2>/dev/null || sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php.ini nginx -t systemctl restart nginx systemctl restart php-fpm 2>/dev/null || systemctl restart php*-fpm echo "Установка завершена"