Добавлен возможность удаления, обновлена логика

This commit is contained in:
2025-08-10 02:51:34 +03:00
parent 2ca10fb43d
commit ebae697082

View File

@@ -1,6 +1,20 @@
#!/bin/bash
set -e
UNINSTALL=false
while getopts ":u" opt; do
case $opt in
u)
UNINSTALL=true
;;
\?)
echo -e "${RED}[ERROR]${NC} Неизвестный параметр: -$OPTARG" >&2
exit 1
;;
esac
done
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
@@ -37,9 +51,42 @@ else
exit 1
fi
if [ "$UNINSTALL" = true ]; then
full_uninstall
fi
full_uninstall() {
echo -e "${YELLOW}[INFO]${NC} Начинаем полное удаление LAMP-окружения..."
systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis 2>/dev/null || true
if [ "$DISTRO_FAMILY" = "debian" ]; then
apt purge -y nginx* apache2* php* mariadb* mysql* redis* 2>/dev/null || true
apt autoremove -y 2>/dev/null || true
else
$PKG_MANAGER remove -y nginx httpd php* mariadb* mysql* redis* 2>/dev/null || true
fi
rm -rf \
/etc/nginx \
/etc/apache2 \
/etc/httpd \
/etc/php* \
/var/www/html/* \
/var/lib/mysql* \
/var/lib/redis* \
~/.mysql_history \
/root/.mysql_history 2>/dev/null || true
echo -e "${GREEN}[SUCCESS]${NC} Полное удаление завершено!"
exit 0
}
systemctl stop nginx httpd apache2 php*-fpm 2>/dev/null || true
systemctl disable nginx httpd 2>/dev/null || true
echo "Установка Altcor..."
if [ "$DISTRO_FAMILY" = "debian" ]; then
apt remove -y nginx nginx-common nginx-core >/dev/null 2>&1 || true
apt remove -y php7.* php8.0* php8.1* php8.2* libapache2-mod-php7.* libapache2-mod-php8.0* libapache2-mod-php8.1* libapache2-mod-php8.2* >/dev/null 2>&1 || true
@@ -321,7 +368,7 @@ if curl -f -L --max-time 30 -o "$WEBROOT/index.php" "$DOWNLOAD_URL" 2>/dev/null;
create_fallback_index
log_error "Скачанный файл не является PHP-скриптом, создана резервная страница"
else
log_success "Файл index.php успешно загружен"
echo "Ещё чуть-чуть...
fi
else
create_fallback_index
@@ -451,7 +498,7 @@ fi
IP_ADDR=$(hostname -I | awk '{print $1}')
echo ""
echo "Установка успешно завершена."
echo "Установка Altcor успешно завершена."
echo " Доступ к сайту:"
echo " • http://localhost/"
echo " • http://$IP_ADDR/"