Перейти к основному контенту

Установка ПО на сервер црм


Этапы разворота црм:

  1. Заходим на сервер при помощи ssh
    ssh root@server_ip

  2. Переходим к этапу создания нужного нам пользователя (можно пропустить, если имеется уже подходящий пользователь)

    1.  adduser ansible (Вписываем команду создания пользователя)

    2.  Далее заполняем данные, которые спрашивает с нас консоль:

    3. Пользователь создан, нужно дать ему необходимые права.
      usermod -aG sudo ansible

    4. Проверяем результат, должен быть примерно таким:

  3. Приступим к следующему этапу (скачивание гит проекта). 

    1. Перейдите в удобное местоположение на СВОЁМ компьютере, с которого будете производить удаленную настройку сервера.
      Для меня это: cd ~/uploadCrm/


  1. Проект уже скачан и находится у нас! Теперь приступим к его настройке под нас. 

    1. Начнем с переменных, перейдем в папку, которая содержит переменные нашего будущего проекта. (В дальнейшем будут появляться новые переменные)
      cd ansible_crm/environments/

    2. Начнем с самых простых переменных, переменных ansible, которые требуются для работы playbook.
      nano env_ansible.yml

      1. Переменные в этом файле делятся на 2 категории: Те, которые используются в сценарии плэйбука и те, которые содержат название нужных пакетов для работы сценария плэйбука на сервере. Опишем те, которые нужно изменить:

      2.  USER  - имя пользователе на сервере, который будет использоваться нашим сценарием playbook.
        (В нашем случае это ansible)

      3.  type_connect - команда с помощью которой мы будем менять подключение от обычного пользователя ansible к пользователю root. (Обычно используется sudo или su)

    3. Перейдем к глобальным переменным, доступным из всего проекта и опишем их.
      nano env_global.yml

      1. TZ - часовой пояс, который актуален для сервера.
        В нашем случае "Europe/Moscow"

      2.  ADRESS_CRM - доменное имя, которое будет вести на нашу CRM.  (На том же сервере что и TD)

      3. ADRESS_TD - доменное имя, которое будет вести на нашу TD.

      4. IP_LOCAL - локальный (серый) адрес нашего сервера. 

      5. IP_GLOBAL - глобальный (белый) адрес нашего сервера. 

      6. TOK - уникальное значение, нужное для формирование уникальный токенов.
        TOK должен быть в скобках “ ‘ ‘ “, их удалять не нужно. 

      7. SIP_SERVER_DOMAIN - доменное имя, которое будет вести на наш SIP сервер. (отделен от CRM и TD)

      8.  SIP_SERVER_PORT - порт SIP сервера, на неизменяемое значение. 

      9.  SIP_SERVER_USER_PORT - также порт SIP сервера, неизменяемое значение.

      10.  SIP_SERVER_PROTO - тип соединения с SIP серверов, неизменяемое значение. 

    4. Перейдем к переменным, которые требуются для баз данных mysql:
      nano env_mysql.yml

      1. PASS - пароль администратора для входа на сайт по логину admin

      2. PASS_HASH - захешированный выше пароль, можно сделать с помощью https://bcrypt-generator.com/
        HASH должен быть в скобках “ ‘ ‘ “, их удалять не нужно. 

      3. BUYER_ID - id номер покупателя, его стоит уточнить у сотрудников техподдержки Интерсвязь

      4. NAME_COMPANY - имя компании.

      1. Начнем с переменных, перейдем в папку, которая содержит переменные нашего будущего проекта. (В дальнейшем будут появляться новые переменные)
        cd ansible_crm/environments/

      2. Начнем с самых простых переменных, переменных ansible, которые требуются для работы playbook.
        nano env_ansible.yml

      3. Перейдем к глобальным переменным, доступным из всего проекта и опишем их.
        nano env_global.yml

      4. Перейдем к переменным, которые требуются для баз данных mysql:
        nano env_mysql.yml

    5. Теперь займемся переменными. У Вас должен быть собственный файл с сертификатами на выбранные Вами доменные имена, которые нужно поместить в папку 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

    1. С переменными закончили! Теперь можно запускать сценарий. (На компьютере, где запускается сценарий должен быть установлен ansible (версия > 2.9.19 )).

      1. Начнем с команды установки нужных для работы плэйбука параметров:
        ansible-playbook install.yml -i hosts.yml -kK 

    Если появилась неполадка, то попробуйте повторный запуск.

    1. Если завершилось без неполадок, то запускаем команду по настройке установленных конфигураций:

    ansible-playbook permission.yml -i hosts.yml -kK

    1. После окончания выполнения команды дайте ~ 8 минут контейнерам произвести начальную настройку. Далее команда, которая будет заниматься вставкой нужных данных в бд:
      ansible-playbook datainput.yml -i hosts.yml -kK

    1. После этого проверьте работу Вашего сайта  зайдя в браузере по доменному имени через несколько минут. 

    2. Проверить что все миграции выполнены

    в контейнере 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 )