8000 GitHub - Wladimir-N/bitrix-docker-compose
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Wladimir-N/bitrix-docker-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bitrix in Docker

ВозмоТности

  • Запуск ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ всСх сСрвисов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π‘Π£Π‘ / Битрикс24:
    • Php-fpm (Apache Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ)
    • Nginx
    • MySQL (Π² Π΄Π°Π½Π½ΠΎΠΉ сборкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Percona)
    • Memcached
    • Sphinx
  • РСшСниС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ всС тСсты Битрикс / Битрикс24.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сайтов Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС, Π° Ρ‚Π°ΠΊΠΆΠ΅ многосайтовыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.
  • Автоматизация получСния сСртификатов для Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² (Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ email для LetsEncrypt - всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ происходит автоматичСски).
  • ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ контСйнСризация. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис запускаСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий php Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС для Ρ€Π°Π·Π½Ρ‹Ρ… сайтов. Π”Π°ΠΆΠ΅ Ссли сайты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ядрС (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с ΡƒΠΌΠΎΠΌ).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Если Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π²Π·Π»ΠΎΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сайтов Π½Π° сСрвСрС, ΠΎΠ½ Π½Π΅ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сайтам. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΡ….
  • ВозмоТности для быстрого создания тСстовых ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ ΠΈ разграничСния доступов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… сайтов / ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ.
  • ВсС Π΄Π°Π½Π½Ρ‹Π΅ (Π‘Π”) хранятся Π½Π° хост-машинС:
    • ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ.
    • Для пСрСноса всСх сайтов Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ сСрвСр достаточно просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΠ΅Ρ€ Π½Π° Π½ΠΎΠ²ΠΎΠΌ сСрвСрС (ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ всС Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ).
  • Mailhog для тСстирования ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΏΡ€ΠΈ локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.
  • Msmtp для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚Ρ‹ с Π±ΠΎΠ΅Π²Ρ‹Ρ… сСрвСров.
  • Crontab ΠΈ Π°Π³Π΅Π½Ρ‚Ρ‹ Π½Π° ΠΊΡ€ΠΎΠ½Π΅ "ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ".
    • ΠšΡ€ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ влияниС Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° сайтС.
  • Xdebug для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • MySQL Adminer для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ научился Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π‘Π” Π² PhpStorm.
  • Traefik ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ прокси-сСрвСр для Π΄ΠΎΠΊΠ΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².
  • Π Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ с www Π½Π° Π΄ΠΎΠΌΠ΅Π½Ρ‹ Π±Π΅Π· www ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° https.
  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ sphinx для настройки синонимов ΠΈ словоформ.
  • Π—Π°Π³Π»ΡƒΡˆΠΊΠ°, Ссли сайт Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎ Π΄ΠΎΠΌΠ΅Π½Ρƒ.

Push & pull сСрвСр Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ Битрикс Π² настройках модуля Push & Pull). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… вСрсиях.

БообщСство

  1. Если Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ вопросы: вступайтС Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ: https://t.me/bitrixdevops.
  2. Если Π’Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρƒ Вас Π΅ΡΡ‚ΡŒ замСчания ΠΈΠ»ΠΈ прСдлоТСния ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ, ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΠΈΠΊΠ΅Ρ‚ сюда: https://gitlab.com/bitrix-docker/server/-/issues.

ДороТная ΠΊΠ°Ρ€Ρ‚Π°

Π’ ΠΏΠ»Π°Π½Π°Ρ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • АктивноС тСстированиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ.
  • CI/CD для дСплоя Π½Π° Π±ΠΎΠΉ ΠΈ Π½Π° тСстовыС ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ.
  • Автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, созданиС сайта).
  • АвтоматичСскоС Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ для тСстовых ΠΈ Π±ΠΎΠ΅Π²ΠΎΠ³ΠΎ сСрвСров.
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ своих SSL-сСртификатов.
  • FTP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ сайтов.
  • ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнтарий для соврСмСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Битрикс, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ качСство ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:
    • ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запросов.
    • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для сбора, хранСния, поиска Π»ΠΎΠ³ΠΎΠ².
    • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для сбора ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок.
    • ΠŸΠΎΠ»ΡƒΠ°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ REST API (Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ OpenAPI / Swagger).
    • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с сСрвСрами ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (RabbitMQ, Kafka).
  • ЭкспСримСнты с Kubernetes, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ кластСров.

