From 82e87c4704ca09f2287267f8b5971c56e3caa8c9 Mon Sep 17 00:00:00 2001 From: Bitrix Developer Date: Wed, 20 May 2026 15:34:10 +0300 Subject: [PATCH] change readme & nginx host --- README.md | 163 +++----------------------------- confs/nginx/conf.d/default.conf | 2 +- 2 files changed, 13 insertions(+), 152 deletions(-) diff --git a/README.md b/README.md index 63f7901..a33883c 100644 --- a/README.md +++ b/README.md @@ -17,20 +17,17 @@ ## Инициализация проекта 1. Создайте директорию для вашего проекта и перейдите в неё. -2. Склонируйте репозиторий в текущую директорию (обратите внимание на точку в конце команды): +2. Скачайте и распакуйте архив с репозиторием ```bash -git clone git@gitlab.vniigaz.local:internal-automation/isup/bitrix-docker.git . +https://g.it4gaz.ru/internal-automation/b24-docker ``` -3. Склонируйте подмодули проекта -Выполните в корне проекта: -```bash -git submodule update --init --recursive -``` +3. Запустите docker -4. В [www](data/www) Необходимо добавить исключенные из репозитория, проекта ИСУП, папки: -- `/bitrix` -- `/upload` +4. В [www](data/www) Необходимо добавить папки: +- `вся публичная часть` - берем из репозитория с публичкой +- `/bitrix` - из копии б24 +- `/upload` - из копии б24 Взять их можно из полной копии проекта (склеить и распаковать полный архив) ```bash @@ -43,58 +40,6 @@ cat *$(ls -v *tar.gz*) | tar xzf - Далее перенести необходимые директории -5. Импортируем БД -> Импорт БД должен происходить после запуска контейнеров. - -При создании полной копии проекта, средствами резервного копирования Битрикс и после переноса папки `bitrix` в [www](data/www) в `/bitrix/backup` будет находиться копия БД (2 файла). - -Необходимо скопировать SQL-файлы в контейнер mysql: - -```bash -# Создаем папку, которая не является tmpfs -docker exec dev_mysql mkdir /import -# основная БД, например b24pal.local_20260304_231417_full_2dk2oay35dm6fu8r.sql -# Формат: docker cp /путь/к/файлу.sql <имя_контейнера>:/import/файл.sql -docker cp ./data/www/bitrix/backup/{имя файла}.sql dev_mysql:/import/{имя файла}.sql - -# БД after_connect, например b24pal.local_20260304_231417_full_2dk2oay35dm6fu8r_after_connect.sql -docker cp ./data/www/bitrix/backup/{имя файла}_after_connect.sql dev_mysql:/import/{имя файла}_after_connect.sql -``` - -Зайдите в контейнер и подключитесь к MySQL. - -```bash -docker exec -it dev_mysql bash -``` - -Внутри контейнера выполните: -```bash -mysql -u root -p -``` - -Введите пароль root, пароль указан в файле `.env_sql` - -Создайте базу данных (если её нет). В командной строке MySQL выполните: - -```bash -# укажите любое имя БД, например b24local -CREATE DATABASE IF NOT EXISTS b24local; -# переключаемся на созданную БД, проверяем что выбор работает -USE b24local; -# Выходим из консоли mysql -exit; -``` - -**Загрузите дамп.** Не выходя из контейнера, выполните команду загрузки. -```bash -# укажите имя БД и имя загруженной копии БД -mysql -u root -p имя_вашей_базы < /tmp/{имя файла копии}.sql -# укажите имя БД и имя загруженной копии after_connect.sql -mysql -u root -p имя_вашей_базы < /tmp/{имя файла копии}.sql -``` - -Система снова запросит пароль root - ## Настройка среды разработки Настройки вносятся **до первого запуска контейнеров** @@ -139,23 +84,14 @@ date.timezone = Europe/Moscow После выполнения этих шагов можно переходить к запуску контейнеров. ## Настройка доступа к сайту -Для macOS. По умолчанию сайт использует порты **8588 (HTTP)** и **8589 (HTTPS)**. Эти настройки указаны в файле `docker-compose.yml`. +Для macOS. Сайт использует порты **8560 (HTTP)** и **8561 (HTTPS)**. Эти настройки указаны в файле `docker-compose.yml`. Если порты заняты, можно указать другие в `docker-compose.yml`. -Для доступа к сайту по удобному адресу (например, http://b24.vniigaz.gazprom.local) без указания порта, нужно перенаправить трафик с 80-го порта на порт 8588. - -Ниже описаны два способа **для macOS**. - -Так как на `macOS` системный `80` порт часто занят или защищен, можно: -- использовать PF (Packet Filter) — встроенный в macOS фаервол, который перенаправит трафик. -- настроить прокси для локального Apache (рекомендованный способ) - ### Предварительная настройка (общая для обоих способов) Как открывать сайт: -1) через `127.0.0.1:8588` -2) `b24.vniigaz.gazprom.local:8588` -3) `b24.vniigaz.gazprom.local` - без порта — см. ниже +1) через `127.0.0.1:8560` +2) `b24.local:8560` 1. Добавьте запись в файл `/etc/hosts`. Это свяжет доменное имя с локальным компьютером. ```bash @@ -163,7 +99,7 @@ sudo nano /etc/hosts ``` Добавьте строку: ```text -127.0.0.1 b24.vniigaz.gazprom.local +127.0.0.1 b24.local ``` 2. **(Опционально)** Создайте тестовый файл. @@ -173,82 +109,7 @@ sudo nano /etc/hosts phpinfo(); ``` -### Способ 1: Перенаправление портов через PF (Packet Filter) -Этот способ использует встроенный в macOS файервол для перенаправления трафика. - -1. Создайте файл конфигурации для PF: -```bash -sudo nano /etc/pf.anchors/bitrix-dev -``` - -2. Вставьте следующее правило. Оно перенаправит входящие запросы на 80-й порт на порт 8588 Docker-контейнера: -```bash -rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8588 -# Для HTTPS (порт 443) раскомментируйте следующую строку, если настроите SSL: -#rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 8589 -``` - -Сохраните файл. - -3. Загрузите новое правило. Эта команда включает PF с вашим правилом. -```bash -sudo pfctl -ef /etc/pf.conf -sudo pfctl -f /etc/pf.anchors/bitrix-dev -``` -После этого сайт должен открываться по адресу http://b24.vniigaz.gazprom.local. - -### Способ 2: Проксирование через локальный Apache - рекомендуется -Этот способ подойдет, если у вас уже запущен встроенный веб-сервер Apache и вы не хотите отключать его. - -**1. Найдите конфигурацию Apache** -Эта команда показывает полную конфигурацию, которую видит Apache, и в самом верху вывода будет путь к основному файлу `httpd.conf` -```bash -apachectl -t -D DUMP_INCLUDES -``` - -**2. Создайте конфигурационный файл для виртуального хоста.** -Создайте файл, например: `sudo nano /{путь к конфигу}/users/httpd-bitrix-vhost.conf` (путь может отличаться в зависимости от вашей системы) -Вставьте в него следующее содержимое: -```apacheconf - - ServerName b24.vniigaz.gazprom.local - - # Включаем проксирование - ProxyPreserveHost On - ProxyPass / http://127.0.0.1:8588/ - ProxyPassReverse / http://127.0.0.1:8588/ - - # Логи (опционально), они локальные - ErrorLog "/var/log/apache2/b24-error_log" - -``` - -**3. Включите модули прокси в Apache.** - -Откройте основной файл `httpd.conf` `/{путь к конфигу}/httpd.conf` (путь к которому вы узнали в шаге 1.). -Найдите и раскомментируйте (уберите символ `#` в начале) следующие строки, чтобы включить модули прокси:: -```apacheconf -LoadModule proxy_module libexec/apache2/mod_proxy.so -LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so -``` -Сохраните файл. - -**3. Подключите созданный виртуальный хост.** -В конец того же файла `httpd.conf` добавьте строку для подключения вашего конфига: - -```apacheconf -# подключаем все кастомные конфиги -Include /{путь к конфигу}/users/* -# или подключаем один файл точечно -Include /{путь к конфигу}/users/httpd-bitrix-vhost.conf -``` -Убедитесь, что путь указан верно. - -**4. Перезапустите Apache.** -```apacheconf -sudo apachectl restart -``` -Теперь сайт должен быть доступен по адресу http://b24.vniigaz.gazprom.local. +3. Если настраиваете другой хост, поменяйте его в [confs/nginx/conf.d/default.conf](confs/nginx/conf.d/default.conf) ## Настройка Xdebug diff --git a/confs/nginx/conf.d/default.conf b/confs/nginx/conf.d/default.conf index c83ec48..2f6b047 100644 --- a/confs/nginx/conf.d/default.conf +++ b/confs/nginx/conf.d/default.conf @@ -4,7 +4,7 @@ server { listen 80; listen [::]:80; - server_name b24pal.local; + server_name b24.local; real_ip_header X-Real-IP; ###set_real_ip_from %REAL_IP_FROM%;