Переделано под 2 дистрибутива
This commit is contained in:
80
install.sh
Normal file
80
install.sh
Normal 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 "Установка завершена"
|
||||
@@ -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 "Установка завершена"
|
||||
Reference in New Issue
Block a user