diff --git a/install.sh b/install.sh index c7cd7e3..54dfdeb 100644 --- a/install.sh +++ b/install.sh @@ -563,27 +563,75 @@ EOF log_error "MariaDB не смог запуститься" exit 1 fi - log_success "MariaDB установлен и запущен" log_step "Установка дополнительных компонентов (Redis, LibreOffice)..." if [ "$DISTRO_FAMILY" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive - if apt install -y redis-server libreoffice default-jre; then - log_success "Дополнительные компоненты установлены" - else - log_error "Ошибка установки пакетов для Debian/Ubuntu" - exit 1 - fi + + echo "Обновление списка пакетов..." + apt update + + echo "Установка Redis..." + apt install -y redis-server || { echo "Ошибка установки Redis"; exit 1; } + + echo "Установка LibreOffice..." + apt install -y libreoffice || { echo "Ошибка установки LibreOffice"; exit 1; } + + echo "Установка Java..." + apt install -y default-jre || { echo "Ошибка установки Java"; exit 1; } + elif [ "$DISTRO_FAMILY" = "rhel" ]; then - if $PKG_MANAGER install -y redis libreoffice; then - log_success "Дополнительные компоненты установлены" - else - log_error "Ошибка установки пакетов для RHEL" - exit 1 + # Проверяем и устанавливаем EPEL репозиторий + if ! rpm -qa | grep -q epel-release; then + echo "Установка EPEL репозитория..." + $PKG_MANAGER install -y epel-release || { echo "Ошибка установки EPEL"; exit 1; } fi + + # Включаем PowerTools/CRB репозиторий (нужен для некоторых зависимостей) + if command -v dnf >/dev/null 2>&1; then + # Rocky Linux 8+ + echo "Включение PowerTools репозитория..." + dnf config-manager --set-enabled powertools >/dev/null 2>&1 || \ + dnf config-manager --set-enabled crb >/dev/null 2>&1 || true + elif command -v yum >/dev/null 2>&1; then + # CentOS 7 + yum-config-manager --enable extras >/dev/null 2>&1 || true + fi + + # Установка Redis (правильное название пакета) + echo "Установка Redis..." + $PKG_MANAGER install -y redis || { echo "Ошибка установки Redis"; exit 1; } + + # Для LibreOffice используем Flatpak или устанавливаем компоненты по отдельности + echo "Установка LibreOffice..." + + # Вариант 1: Попробуем установить из стандартных репозиториев + if $PKG_MANAGER install -y libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress >/dev/null 2>&1; then + echo "LibreOffice установлен из репозиториев" + else + echo "Стандартная установка LibreOffice недоступна, используем Flatpak..." + + # Установка Flatpak + $PKG_MANAGER install -y flatpak || { echo "Ошибка установки Flatpak"; exit 1; } + + # Добавляем Flathub репозиторий + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo || true + + # Устанавливаем LibreOffice через Flatpak + flatpak install -y flathub org.libreoffice.LibreOffice || { echo "Ошибка установки LibreOffice через Flatpak"; exit 1; } + fi + + # Установка Java + echo "Установка Java..." + $PKG_MANAGER install -y java-11-openjdk || $PKG_MANAGER install -y java-1.8.0-openjdk || { echo "Ошибка установки Java"; exit 1; } + + # Запуск и включение Redis + systemctl enable redis --now >/dev/null 2>&1 || systemctl enable redis-server --now >/dev/null 2>&1 || true fi + log_success "Дополнительные компоненты установлены" + log_step "Установка PHP 8.3 и расширений..." if [ "$DISTRO_FAMILY" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive