Параметры install.sh и установка в терминале
Все параметры установщика, настройка без браузера, свой каталог установки и команда trackerctl.
Установщик install.sh запускается на сервере через sudo. Без параметров он готовит сервер и печатает ссылку на мастер первого запуска — этот путь описан на странице Установка. Параметры нужны, чтобы настроить трекер в терминале, выбрать другой каталог или задать IP мастера вручную.
Общие правила
- Параметры пишутся после имени файла:
sudo bash install.sh --path /opt/micator. - Параметр со значением требует значение. Иначе установщик отвечает «Нет значения для …».
- На неизвестный параметр установщик отвечает «Неизвестный параметр: …» и ничего не делает.
- Любой из параметров
--headless,--panel,--track,--email,--admin-email,--restore-envвключает установку в терминале. Мастер при этом не запускается. - При повторном запуске указывайте те же параметры, что в первый раз.
Таблица параметров
| Параметр | Значение | Что делает |
|---|---|---|
--headless | нет | Настройка в терминале вместо мастера. Домены, email и логин установщик спросит сам |
--panel | домен | Домен панели, например panel.example.com |
--track | домен | Домен трафика для ссылок кампаний и постбеков, например track.example.com. В мастере это поле Домен трекинга. Должен отличаться от домена панели |
--email | Адрес для HTTPS-сертификатов: латинские буквы, цифры, знаки _ . + - и обязательный @, до 200 символов | |
--admin-email | логин | Логин владельца. Не обязательно email: латинские буквы, цифры и знаки _ . + @ -, до 200 символов |
--path | каталог | Каталог установки вида /opt/имя. По умолчанию /opt/tracker |
--setup-ip | IPv4 | Адрес, по которому откроется мастер. По умолчанию установщик определяет его сам |
--restore-env | файл | Файл .env.production из резервной копии: новая установка получает прежние серверные ключи. См. Восстановление на новом сервере |
--verify-only | нет | Скачивает выпуск, проверяет подпись и состав, ничего не ставит. Права root не нужны. См. раздел «Проверка выпуска без установки» на странице Установка |
--update-controller | нет | Обновляет только службу установки на работающем трекере. См. Обновление службы установки (контроллера) |
--bundle | адрес или файл | Откуда взять выпуск: адрес https://… или файл на сервере. По умолчанию — адрес, записанный в install.sh |
--signature | адрес или файл | Подпись выпуска. По умолчанию — адрес или имя файла выпуска с окончанием .sig |
--public-key | файл | Открытый ключ для проверки подписи. По умолчанию — ключ, записанный в install.sh. С --update-controller не используется: подпись проверяется ключом, закреплённым за установкой |
--help, -h | нет | Печатает краткую справку по параметрам |
Домены указываются без https://, порта и пути, международные имена — в punycode. По сети выпуск загружается только по HTTPS: на другой протокол установщик отвечает «Загрузка разрешена только по HTTPS.»
Установка в терминале
Понадобятся сервер и два домена, как для обычной установки, — см. Требования к серверу и подготовка. DNS-записи обоих доменов должны вести на IP сервера до запуска.
- Скачайте установщик первой командой.
- Запустите его с параметром
--headlessвторой командой. - Ответьте на четыре вопроса: Домен панели, Домен трафика, Email для HTTPS-сертификатов, Логин владельца.
- Дождитесь строки «Готово. Панель: https://panel.example.com».
curl -fsSLo install.sh https://install.micator.com/install.sh
sudo bash install.sh --headlessЧтобы установщик ничего не спрашивал, передайте все четыре значения параметрами. Параметр --headless тогда не нужен:
sudo bash install.sh --panel panel.example.com --track track.example.com --email [email protected] --admin-email adminЕсли указана только часть значений, остальные установщик спросит в терминале.
По ходу работы установщик печатает: «Загружаю подписанный выпуск…», «Подготавливаю Docker…», «Загружаю готовые образы…», «Запускаю базы, панель и трекер…». В конце — три строки:
Готово. Панель: https://panel.example.com
Доступ владельца сохранён только для root: /opt/tracker/owner-access.txt
Проверка установки: sudo trackerctl checkЕсли установка остановилась с ошибкой, устраните причину и повторите ту же команду с теми же значениями. Принятые домены, email и логин установщик сохраняет и заново не спрашивает. Если ошибка случилась раньше — например, домен ещё не разрешается в DNS, — вопросы будут заданы снова.
Отличия от мастера
| Что | Мастер в браузере | Установка в терминале |
|---|---|---|
| Пароль владельца | Задаёте сами | Создаётся случайный, 64 символа. С --restore-env берётся из файла копии |
| Название команды и логотип | Задаются на шаге 2 | Не задаются. В панели остаётся надпись Micator. С --restore-env берутся из файла копии |
| Ключ лицензии | Вводится на шаге 2 | Вводится в панели после первого входа |
| Проверка доменов | До выпуска сертификатов мастер проверяет, что домены ведут на этот сервер | До установки проверяется только наличие доменов в DNS. HTTPS проверяется в конце |
| Восстановление из копии | Блок Восстановить из резервной копии | Параметр --restore-env, затем восстановление данных в панели |
После установки войдите в панель:
- Прочитайте доступ владельца на сервере командой ниже. В файле три строки: «Панель», «Логин» и «Пароль».
- Откройте
https://panel.example.com/login. - Введите Логин и Пароль из файла.
- Нажмите Войти.
sudo cat /opt/tracker/owner-access.txtЕсли открылся экран «Доступ к трекеру закрыт», введите ключ в поле Ключ лицензии и нажмите Активировать — см. Получение ключа и активация.
В owner-access.txt записан пароль владельца. Сохраните его в менеджере паролей и не передавайте файл другим людям.
Другой каталог установки
По умолчанию трекер ставится в /opt/tracker. Параметр --path задаёт другой каталог:
sudo bash install.sh --path /opt/micator- Каталог должен иметь вид
/opt/имя. В имени допустимы латинские буквы, цифры,_и-. - Каталог должен быть пустым или отсутствовать. Установщик создаст его сам. Символическая ссылка не принимается.
- Параметр работает и с мастером, и с установкой в терминале.
- Файлы
setup-access.txt,owner-access.txtи остальные файлы установки лежат в этом каталоге. Базы и загруженные страницы хранятся в томах Docker, а не в нём. - При повторном запуске установщика и при
--update-controllerуказывайте тот же--path. - Вторую установку на тот же сервер параметр не добавляет: установщик найдёт прежнюю и остановится.
Команде trackerctl каталог указывать не нужно: она запоминает его при установке.
IP мастера вручную
Мастер открывается по публичному IPv4 сервера. Установщик ищет этот адрес на сетевых интерфейсах сервера. Если публичного адреса на них нет, установщик останавливается: «Не удалось определить публичный IPv4. Передайте --setup-ip IP сервера.»
sudo bash install.sh --setup-ip 203.0.113.10- Принимается только публичный IPv4. На частный адрес и на IPv6 установщик отвечает тем же сообщением.
- Мастер отвечает только по этому адресу и по домену панели.
- Адрес закрепляется при подготовке мастера. После появления ссылки на мастер повторный запуск с другим
--setup-ipего не меняет. - При установке в терминале параметр не используется.
Команда trackerctl
Установщик ставит на сервер команду trackerctl. При установке с мастером она появляется после подготовки сервера, при установке в терминале — после того, как трекер запущен и прошёл проверку готовности.
| Команда | Что печатает |
|---|---|
sudo trackerctl status | «Версия: …; этап: …» |
sudo trackerctl check | То же и один раз проверяет готовность. Успех — «Сервисы и HTTPS отвечают.» Если что-то не готово — «Не готовы: …» с названием того, что не ответило |
Запускайте check после запуска трекера. Проверка выполняется на самом сервере и не показывает, открыты ли порты 80 и 443 снаружи. Если предыдущий запуск установщика в терминале закончился ошибкой, обе команды после строки с версией печатают «Последняя попытка прервалась на этом этапе.» Разбор ответов — в разделе Где смотреть состояние установки.
Значения этапа
| Этап | Что означает |
|---|---|
awaiting_setup | Сервер подготовлен, мастер ждёт настройки в браузере |
starting | Настройки сохранены, запускаются базы, панель и трекер |
ready | Трекер установлен и прошёл проверку готовности |
При установке в терминале команда появляется уже после проверки готовности, поэтому показывает ready.
Промежуточные этапы в файле install-state.json
Этап записывается в файл install-state.json в каталоге установки. До появления команды trackerctl в нём бывают значения:
preparing— установщик готовит сервер для мастера;new,files,images,isolation— шаги установки в терминале: настройки приняты, копируются файлы, загружаются образы, настраиваются сетевые ограничения PHP, геобаза и служба установки.
Если не получилось
| Сообщение в терминале | Причина | Что сделать |
|---|---|---|
| Нет терминала: передайте домены, email и логин параметрами. | Установщик запущен без интерактивного терминала и не может задать вопросы | Передайте --panel, --track, --email и --admin-email |
| Не заполнено: … | На вопрос дан пустой ответ | Повторите команду и введите значение |
| Для панели и трафика нужны разные домены. | Указан один и тот же домен | Укажите два разных домена |
| Нужен домен без протокола, порта и пути; международные имена — в punycode. | В домене есть https://, порт, путь или недопустимые знаки | Введите только имя, например panel.example.com |
| Нужен домен, а не IP-адрес. | Вместо домена указан IP | Укажите домен |
| Недопустимое значение: email. или Недопустимое значение: логин. | В значении есть пробел или недопустимый знак, либо оно длиннее 200 символов | Используйте латинские буквы, цифры и знаки _ . + @ - |
| Укажите email для сертификатов. | В email нет знака @ | Укажите адрес вида [email protected] |
| Домен ещё не разрешается в DNS: … | У домена нет DNS-записи или она ещё не обновилась | Добавьте A-запись на IP сервера, подождите и повторите команду |
| Путь установки должен иметь вид /opt/имя без пробелов. или Путь установки должен иметь вид /opt/имя. | В --path указан каталог другого вида | Укажите путь вида /opt/micator |
| Параметры повторного запуска отличаются от начатой установки. | При повторе изменены домены, email или логин | Повторите с прежними значениями или только с --headless: установщик возьмёт сохранённые |
| Начата установка через терминал. Продолжите прежнюю команду. | Повтор запущен без параметров установки в терминале | Повторите прежнюю команду или запустите с --headless |
Сообщение «Не готовы: …» в конце установки разобрано в разделе Сервисы не готовы, остальные — на странице Ошибки установки и их устранение. Где лежат файлы и какие службы созданы — на странице Файлы установки, порты, службы и журналы.