Установка Docker

Ubuntu

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация: https://docs.docker.com/engine/install/ubuntu/

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, рСкомСндуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

apt install git nano htop apache2-utils

MacOS

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация: https://docs.docker.com/desktop/install/mac-install/.

Достаточно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°ΡˆΠ΅ΠΌΡƒ процСссору дистрибутив ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ установку.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

  1. Π‘ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠ°ΠΏΠΊΡƒ /srv/bitrix-server/:
    mkdir -p /srv/bitrix-server/ && cd /srv/bitrix-se
    8000
    rver/ && git clone git@gitlab.com:bitrix-docker/server.git .
  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .env.example Π² Ρ„Π°ΠΉΠ» .env - это Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ настройки.
    cp .env.example .env && nano .env
    Π’ частности:
    • COMPOSE_FILE - Ссли ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΈΠ· сСрвисов Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π² этом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅.
    • MAIN_HOST - для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Для сСрвСра ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя основного Π΄ΠΎΠΌΠ΅Π½Π° (Π½Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ систСмныС сСрвисы).
    • MYSQL_ROOT_PASSWORD - для сСрвСра ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слоТный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ
    • TRAEFIK_CERTIFICATESRESOLVERS_LETSENCRYPT_ACME_EMAIL - ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ адрСс ΠΏΠΎΡ‡Ρ‚Ρ‹ для создания SSL-сСртификатов LetsEncrypt (ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ увСдомлСния ΠΎ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠΈ сСртификата)
    • TRAEFIK_BASIC_AUTH_USERS - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для закрытия Traefik (прокси-сСрвСр)
    • TRAEFIK_SSL_MIDDLEWARES - для сСрвСра Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°: basic-auth,redirect-to-non-www@file
    • TRAEFIK_MIDDLEWARES - для сСрвСра Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°: basic-auth,redirect-to-non-www@file,redirect-to-https@file
  3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» data/traefik/letsencrypt/acme.json (для хранСния Π΄Π°Π½Π½Ρ‹Ρ… сСртификатов LetsEncrypt).
    echo "{}" > data/traefik/letsencrypt/acme.json && chmod 600 data/traefik/letsencrypt/acme.json
  4. ЗапускаСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹:
    docker compose up -d
    Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΎΠ±Ρ‰ΠΈΠ΅ сСрвисы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСй систСмы.
  5. Для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» hosts Π½Π° локальной машинС:
    sudo nano /etc/hosts
    НуТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ рСсурсы:
    # bitrix-docker local
    127.0.0.1 bitrix.local
    127.0.0.1 traefik.bitrix.local
    127.0.0.1 adminer.bitrix.local
    127.0.0.1 mailhog.bitrix.local
    
    А Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ сразу Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹ сайтов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ прСдстоит Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
  6. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ сайт (см. Π½ΠΈΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» руководства).
  7. Π’ Ubuntu ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ошибка с доступами ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π‘Π”. Для Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:
    1. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ data/mysql
    2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
    sudo chown 999:999 .

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ сайта

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ bitrix-distr Π² ΠΏΠ°ΠΏΠΊΡƒ sites ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² соотвСтствии с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ адрСсом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: test.example.com:
    cp -r bitrix-distr/ sites/test.example.com
  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ сайта Ρ„Π°ΠΉΠ» .env.local.example Π»ΠΈΠ±ΠΎ .env.server.example Π² .env ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ настройки сайта.
  3. Для локального ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» hosts Π½Π° машинС, добавляСм Ρ‚ΡƒΠ΄Π° запись с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ сайта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, test.example.local), Ссли Π½Π΅ сдСлали это Ρ€Π°Π½Π΅Π΅. На linux-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… для этого выполняСм:
    sudo nano /etc/hosts
  4. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π° Π² Ρ„Π°ΠΉΠ» hosts (Π·Π°ΠΌΠ΅Π½ΠΈΠ² test.example.local Π½Π° имя своСго локального Π΄ΠΎΠΌΠ΅Π½Π°):
    # bitrix-docker local
    127.0.0.1 test.example.local www.test.example.local
    
  5. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² консоли Π² ΠΏΠ°ΠΏΠΊΡƒ сайта ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвисы:
    docker compose up -d
  6. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΎΠΌΠ΅Π½ (test.example.local Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π²Ρ‹ΡˆΠ΅) Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ устанавливаСм сайт Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ мастСр установки сайта Битрикс.
  7. На этапС создания Π‘Π” вписываСм имя Π‘Π” для сайта, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ Π² основном .env-Ρ„Π°ΠΉΠ»Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ MYSQL_ROOT_PASSWORD. Для использования Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи MySQL Ρ‡ΠΈΡ‚Π°Π΅ΠΌ руководство Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ MySQL

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ root ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΎΠ±Ρ‰Π΅ΠΌ .env-Ρ„Π°ΠΉΠ»Π΅ сСрвСра. Для смСны ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи MySQL для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сайта:

  1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ /bitrix/php_interface/dbconn.php ΠΈ /bitrix/.settings.php. Π‘Π΅Ρ€Π΅ΠΌ ΠΈΠ· Π½ΠΈΡ… имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  2. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ MySQL-консоль Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ Битрикс (/bitrix/admin/sql.php).
  3. ВыполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ запросы, Π·Π°ΠΌΠ΅Π½ΠΈΠ² username, password ΠΈ dbname Π½Π° свои значСния Π»ΠΎΠ³ΠΈΠ½Π°, пароля ΠΈ имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… соотвСтствСнно:
    CREATE USER username IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON dbname.* TO 'username';
    FLUSH PRIVILEGES;
  4. Π’ Ρ„Π°ΠΉΠ»Π°Ρ… /bitrix/php_interface/dbconn.php ΠΈ /bitrix/.settings.php прописываСм Π½ΠΎΠ²Ρ‹Π΅ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

