Переделано под 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 "Установка завершена"

View File

@@ -1,71 +0,0 @@
#!/bin/bash
set -e
if [[ $EUID -ne 0 ]]; then
echo "Загрузка через sudo"
exit 1
fi
echo "Установка..."
apt update && apt upgrade -y
apt install -y software-properties-common
add-apt-repository ppa:ondrej/php -y
apt update
apt install -y nginx
systemctl start nginx
systemctl enable nginx
apt install -y mariadb-server mariadb-client
systemctl start mariadb
systemctl enable mariadb
apt install -y php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring \
php8.3-xml php8.3-zip php8.3-opcache php8.3-intl php8.3-bcmath
systemctl start php8.3-fpm
systemctl enable php8.3-fpm
cat > /etc/nginx/sites-available/default << 'EOF'
server {
listen 80 default_server;
root /var/www/html;
index index.php index.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
EOF
nginx -t
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/8.3/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 64M/' /etc/php/8.3/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
systemctl reload nginx
systemctl restart php8.3-fpm
if command -v ufw &> /dev/null; then
ufw allow 'Nginx Full'
fi
echo "Установка завершена"