Установка ПО
Этапы разворота црм:
-
Заходим на сервер при помощи ssh
ssh root@server_ip -
Переходим к этапу создания нужного нам пользователя (можно пропустить, если имеется уже подходящий пользователь)
-
adduser ansible (Вписываем команду создания пользователя)
-
Далее заполняем данные, которые спрашивает с нас консоль:
-
Пользователь создан, нужно дать ему необходимые права.
usermod -aG sudo ansible -
Проверяем результат, должен быть примерно таким:
-
Приступим к следующему этапу (скачивание гит проекта).
-
Перейдите в удобное местоположение на СВОЁМ компьютере, с которого будете производить удаленную настройку сервера.
Для меня это: cd ~/uploadCrm/ -
Клонируем содержимое репозитория в папку.
git clone https://gitlab+deploy-token-409190:bHkzT_K5dpTGzP1HNdm4@gitlab.com/gorkostya/ansible_crm.git
-
Проект уже скачан и находится у нас! Теперь приступим к его настройке под нас.
-
Начнем с переменных, перейдем в папку, которая содержит переменные нашего будущего проекта. (В дальнейшем будут появляться новые переменные)
cd ansible_crm/environments/ -
Начнем с самых простых переменных, переменных ansible, которые требуются для работы playbook.
nano env_ansible.yml -
Переменные в этом файле делятся на 2 категории: Те, которые используются в сценарии плэйбука и те, которые содержат название нужных пакетов для работы сценария плэйбука на сервере. Опишем те, которые нужно изменить:
-
USER - имя пользователе на сервере, который будет использоваться нашим сценарием playbook.
(В нашем случае это ansible) -
type_connect - команда с помощью которой мы будем менять подключение от обычного пользователя ansible к пользователю root. (Обычно используется sudo или su)
-
Перейдем к глобальным переменным, доступным из всего проекта и опишем их.
nano env_global.yml -
TZ - часовой пояс, который актуален для сервера.
В нашем случае "Europe/Moscow" -
ADRESS_CRM - доменное имя, которое будет вести на нашу CRM. (На том же сервере что и TD)
-
ADRESS_TD - доменное имя, которое будет вести на нашу TD.
-
IP_LOCAL - локальный (серый) адрес нашего сервера.
-
IP_GLOBAL - глобальный (белый) адрес нашего сервера.
-
TOK - уникальное значение, нужное для формирование уникальный токенов.
TOK должен быть в скобках “ ‘ ‘ “, их удалять не нужно. -
SIP_SERVER_DOMAIN - доменное имя, которое будет вести на наш SIP сервер. (отделен от CRM и TD)
-
SIP_SERVER_PORT - порт SIP сервера, на неизменяемое значение.
-
SIP_SERVER_USER_PORT - также порт SIP сервера, неизменяемое значение.
-
SIP_SERVER_PROTO - тип соединения с SIP серверов, неизменяемое значение.
-
Перейдем к переменным, которые требуются для баз данных mysql:
nano env_mysql.yml -
PASS - пароль администратора для входа на сайт по логину admin
-
PASS_HASH - захешированный выше пароль, можно сделать с помощью https://bcrypt-generator.com/
HASH должен быть в скобках “ ‘ ‘ “, их удалять не нужно. -
BUYER_ID - id номер покупателя, его стоит уточнить у сотрудников техподдержки Интерсвязь
-
NAME_COMPANY - имя компании.
-
Теперь займемся переменными. У Вас должен быть собственный файл с сертификатами на выбранные Вами доменные имена, которые нужно поместить в папку ssl, которая находится в том же проекте что и сценарии playbook. Пример:
- crm.testing-pl.is74.ru.key
- crm.testing-pl.is74.ru.pem
- td.testing-pl.is74.ru.key
- td.testing-pl.is74.ru.pem
-
С переменными закончили! Теперь можно запускать сценарий. (На компьютере, где запускается сценарий должен быть установлен ansible (версия > 2.9.19 )).
-
Начнем с команды установки нужных для работы плэйбука параметров:
ansible-playbook install.yml -i hosts.yml -kK
Если появилась неполадка, то попробуйте повторный запуск.
-
Если завершилось без неполадок, то запускаем команду по настройке установленных конфигураций:
ansible-playbook permission.yml -i hosts.yml -kK
-
После окончания выполнения команды дайте ~ 8 минут контейнерам произвести начальную настройку. Далее команда, которая будет заниматься вставкой нужных данных в бд:
ansible-playbook datainput.yml -i hosts.yml -kK
-
После этого проверьте работу Вашего сайта зайдя в браузере по доменному имени через несколько минут.
-
Проверить что все миграции выполнены
в контейнере crm выполнить:
./yii migrate
./yii migrate-td
./yii migrate-rbac
./yii migrate-td-rbac
./yii migrate-fias
./yii migrate-history
./yii migrate-ch
(Если при заливки ФИАС возникли проблемы с наличием таблиц в базе то необходимо выполнить migrate-fias/up )