ВСрсия php

РСдактируСтся Π² Ρ„Π°ΠΉΠ»Π΅ .env сайта.

Настройка Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΠ²

Настройка Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΠ²

Настройка Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ PROJECT_SSL_MIDDLEWARES ΠΈ PROJECT_MIDDLEWARES Ρ„Π°ΠΉΠ»Π° .env сайта. Π’ систСмС прСднастроСны Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΠ² для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ использования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:

  • http -> https
  • www -> Π±Π΅Π· www
  • Π±Π΅Π· www -> www

Аналогично для ΠΎΠ±Ρ‰ΠΈΡ… сСрвисов (traefik, adminer, mailhog) Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ .env ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… TRAEFIK_SSL_MIDDLEWARES ΠΈ TRAEFIK_MIDDLEWARES.

Memcached

Для настройки Memcached Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. Π’ ΠΏΠ°ΠΏΠΊΠ΅ сайта Π² Ρ„Π°ΠΉΠ»Π΅ dbconn.php Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ объявлСниС констант:
    # sites/Π΄ΠΎΠΌΠ΅Π½.сайта/php_interface/dbconn.php
    
    define("BX_CACHE_TYPE", "memcache");
    define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
    define("BX_MEMCACHE_HOST", "memcached");
    define("BX_MEMCACHE_PORT", "11211");
  2. Π’ Ρ„Π°ΠΉΠ»Π΅ .settings_extra.php (Ссли Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ):
    <?php
    # sites/Π΄ΠΎΠΌΠ΅Π½.сайта/bitrix/.settings_extra.php
    
    return array(
     'cache' => array(
       'value' => array(
         'type' => 'memcache',
         'memcache' => array(
           'host' => 'memcached',
           'port' => '11211',
         ),
         'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
       ),
     ),
    );
    ?>
    Π›ΠΈΠ±ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ .settings.php ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ / ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π» cache.

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΡ‚ΠΎΠ²ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ статичный sid, Π±Π΅Π· $_SERVER["DOCUMENT_ROOT"]. Π˜Π½Π°Ρ‡Π΅ для Π΄Π²ΡƒΡ… сайтов кСш Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ-ΠΊΠ°ΠΊ ΠΏΠ°ΠΏΠΊΠΈ сайтов Ρ€Π°Π·Π½Ρ‹Π΅.

