diff --git a/install.sh b/install.sh
index 3063049..62d77e8 100644
--- a/install.sh
+++ b/install.sh
@@ -434,13 +434,123 @@ proceed_with_installation() {
elif [ "$DISTRO_FAMILY" = "rhel" ]; then
WEBROOT="/var/www/html"
- APACHE_CONF="/etc/httpd/conf.d/000-default.conf"
+ APACHE_CONF="/etc/httpd/conf.d/altcor.conf" # Изменено имя файла
WEBSERVER_USER="apache"
- cat > "/etc/httpd/conf.d/php.conf" << 'EOF'
+ # Исправленная конфигурация PHP для RHEL
+ if [ "$DISTRO" = "fedora" ]; then
+ # Для Fedora
+ cat > "/etc/httpd/conf.d/php.conf" << 'EOF'
+# PHP configuration for Apache
LoadModule php_module modules/libphp.so
-LoadModule rewrite_module modules/mod_rewrite.so
+
+ SetHandler application/x-httpd-php
+
+
+# Enable useful modules
+LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule headers_module modules/mod_headers.so
+LoadModule expires_module modules/mod_expires.so
+LoadModule deflate_module modules/mod_deflate.so
+EOF
+ else
+ # Для Rocky Linux/CentOS/RHEL с Remi
+ # Проверяем доступные PHP модули
+ if [ -f "/etc/opt/remi/php83/php.ini" ]; then
+ # Remi PHP 8.3
+ cat > "/etc/httpd/conf.d/php.conf" << 'EOF'
+# PHP 8.3 from Remi repository
+LoadModule php_module modules/libphp83.so
+
+
+ SetHandler application/x-httpd-php
+
+
+# Enable useful modules
+LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule headers_module modules/mod_headers.so
+LoadModule expires_module modules/mod_expires.so
+LoadModule deflate_module modules/mod_deflate.so
+EOF
+ else
+ # Стандартный PHP
+ cat > "/etc/httpd/conf.d/php.conf" << 'EOF'
+# Standard PHP configuration
+
+ LoadModule php_module modules/libphp.so
+
+
+
+ SetHandler application/x-httpd-php
+
+
+# Enable useful modules
+LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule headers_module modules/mod_headers.so
+LoadModule expires_module modules/mod_expires.so
+LoadModule deflate_module modules/mod_deflate.so
+EOF
+ fi
+ fi
+
+ cat > "/etc/httpd/conf.d/altcor.conf" << 'EOF'
+# Altcor main configuration
+
+# Отключаем ServerTokens и ServerSignature для безопасности
+ServerTokens Prod
+ServerSignature Off
+
+# Основные настройки
+
+ Options -Indexes +FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+ # Настройки сжатия
+
+ SetOutputFilter DEFLATE
+ SetEnvIfNoCase Request_URI \
+ \.(?:gif|jpe?g|png)$ no-gzip dont-vary
+ SetEnvIfNoCase Request_URI \
+ \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
+
+
+ # Кэширование
+
+ ExpiresActive On
+ ExpiresByType image/jpg "access plus 1 month"
+ ExpiresByType image/jpeg "access plus 1 month"
+ ExpiresByType image/gif "access plus 1 month"
+ ExpiresByType image/png "access plus 1 month"
+ ExpiresByType image/svg+xml "access plus 1 month"
+ ExpiresByType text/css "access plus 1 month"
+ ExpiresByType application/javascript "access plus 1 month"
+ ExpiresByType text/javascript "access plus 1 month"
+
+
+ # Заголовки безопасности
+
+ Header always set X-Content-Type-Options nosniff
+ Header always set X-Frame-Options DENY
+ Header always set X-XSS-Protection "1; mode=block"
+
+
+
+# Запрет доступа к конфигурационным файлам
+
+ Require all denied
+
+
+
+ Require all denied
+
+
+
+ Require all denied
+
+
+# Обработка PHP файлов
SetHandler application/x-httpd-php
@@ -449,8 +559,10 @@ EOF
log_success "Модули Apache настроены"
log_step "Создание конфигурации виртуального хоста..."
- mkdir -p "$WEBROOT"
+mkdir -p "$WEBROOT"
+# Для Debian/Ubuntu создаем стандартный VirtualHost
+if [ "$DISTRO_FAMILY" = "debian" ]; then
cat > "$APACHE_CONF" <
DocumentRoot $WEBROOT
@@ -499,6 +611,8 @@ EOF
CustomLog \${APACHE_LOG_DIR}/access.log combined
EOF
+ fi
+
log_success "Конфигурация виртуального хоста создана"
log_step "Настройка PHP.ini..."
@@ -879,15 +993,34 @@ MYSQL_SCRIPT
if [ "$DISTRO_FAMILY" = "debian" ]; then
if ! apache2ctl configtest >/dev/null 2>&1; then
log_error "Конфигурация Apache содержит ошибки."
+ apache2ctl configtest # Показываем ошибки для диагностики
exit 1
fi
WEBSERVER_SERVICE="apache2"
-
+
elif [ "$DISTRO_FAMILY" = "rhel" ]; then
+ # Для Rocky Linux/RHEL сначала проверим синтаксис конфигурации
if ! httpd -t >/dev/null 2>&1; then
- log_error "Конфигурация Apache (httpd) содержит ошибки."
- exit 1
+ log_error "Конфигурация Apache (httpd) содержит ошибки:"
+ echo ""
+ httpd -t # Показываем детали ошибок
+ echo ""
+ log_info "Попытка исправления..."
+
+ # Проверяем наличие основных модулей
+ if ! httpd -M 2>/dev/null | grep -q "rewrite_module"; then
+ echo "LoadModule rewrite_module modules/mod_rewrite.so" >> /etc/httpd/conf.d/altcor.conf
+ fi
+
+ # Повторная проверка
+ if ! httpd -t >/dev/null 2>&1; then
+ log_error "Не удалось исправить конфигурацию Apache:"
+ httpd -t
+ exit 1
+ else
+ log_success "Конфигурация исправлена"
+ fi
fi
WEBSERVER_SERVICE="httpd"