В директории hosts
должны находиться файлы с адресами хостов (можно использовать файлы .example в качестве основы):
local_dev.ini
- какой-либо свой локальный сервер для тестовdev.ini
- dev.omskvelo.ruprod.ini
- omskvelo.ru
Основные настраиваемые переменные находятся в файле vars/vars.yml
(скорее всего ничего менять не нужно будет).
«Секретные» переменные находятся в директории secret_vars
:
dev.yml
- для local_dev и dev хостовprod.yml
- соответственно, для prod'а
В директории bin
находятся скрипты для удобства запуска, которые просто берут адреса хостов и секретные переменные из соответствующих файлов и запускают playbook:
bin/play_dev
playbook.yml
— Запуститplaybook.yml
на dev-хостеbin/play_local_dev
playbook.yml
— на local_devbin/prod_play
playbook.yml
— на проде
py2.yml
— Установить python2 на целевой машине (для ansibl'а)main.yml
— Установить/настроить основное окружение (nginx/mysql/php/etc)ipb.yml
— Зальёт исходники форума из гита в нужную директорию (нужен доступ к гиту)db_dump.yml
— Сделать дамп базыdb_import.yml
-e file=db_dump.tgz
— Залить дамп базы из файлаdb_dump.tgz
на целевую машину (не стоит запускать на проде ес-но)uploads_partial_dump.yml
— Частично скачать содержимое uploads (чтобы форум поставленный из дампа базы на свежую машину выглядел более-менее адекватно)uploads_partial_import.yml -e folder=uploads_folder
— Залить частично скачанную с помощьюuploads_partial_dump.yml
директорию uploads, из локальной директорииuploads_folder
https.iml
— Выпустить https-сертификат через let's encrypt (вsecret_vars
должна быть определена переменнаяyandex_pdd_token
)cron.yml
-e key=<key>
- настроить cron для IPB, key берётся из AdminCP → System → Settings/Advanced Configuration → Server Environment → выбрать "Use cron", скопировать ключ и подставить как параметрkey
), для прода стоит сделать.
Отступление: у ICS есть ограничение на количество инсталляций, с доменным именем разрешается только две - основная и тестовая (сейчас это omskvelo.ru и dev.omskvelo.ru соответственно). А также разрешается неограниченное количество инсталляций по адресу 127.0.0.1 - что, конечно, неудобно, т.к. тогда придется устанавливать форум, БД и т.п. непосредственно на используемую ОС. Но ограничение на использование одной тестовой инсталляции можно обойти, прописав dev.omskvelo.ru с нужным адресом локально в /etc/hosts
, именно такой вариант инсталляции описывается ниже.
-
поднимаем хост
-
прописываем его адрес в
hosts/local_dev.ini
-
(опционально) прописываем его адрес как dev.omskvelo.ru в
/etc/hosts
локально и на самом хосте (на всякий случай) -
делаем/скачиваем дамп базы:
bin/prod_play db_dump.yml
в текущей директории появится файл с названием навроде
_omskvelo.ru-db_dump-20200129T170134.sql.gz
-
делаем частичный дамп директории uploads (там есть файлы, без которых форум нормально не будет функционировать, в частности CSS):
bin/prod_play uploads_partial_dump.yml
в текущей директории появится директория с названием навроде
_omskvelo.ru-uploads_partial-20200129T182835
-
bin/play_local_dev main.yml
-
bin/play_local_dev ipb.yml
-
импортируем базу из файла, скачанного на шаге 3:
bin/play_local_dev db_import.yml -e file=db_dump.sql.gz
-
импортируем uploads из директории, скачанной на шаге 4:
bin/play_local_dev uploads_partial_import.yml -e folder=<_omskvelo.ru-uploads_partial-...>