ДокумСнтация Битрикс:

  1. https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=9421
  2. https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2795#cache

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ memcached ΠΈ memcache для php - это Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ memcache.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сайта ΠΈΠ· Π±Π΅ΠΊΠ°ΠΏΠ° Битрикс

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс разархивирования Π±Π΅ΠΊΠ°ΠΏΠ° Π½Π° MacOS.

  1. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π±Π΅ΠΊΠ°ΠΏ Π² ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΏΠ°ΠΏΠΊΠΈ www сайта
  2. Для разархивирования Π±Π΅ΠΊΠ°ΠΏΠ° ΠΏΡ€ΠΎΡ‰Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ€Π°ΡΠΏΠ°ΠΊΡƒΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ скриптом restore.php:
    cat *.tar.* | tar xzpvf -
  3. На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сайтах этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ срабатываСт ΠΈ заканчиваСтся ошибкой, Ρ‚ΠΎΠ³Π΄Π° запускаСм распаковку Π°Ρ€Ρ…ΠΈΠ²Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ restore.php.
  4. ПослС распаковки Π°Ρ€Ρ…ΠΈΠ²Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ restore.php. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ:
    1. Π‘Π΅Ρ€Π²Π΅Ρ€ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…: db
    2. Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: root
    3. ΠŸΠ°Ρ€ΠΎΠ»ΡŒ: test (указываСтся Π² Ρ„Π°ΠΉΠ»Π΅ .env Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ MYSQL_ROOT_PASSWORD)
    4. Имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… - ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ спСцсимволы ΠΈ Π·Π½Π°ΠΊΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: examplecom

Настройка Cron

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π³Π΅Π½Ρ‚ΠΎΠ² Π½Π° cron

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ инструкции (https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&LESSON_ID=5507), Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

  1. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² php-консоли:
    COption::SetOptionString("main", "agents_use_crontab", "N");
    echo COption::GetOptionString("main", "agents_use_crontab", "N");
    
    COption::SetOptionString("main", "check_agents", "N");
    echo COption::GetOptionString("main", "check_agents", "Y");
    
    COption::SetOptionString("main", "mail_event_bulk", "20"); 
    echo COption::GetOptionString("main", "mail_event_bulk", "5");
  2. Π£Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° dbconn.php ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… констант:
    # sites/Π΄ΠΎΠΌΠ΅Π½.сайта/bitrix/php_interface/dbconn.php
    
    define("BX_CRONTAB_SUPPORT", true);
    define("BX_CRONTAB", true);
    И добавляСм:
    # sites/Π΄ΠΎΠΌΠ΅Π½.сайта/bitrix/php_interface/dbconn.php
    
    if(!(defined("CHK_EVENT") && CHK_EVENT===true))
    define("BX_CRONTAB_SUPPORT", true);

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ шаги ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ»ΡƒΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… инструкций Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ - ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈ настраиваСтся автоматичСски.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ своих cron-Π·Π°Π΄Π°Π½ΠΈΠΉ

Π”Π΅Π»Π°Ρ‚ΡŒ это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ слСдуСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Битрикс ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π³Π΅Π½Ρ‚ΠΎΠ².

Для настройки cron-Π·Π°Π΄Π°Π½ΠΈΠΉ сайта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» /crontab/root, располоТСнный Π² ΠΏΠ°ΠΏΠΊΠ΅ сайта.

Настройка Sphinx

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» config/sphinx/example.conf Π² ΠΏΠ°ΠΏΠΊΡƒ config/sphinx/sites, имя Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π² соотвСтствии с Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ сайта, с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° дСфисы. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ .conf.
  2. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ индСкса (пСрвая строка) Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° имя Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π· спСцсимволов.
  3. Π‘Ρ‚Ρ€ΠΎΠΊΡƒ example-ru Π² Π΄Π²ΡƒΡ… мСстах Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° имя Π΄ΠΎΠΌΠ΅Π½Π° с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° дСфисы.
  4. Π’ ΠΏΠ°ΠΏΠΊΠ΅ data/sphinx/synonyms ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ data/sphinx/synonyms/example.txt.
  5. ΠŸΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ссли Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½.
  6. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² настройки модуля поиска Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ (/bitrix/admin/settings.php?lang=ru&mid=search). На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "ΠœΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡ" ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ:
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡŽ: Π”Π°.
    • ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ: Sphinx.
    • Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для управлСния индСксом (ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MySql): sphinx:9306.
    • Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ индСкса: ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π½ΠΎ Π² ΠΏ.2.
  7. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ поиска (/bitrix/admin/search_reindex.php).

