Другое

Как настроить Apache и Nginx для Bitrix на CentOS 9

Полное руководство по настройке Apache и Nginx для Bitrix на CentOS 9. Решаем проблему с отображением IIS вместо Apache и доступ к restore.php. Пошаговая инструкция для новичков.

Как настроить Apache и Nginx для работы с Bitrix на CentOS 9?

Я приобрел VPS с CentOS 9, где установлена среда Bitrix (Bitrix Environment). На сервере работают Apache и Nginx. Мне необходимо восстановить резервную копию через файл restore.php. Файл точно существует и принадлежит пользователю bitrix. Однако при доступе по IP-адресу вместо ожидаемого Apache/Nginx открывается Microsoft IIS (что странно, так как VPS работает под CentOS 9). Соответственно, при обращении к http://IP-адрес/restore.php я получаю ошибку 404 от IIS.

Я не имею опыта в настройке веб-серверов. Как решить эту проблему?

На вашем VPS с CentOS 9 и Bitrix Environment Apache и Nginx должны быть правильно настроены для работы с Bitrix. Проблема с отображением Microsoft IIS вместо Apache/Nginx указывает на возможную ошибку в конфигурации или запуске неправильного веб-сервера.

Содержание

Диагностика текущей конфигурации

Сначала необходимо определить, какие веб-серверы действительно работают на вашем сервере. Для этого выполните команды:

bash
systemctl list-units --type=service | grep -E "(apache|nginx|httpd|iis)"

Также проверьте активные порты:

bash
netstat -tlnp | grep -E ":80|:443"
ss -tlnp | grep -E ":80|:443"

В Bitrix Environment CentOS 9 должны быть установлены:

  • Apache 2.4.* как основной веб-сервер
  • Nginx 1.26 как прокси-сервер для кэширования и статических файлов

Проверка статуса служб Apache и Nginx

Проверьте статус служб:

bash
systemctl status httpd
systemctl status nginx

Если службы не запущены, запустите их:

bash
systemctl start httpd
systemctl start nginx
systemctl enable httpd
systemctl enable nginx

Проверьте конфигурационные файлы на ошибки:

bash
apachectl configtest
nginx -t

Настройка виртуальных хостов

Конфигурация сайтов в Bitrix Environment хранится в стандартных директориях:

Apache конфигурация:

  • Основной файл: /etc/httpd/conf/httpd.conf
  • Конфигурации сайтов: /etc/httpd/conf.d/bitrix.conf
  • Директории сайтов: /var/www/html/

Nginx конфигурация:

  • Основной файл: /etc/nginx/nginx.conf
  • Конфигурации сайтов: /etc/nginx/conf.d/
  • Директории сайтов: /var/www/html/

Пример базовой конфигурации Apache для Bitrix:

apache
<VirtualHost *:80>
    ServerName ваш-домен.ru
    DocumentRoot /var/www/html/bx-site
    <Directory /var/www/html/bx-site>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    # Настройка для Bitrix
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
        RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
    </IfModule>
</VirtualHost>

Пример базовой конфигурации Nginx для Bitrix:

nginx
server {
    listen 80;
    server_name ваш-домен.ru;
    root /var/www/html/bx-site;
    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /bitrix/urlrewrite.php$is_args$args;
    }
    
    location ~ \.php$ {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

Права доступа к файлам

Убедитесь, что у правильного пользователя есть права на директорию сайта:

bash
chown -R bitrix:bitrix /var/www/html/bx-site
chmod -R 755 /var/www/html/bx-site
chmod -R 775 /var/www/html/bx-site/bitrix
chmod -R 775 /var/www/html/bx-site/upload

Проверьте пользователя, от имени которого работает Apache:

bash
ps aux | grep httpd

Должен быть указан пользователь apache или bitrix.

Файл конфигурации Bitrix

Файл конфигурации Bitrix находится по пути:
/var/www/html/bx-site/bitrix/.settings.php

Убедитесь, что файл существует и доступен для чтения:

bash
ls -la /var/www/html/bx-site/bitrix/.settings.php

Восстановление резервной копии

Для доступа к файлу restore.php выполните следующие шаги:

  1. Убедитесь, что веб-сервер запущен и работает корректно
  2. Проверьте путь к файлу: /var/www/html/bx-site/restore.php
  3. Установите правильные права:
bash
chmod 644 /var/www/html/bx-site/restore.php
chown bitrix:bitrix /var/www/html/bx-site/restore.php
  1. Проверьте конфигурацию виртуального хоста для доступа по IP-адресу

Решение проблемы с IIS

Проблема с отображением Microsoft IIS на CentOS 9 указывает на одно из следующих:

  1. Неправильная маршрутизация трафика - возможно, ваш VPS-провайдер использует прокси или балансировщик нагрузки, который перенаправляет запросы на IIS

  2. Ошибка в конфигурации DNS - проверьте, что A-запись указывает на правильный IP

  3. Запуск неправильного веб-сервера - возможно, установлен IIS через Wine или другое ПО

Шаги для решения:

  1. Проверьте, действительно ли IIS установлен:
bash
rpm -qa | grep -i iis
which iis
  1. Если IIS действительно установлен, проверьте его конфигурацию:
bash
systemctl status iis
  1. Проверьте конфигурацию файрвола:
bash
firewall-cmd --list-all
  1. Убедитесь, что порт 80 открыт для Apache:
bash
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
  1. Проверьте конфигурацию виртуального хоста для доступа по IP:
apache
<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /var/www/html/bx-site
    ServerName IP_Вашего_Сервера
</VirtualHost>
  1. Перезапустите Apache:
bash
systemctl restart httpd
  1. Проверьте доступность:
bash
curl -I http://IP_адрес_сервера/

Если проблема persists, обратитесь в поддержку вашего VPS-провайдера, так как проблема может быть на их стороне (например, использование облачных технологий с переадресацией).

Источники

  1. Bitrix Environment (RPM) для Linux - Официальная документация
  2. Конфигурация nginx для BitrixVA
  3. Конфигурация Apache в Virtual Appliance
  4. Настройка BitrixVM на CentOS
  5. Установка Bitrix24 на CentOS 7 (EC2)

Заключение

  • Основная проблема с отображением IIS вместо Apache/Nginx требует проверки конфигурации служб и их статуса
  • Убедитесь, что запущены именно службы Apache и Nginx, а не IIS
  • Проверьте права доступа к файлам и конфигурацию виртуальных хостов
  • Для доступа к restore.php убедитесь в правильности пути и прав доступа
  • Если проблема продолжается, свяжитесь с поддержкой VPS-провайдера для проверки маршрутизации трафика
Авторы
Проверено модерацией
Модерация