change readme & nginx host
This commit is contained in:
@@ -17,20 +17,17 @@
|
|||||||
## Инициализация проекта
|
## Инициализация проекта
|
||||||
1. Создайте директорию для вашего проекта и перейдите в неё.
|
1. Создайте директорию для вашего проекта и перейдите в неё.
|
||||||
|
|
||||||
2. Склонируйте репозиторий в текущую директорию (обратите внимание на точку в конце команды):
|
2. Скачайте и распакуйте архив с репозиторием
|
||||||
```bash
|
```bash
|
||||||
git clone git@gitlab.vniigaz.local:internal-automation/isup/bitrix-docker.git .
|
https://g.it4gaz.ru/internal-automation/b24-docker
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Склонируйте подмодули проекта
|
3. Запустите docker
|
||||||
Выполните в корне проекта:
|
|
||||||
```bash
|
|
||||||
git submodule update --init --recursive
|
|
||||||
```
|
|
||||||
|
|
||||||
4. В [www](data/www) Необходимо добавить исключенные из репозитория, проекта ИСУП, папки:
|
4. В [www](data/www) Необходимо добавить папки:
|
||||||
- `/bitrix`
|
- `вся публичная часть` - берем из репозитория с публичкой
|
||||||
- `/upload`
|
- `/bitrix` - из копии б24
|
||||||
|
- `/upload` - из копии б24
|
||||||
|
|
||||||
Взять их можно из полной копии проекта (склеить и распаковать полный архив)
|
Взять их можно из полной копии проекта (склеить и распаковать полный архив)
|
||||||
```bash
|
```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`.
|
Если порты заняты, можно указать другие в `docker-compose.yml`.
|
||||||
|
|
||||||
Для доступа к сайту по удобному адресу (например, http://b24.vniigaz.gazprom.local) без указания порта, нужно перенаправить трафик с 80-го порта на порт 8588.
|
|
||||||
|
|
||||||
Ниже описаны два способа **для macOS**.
|
|
||||||
|
|
||||||
Так как на `macOS` системный `80` порт часто занят или защищен, можно:
|
|
||||||
- использовать PF (Packet Filter) — встроенный в macOS фаервол, который перенаправит трафик.
|
|
||||||
- настроить прокси для локального Apache (рекомендованный способ)
|
|
||||||
|
|
||||||
### Предварительная настройка (общая для обоих способов)
|
### Предварительная настройка (общая для обоих способов)
|
||||||
Как открывать сайт:
|
Как открывать сайт:
|
||||||
1) через `127.0.0.1:8588`
|
1) через `127.0.0.1:8560`
|
||||||
2) `b24.vniigaz.gazprom.local:8588`
|
2) `b24.local:8560`
|
||||||
3) `b24.vniigaz.gazprom.local` - без порта — см. ниже
|
|
||||||
|
|
||||||
1. Добавьте запись в файл `/etc/hosts`. Это свяжет доменное имя с локальным компьютером.
|
1. Добавьте запись в файл `/etc/hosts`. Это свяжет доменное имя с локальным компьютером.
|
||||||
```bash
|
```bash
|
||||||
@@ -163,7 +99,7 @@ sudo nano /etc/hosts
|
|||||||
```
|
```
|
||||||
Добавьте строку:
|
Добавьте строку:
|
||||||
```text
|
```text
|
||||||
127.0.0.1 b24.vniigaz.gazprom.local
|
127.0.0.1 b24.local
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **(Опционально)** Создайте тестовый файл.
|
2. **(Опционально)** Создайте тестовый файл.
|
||||||
@@ -173,82 +109,7 @@ sudo nano /etc/hosts
|
|||||||
phpinfo();
|
phpinfo();
|
||||||
```
|
```
|
||||||
|
|
||||||
### Способ 1: Перенаправление портов через PF (Packet Filter)
|
3. Если настраиваете другой хост, поменяйте его в [confs/nginx/conf.d/default.conf](confs/nginx/conf.d/default.conf)
|
||||||
Этот способ использует встроенный в 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
|
|
||||||
<VirtualHost *:80>
|
|
||||||
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"
|
|
||||||
</VirtualHost>
|
|
||||||
```
|
|
||||||
|
|
||||||
**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.
|
|
||||||
|
|
||||||
## Настройка Xdebug
|
## Настройка Xdebug
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
server_name b24pal.local;
|
server_name b24.local;
|
||||||
|
|
||||||
real_ip_header X-Real-IP;
|
real_ip_header X-Real-IP;
|
||||||
###set_real_ip_from %REAL_IP_FROM%;
|
###set_real_ip_from %REAL_IP_FROM%;
|
||||||
|
|||||||
Reference in New Issue
Block a user