Xdebug

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½.

Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Xdebug Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ сайта /config/php-fpm/xdebug.ini Π² /config/php-fpm/xdebug.ini.disabled Π»ΠΈΠ±ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ» / староС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

Настройка ΠΏΠΎΡ‡Ρ‚Ρ‹

Из ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ:

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: mailhog ΠΈ msmtp Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² настройки sedmail_path Π² phpinfo.

Настройка mailhog

Для локального тСстирования ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сообщСний ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ mailhog. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ доступСн ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎ адрСсу: mailhog.bitrix.local.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½.

Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ mailhog ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ сайта /config/php-fpm/mailhog.ini Π² /config/php-fpm/mailhog.ini.disabled Π»ΠΈΠ±ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ» / староС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈ, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ msmtp, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Настройка msmtp

  1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ mailhog.
  2. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ сайта /config/php-fpm/msmtp.ini.disabled Π² /config/php-fpm/msmtp.ini.
  3. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» config/msmtp/msmtprc.example Π² config/msmtp/msmtprc ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, создав ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй.
  4. Π’ ΠΏΠ°ΠΏΠΊΠ΅ сайта Π² Ρ„Π°ΠΉΠ»Π°Ρ… /crontab/root ΠΈ /config/php-fpm/msmtp.ini вмСсто default ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись msmtp для сайта.

Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ msmtp, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ /config/php-fpm/msmtp.ini Π² /config/php-fpm/msmtp.ini.disabled ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

ΠœΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΡ‚ΠΎΠ²Π°Ρ конфигурация

  1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈ настраиваСм ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ сайта Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ руководству Π²Ρ‹ΡˆΠ΅. Но Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ. ЀактичСски Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ bitrix, upload, images ΠΈΠ· основного сайта Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. Π’ΠΎ всСх инструкциях Π½ΠΈΠΆΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ main.ru Π½Π° ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ основной сайт (ядро Битрикс).
  2. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» docker-compose.yml сайта (Π½Π΅ основного, Π³Π΄Π΅ располоТСно ядро).
    1. ДобавляСм Π² сСкции volumes ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
      # sites/Π΄ΠΎΠΌΠ΅Π½.сайта/docker-compose.yml
      
      services:
        nginx:
          # .....
          volumes:
            # .....
            - &bitrix-volume ./../main.ru/www/bitrix:/var/main.ru/bitrix:cached
            - &upload-volume ./../main.ru/www/upload:/var/main.ru/upload:cached
            - &images-volume ./../main.ru/www/images:/var/main.ru/images:cached
        
        php-fpm:
          # .....
          volumes:
            # .....
            - *bitrix-volume
            - *upload-volume
            - *images-volume
    2. Π‘Π΅ΠΊΡ†ΠΈΡŽ cron Π²ΠΎΠΎΠ±Ρ‰Π΅ удаляСм ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ, ΠΈΠ½Π°Ρ‡Π΅ cron-задания Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹.
  3. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ симлинки Π²Π½ΡƒΡ‚Ρ€ΠΈ php-fpm ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:
    # Π·Π°ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
    docker compose exec php-fpm sh
    # Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ симлинки
    ln -s /var/main.ru/bitrix/ /var/www/www/bitrix \
    && ln -s /var/main.ru/upload/ /var/www/www/upload \
    && ln -s /var/main.ru/images/ /var/www/www/images
  4. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΈ Π½Π° хост-машинС (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ IDE Π²ΠΈΠ΄Π΅Π»Π° Ρ„Π°ΠΉΠ»Ρ‹ ядра), ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ симлинк:
    # /srv/bitrix-server - ΠΏΠ°ΠΏΠΊΠ° с установлСнным сСрвСром ΠΈΠ· этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
    ln -s /srv/bitrix-server/sites/main.ru/www /var/main.ru

    Π’ MacOS послСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ sudo.

Часовой пояс

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ стоит UTC. Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π² .env сайта мСняСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PHP_TIMEZONE ΠΈ SERVER_TIMEZONE, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

