Переделано под 2 дистрибутива

This commit is contained in:
nemp1yy
2025-08-09 16:57:46 +03:00
parent 38f5eb7bd8
commit ced0e49b69
2 changed files with 80 additions and 71 deletions

80
install.sh Normal file
View File

@@ -0,0 +1,80 @@
#!/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 "Установка завершена"