Исправление с конфигами apache2

This commit is contained in:
2025-08-12 11:17:27 +03:00
parent bd12e9936f
commit 64efc4879e

View File

@@ -41,6 +41,53 @@ generate_password() {
openssl rand -base64 32 | tr -d "=+/" | cut -c1-16
}
cleanup_apache_config() {
log_info "Очистка конфигурации Apache от дубликатов..."
if [ "$DISTRO_FAMILY" = "debian" ]; then
# Удаляем дублирующиеся записи Listen из ports.conf
if [ -f /etc/apache2/ports.conf ]; then
# Создаем резервную копию
cp /etc/apache2/ports.conf /etc/apache2/ports.conf.backup.$(date +%Y%m%d_%H%M%S)
# Удаляем дубликаты Listen :80
awk '
/^Listen.*:80$/ {
if (!seen) {
seen = 1
print "Listen *:80"
}
next
}
{ print }
' /etc/apache2/ports.conf > /etc/apache2/ports.conf.tmp
mv /etc/apache2/ports.conf.tmp /etc/apache2/ports.conf
fi
elif [ "$DISTRO_FAMILY" = "rhel" ]; then
HTTPD_CONF="/etc/httpd/conf/httpd.conf"
if [ -f "$HTTPD_CONF" ]; then
# Создаем резервную копию
cp "$HTTPD_CONF" "${HTTPD_CONF}.backup.$(date +%Y%m%d_%H%M%S)"
# Удаляем дубликаты Listen :80
awk '
/^Listen.*:80$/ {
if (!seen) {
seen = 1
print "Listen *:80"
}
next
}
{ print }
' "$HTTPD_CONF" > "${HTTPD_CONF}.tmp"
mv "${HTTPD_CONF}.tmp" "$HTTPD_CONF"
fi
fi
}
check_component() {
local component=$1
local command_check=$2
@@ -165,10 +212,6 @@ check_existing_installation() {
components_installed=true
fi
echo ""
echo "=== РЕЗУЛЬТАТЫ ПРОВЕРКИ ==="
echo ""
if [ "$altcor_installed" = true ]; then
echo -e "${GREEN}✓ ALTCOR УЖЕ УСТАНОВЛЕН${NC}"
echo ""
@@ -728,25 +771,25 @@ EOF
fi
log_success "Конфигурация виртуального хоста создана"
cleanup_apache_config
log_step "Настройка Apache для прослушивания всех интерфейсов..."
if [ "$DISTRO_FAMILY" = "debian" ]; then
if ! grep -q "Listen 0.0.0.0:80" /etc/apache2/ports.conf && ! grep -q "Listen \*:80" /etc/apache2/ports.conf; then
if grep -q "Listen 127.0.0.1:80" /etc/apache2/ports.conf; then
sed -i 's/Listen 127.0.0.1:80/Listen *:80/' /etc/apache2/ports.conf
fi
if ! grep -q "Listen.*:80" /etc/apache2/ports.conf; then
echo "Listen *:80" >> /etc/apache2/ports.conf
fi
if ! grep -q "Listen.*:80" /etc/apache2/ports.conf; then
echo "Listen *:80" >> /etc/apache2/ports.conf
elif grep -q "Listen 127.0.0.1:80" /etc/apache2/ports.conf && ! grep -q "Listen \*:80\|Listen 0.0.0.0:80" /etc/apache2/ports.conf; then
sed -i 's/Listen 127.0.0.1:80/Listen *:80/' /etc/apache2/ports.conf
fi
sed -i '/^Listen.*:80$/!b; N; /^\(.*\)\nListen.*:80$/{ s//\1/; ba }' /etc/apache2/ports.conf
elif [ "$DISTRO_FAMILY" = "rhel" ]; then
HTTPD_CONF="/etc/httpd/conf/httpd.conf"
if ! grep -q "Listen 0.0.0.0:80" "$HTTPD_CONF" && ! grep -q "Listen \*:80" "$HTTPD_CONF"; then
if grep -q "Listen 127.0.0.1:80" "$HTTPD_CONF"; then
sed -i 's/Listen 127.0.0.1:80/Listen *:80/' "$HTTPD_CONF"
elif ! grep -q "Listen.*:80" "$HTTPD_CONF"; then
echo "Listen *:80" >> "$HTTPD_CONF"
fi
if ! grep -q "Listen.*:80" "$HTTPD_CONF"; then
echo "Listen *:80" >> "$HTTPD_CONF"
elif grep -q "Listen 127.0.0.1:80" "$HTTPD_CONF" && ! grep -q "Listen \*:80\|Listen 0.0.0.0:80" "$HTTPD_CONF"; then
sed -i 's/Listen 127.0.0.1:80/Listen *:80/' "$HTTPD_CONF"
fi
awk '!seen[$0] || !/^Listen.*:80$/{seen[$0]++; print}' "$HTTPD_CONF" > "$HTTPD_CONF.tmp" && mv "$HTTPD_CONF.tmp" "$HTTPD_CONF"
fi
log_success "Apache настроен для прослушивания всех интерфейсов"