SERVER_TIMEZONE=Europe/Moscow
PHP_TIMEZONE=Europe/Moscow

А Π² ΠΎΠ±Ρ‰Π΅ΠΌ .env сСрвСра ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ:

SERVER_TIMEZONE=Europe/Moscow

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ доступных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ ссылкС: https://www.php.net/manual/en/timezones.php.

Π’Π°ΠΆΠ½ΠΎ! SERVER_TIMEZONE Π²ΠΎ всСх env-Ρ„Π°ΠΉΠ»Π°Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ трСбуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ PHP_TIMEZONE ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ SERVER_TIMEZONE (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π½ΠΎΠ΅ врСмя Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сайтах):

  1. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² /bitrix/php_interface/after_connect_d7.php:
    $connection = Bitrix\Main\Application::getConnection();
    $connection->queryExecute("SET LOCAL time_zone='".date('P')."'");
  2. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² /bitrix/php_interface/after_connect.php:
    $DB->Query("SET LOCAL time_zone='".date('P')."'");

Установка ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ сСрвСра (ΠΎΠ±Ρ‰ΠΈΠ΅ сСрвисы) ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ сайта:

docker compose pull \
&& docker compose up --force-recreate --remove-orphans --build -d \
&& docker image prune -f

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

НС запускаСтся MySQL

Ошибка: mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)

  1. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ data/mysql
  2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
    sudo chown 999:999 .

Ошибка послС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра

Иногда послС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ MySQL Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ data/mysql ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ mysql.sock ΠΈ mysql.sock.lock.

Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ сайт с mbstring.func_overload = 2

Если Π½ΡƒΠΆΠ½ΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сайта ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ настройки mbstring (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, старая установка Битрикс), Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ config/php-fpm сайта Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, mbstring.ini со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

[mbstring]
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 2

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ настройки php для сайта.

Ошибка Π½Π° запись Ρ„Π°ΠΉΠ»ΠΎΠ² Π² php-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅:

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ сайта sites/... ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

# Π·Π°ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
docker compose exec php-fpm sh
# Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡƒ /var/www
chown -R www-data:www-data /var/www
chown -R www-data:www-data /var/log

# Π·Π°ΠΉΡ‚ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ cron
docker compose exec cron sh
# Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡƒ /var/www
chown -R www-data:www-data /var/www
chown -R www-data:www-data /var/log

Ошибка ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Rest API: Https required

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ сСрвиса Π² случаС Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ выглядит Ρ‚Π°ΠΊ:

{
    "error": "INVALID_REQUEST",
    "error_description": "Https required."
}

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ константы REST_APAUTH_ALLOW_HTTP Π² dbconn.php:

# sites/Π΄ΠΎΠΌΠ΅Π½.сайта/bitrix/php_interface/dbconn.php

define('REST_APAUTH_ALLOW_HTTP', true);

Π”Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ (Ссли настроСн https ΠΏΠΎ инструкции Π²Ρ‹ΡˆΠ΅). Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π΅Ρ‚ смысла ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ https, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запрос. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ прокси-сСрвСр "общаСтся" с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ php-fpm ΠΏΠΎ 80 ΠΏΠΎΡ€Ρ‚Ρƒ.

ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚Π΅ 6C49 стов Битрикс

Ошибка Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сокСтами ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ тСста Битрикс ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ систСмы Π½Π° сСрвСрС с SSL

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» docker-compose.yml сайта. НуТно Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 2 строки, extra_hosts ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° Π½Π΅ΠΉ:

# sites/Π΄ΠΎΠΌΠ΅Π½.сайта/docker-compose.yml

services:
  php-fpm:
    # .....
    extra_hosts:
    - "${PROJECT_HOST}:127.0.0.1" # вмСсто 127.0.0.1 ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ внСшний IP-адрСс вашСго сСрвСра

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ тСст "Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ (функция LocalRedirect)"

ΠŸΡ€ΠΈ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСста ΠΏΡ€ΠΈ настроСнном https Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² dbconn.php Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

# sites/Π΄ΠΎΠΌΠ΅Π½.сайта/bitrix/php_interface/dbconn.php

$_SERVER['HTTPS'] = 'on';

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0