Files
altcorAutoinstall/install.sh

81 lines
2.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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