Обзор развертывания Bitrix на сервере¶
Предпосылки и предварительные требования¶
Для корректной работы приложения на сервере необходимо наличие операционной системы Debian или её производных. Требуется наличие прав суперпользователя (root) для выполнения операций установки и настройки.
Система должна иметь доступ к интернету для загрузки пакетов, сертификатов безопасности и установочного скрипта.
Необходимые порты: - Порт 80 для HTTP-трафика. - Порт 443 для HTTPS-трафика.
Структура файлов и каталогов¶
Основные компоненты системы размещаются в следующих директориях: - Веб-контент и файлы приложения находятся в каталоге /var/www/html. - Конфигурационные файлы веб-сервера Apache2 расположены в /etc/apache2/sites-available/. - Конфигурация PHP для веб-сервера находится в /etc/php/8.1/apache2/php.ini. - Конфигурация PHP для командной строки находится в /etc/php/8.1/cli/php.ini. - Сокет для подключения к базе данных MySQL расположен по пути /run/mysqld/mysqld.sock.
Процесс установки приложения¶
Установка производится через пакетный менеджер apt с последующей ручной настройкой конфигурационных файлов.
Устанавливаются следующие компоненты: - Веб-сервер apache2. - База данных mysql-server. - Интерпретатор PHP версии 8.1 и необходимые модули: php8.1, libapache2-mod-php8.1, php8.1-xml, php8.1-gd, php8.1-mysql, php8.1-mbstring, php8.1-opcache, php8.1-ldap. - Библиотеки для работы с графикой и сжатием: freetype*, zlib1g. - Инструменты для управления сертификатами: certbot, python3-certbot-apache. - Модуль Python для работы с базой данных: python3-mysqldb.
После установки пакетов выполняется настройка конфигурации PHP: - Параметр memory_limit устанавливается в значение 256M. - Параметр upload_tmp_dir устанавливается в /var/www/html. - Параметр short_open_tag включается (устанавливается в On). - Параметр max_input_vars устанавливается в 10000. - Параметр date.timezone устанавливается в Europe/Moscow. - Параметр opcache.revalidate_freq устанавливается в 0.
Создается конфигурационный файл виртуального хоста Apache2 в директории /etc/apache2/sites-available/ с именем, соответствующим домену. В конфигурации указывается корневая директория /var/www/html и разрешается использование .htaccess директив через AllowOverride all.
Включается модуль перезаписи URL (rewrite) и созданный виртуальный хост.
Для инициализации системы управления контентом скачивается установочный скрипт bitrixsetup.php с официального источника и размещается в корневой директории /var/www/html.
Права доступа и безопасность¶
Для обеспечения работы скриптов установки и загрузки файлов, к каталогу /var/www/html предоставляются права на запись для всех пользователей (o+w).
Для защиты соединений используется протокол HTTPS. Сертификат безопасности выдается автоматически с помощью утилиты certbot в режиме интеграции с Apache2. Процесс регистрации сертификата выполняется без указания адреса электронной почты.
Базы данных¶
В системе используется сервер баз данных MySQL.
Создается новая база данных с именем, указанным в конфигурации развертывания.
Создается пользователь базы данных с именем и паролем, определенными в конфигурации. Пользователю предоставляются полные права доступа (ALL) ко всем базам данных (*.*).
Подключение к базе данных осуществляется через Unix-сокет, расположенный по пути /run/mysqld/mysqld.sock.
Прокси серверы¶
В качестве веб-сервера используется Apache2. Он настроен на прослушивание портов 80 и 443.
Конфигурация виртуального хоста включает: - Указание имени сервера (ServerName), соответствующего домену. - Указание адреса администратора (ServerAdmin). - Настройку корневой директории (DocumentRoot) на /var/www/html. - Настройку логов ошибок и доступа в стандартные директории Apache.
Сертификаты SSL управляются через certbot, который автоматически настраивает перенаправление и шифрование соединений для указанного домена.
Настройки прав¶
Права доступа к файлам и директориям настроены следующим образом: - Директория /var/www/html имеет права на запись для других пользователей (o+w), что необходимо для работы скрипта установки и загрузки файлов. - Конфигурационные файлы PHP и Apache2 имеют стандартные права доступа, установленные пакетным менеджером.
Запуск, остановка и обновление¶
Управление сервисом Apache2 осуществляется через системный менеджер systemd.
После настройки конфигурации сервис перезапускается для применения изменений. Команда для перезапуска:
Сервис настроен на автоматический запуск при загрузке системы. Команда для проверки статуса:
Для обновления конфигурации после внесения изменений в файлы необходимо выполнить перезагрузку демона и перезапуск сервиса: