Установка на Calculate Linux¶
Рекомендуется ознакомиться с разделом Общая информация.
Для простоты настройки при установке укажите имя учётной записи tessa.
Выполните шаги из раздела Подготовка дистрибутива TESSA.
Если текущему пользователю недоступна команда sudo, вы можете разрешить её использование следующим образом:
su
emerge app-editors/nano
nano /etc/sudoers
Найдите строку:
root ALL=(ALL) ALL
Вставьте ниже строку:
tessa ALL=(ALL) ALL
Сохраните и закройте файл: нажмите Ctrl+X, Y, Enter.
Введите в терминале:
exit
Опционально вы можете обновить информацию из репозиториев и пакетный менеджер до последней версии:
sudo emerge --sync
sudo emerge --oneshot portage
Tip
Мы не рекомендуем пересобирать и обновлять все пакеты в репозитории, т.к. это занимает длительное время и может привести к ненадёжной инсталляции. Если вы уверены, что требуется обновить все пакеты, то используйте команду sudo emerge -uDUav @world --with-bdeps=y --keep-going а также обратитесь к документации дистрибутива.
Установите зависимости и сервер Redis, которые потребуются серверу приложений TESSA.
sudo emerge dev-dotnet/libgdiplus sys-libs/libunwind sys-libs/glibc dev-db/redis
Включите сервис Redis и добавьте его в автозапуск:
sudo rc-service redis start && sudo rc-update add redis default
Установка и настройка PostgreSQL¶
Установите из репозитория и выполните первичную настройку сервера PostgreSQL. Установка может занять несколько минут.
sudo USE="ssl uuid xml" emerge dev-db/postgresql
sudo emerge --config dev-db/postgresql --ask
sudo rc-service postgresql-14 start && sudo rc-update add postgresql-14 default
Note
Если вторая команда предложит выбрать одну из нескольких версий скрипта - введите номер версии 14.*. Также может потребоваться подтвердить действие Y.
Создайте пользователя, от которого будут подключаться сервисы и утилиты TESSA.
sudo -u postgres psql postgres
CREATE USER tessa WITH PASSWORD 'Master1234';
CREATE DATABASE tessa WITH OWNER='tessa' ENCODING='UTF8' TEMPLATE=template0;
\q
Откройте для редактирования файл pg_hba.conf.
sudo nano /etc/postgresql-14/pg_hba.conf
Задайте в нём настройки в соответствии с разделом Настройка доступа по сети к PostgreSQL.
Откройте для редактирования файл postgresql.conf.
sudo nano /etc/postgresql-14/postgresql.conf
Найдите в нём строку listen_addresses (нажмите Ctrl+W и введите искомую строку). Теперь уберите ведущий символ комментария #. И замените следующим образом:
listen_addresses = 'localhost'
Note
Укажите listen_addresses = '*', когда СУБД располагается на другом сервере, чем сервер приложений. Это необходимо для любых production-инсталляций.
Tip
В случае, если одновременных пользователей больше 100, рекомендуется указать max_connections = 200 и обратиться к документации по администрированию PostgreSQL.
Закройте редактор с сохранением изменений. Перезапустите сервис PostgreSQL командой:
sudo rc-service postgresql-14 restart
Настройка веб-сервиса TESSA и создание сертификатов¶
sudo nano /etc/init.d/tessa
Вставьте следующий текст (сочетание клавиш Ctrl+Shift+V):
#!/sbin/openrc-run
name="Syntellect TESSA"
DAEMONUSER="tessa"
DAEMONDIR="/home/$DAEMONUSER/tessa/web"
DAEMON="$DAEMONDIR/Tessa.Web.Server"
DAEMONARGS="5000"
LOGDIR="/home/$DAEMONUSER/tessa/logs"
LOGFILE="$LOGDIR/tessa.log"
PIDFILE="/var/run/tessa.pid"
depend() {
provide tessa
before nginx
}
start() {
ebegin "Starting $name service"
su - $DAEMONUSER -c "mkdir -p '$LOGDIR'"
su - $DAEMONUSER -c "rm -f '$LOGFILE'"
start-stop-daemon --start --name "$name" --user $DAEMONUSER \
--make-pidfile --pidfile "$PIDFILE" --background \
--stdout "$LOGFILE" --stderr "$LOGFILE" \
--chdir "$DAEMONDIR" --umask 002 --exec "$DAEMON" \
-- $DAEMONARGS
eend $?
}
stop() {
ebegin "Stopping $name service"
start-stop-daemon --stop --pidfile "$PIDFILE"
rm -f "$PIDFILE"
eend $?
}
Теперь настройте автозапуск сервиса и запустите его, выполнив команду:
sudo chmod 755 /etc/init.d/tessa && sudo rc-service tessa start && sudo rc-update add tessa default
Далее обратитесь к раздел Создание самоподписанного сертификата, чтобы создать сертификаты. Или просто выполните команды:
sudo mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/pki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.crt
Установка и настройка веб-сервера Nginx¶
Установите Nginx, выполнив команду в терминале:
sudo emerge www-servers/nginx
Откройте файл конфигурации Nginx:
sudo nano /etc/nginx/nginx.conf
Найдите строку вида:
large_client_header_buffers 4 2k;
И замените её на следующую строку, увеличив тем самым максимальный размер клиентских cookie до 8 Кб (что обычно является значением по умолчанию в других дистрибутивах):
large_client_header_buffers 4 8k;
Найдите раздел server { и удалите его (сочетание клавиш Ctrl+K удаляет строку). Удалять строки, начинающиеся с символа комментария #, необязательно.
Вставьте на место удалённого этот текст (сочетание клавиш Ctrl+Shift+V).
Теперь настройте автозапуск сервера и запустите его, выполнив команду:
sudo rc-service nginx start && sudo rc-update add nginx default
Установка системы и настройка сервиса Chronos¶
Чтобы установить систему на новую базу данных, запустите следующие команды:
cd ~/build/linux
./setup.sh
Обратитесь к разделу Установка TESSA на новую базу данных за описанием процесса установки.
Обычно достаточно нажать Enter на каждый вопрос инсталлятора, чтобы подтвердить значения по умолчанию.
Note
Если в процессе установки возникнет ошибка Unknown socket error, то перезагрузите компьютер, удалите базу данных командой tools/tadmin DropDatabase из папки ~/build/linux, и повторите установку.
По завершении установки перезапустите веб-сервис:
sudo rc-service tessa restart
Теперь выполним настройку Chronos. Создайте файл для сервиса Chronos:
sudo nano /etc/init.d/chronos
Вставьте следующий текст (сочетание клавиш Ctrl+Shift+V):
#!/sbin/openrc-run
name="Syntellect Chronos"
DAEMONUSER="tessa"
DAEMONDIR="/home/$DAEMONUSER/tessa/chronos"
DAEMON="$DAEMONDIR/Chronos"
DAEMONARGS=""
LOGDIR="/home/$DAEMONUSER/tessa/logs"
LOGFILE="$LOGDIR/chronos.log"
PIDFILE="/var/run/chronos.pid"
depend() {
provide chronos
after postgresql-14
}
start() {
ebegin "Starting $name service"
su - $DAEMONUSER -c "mkdir -p '$LOGDIR'"
su - $DAEMONUSER -c "rm -f '$LOGFILE'"
start-stop-daemon --start --name "$name" --user $DAEMONUSER \
--make-pidfile --pidfile "$PIDFILE" --background \
--stdout "$LOGFILE" --stderr "$LOGFILE" \
--chdir "$DAEMONDIR" --umask 002 --exec "$DAEMON" \
-- $DAEMONARGS
eend $?
}
stop() {
ebegin "Stopping $name service"
start-stop-daemon --stop --pidfile "$PIDFILE"
rm -f "$PIDFILE"
eend $?
}
Note
Удалите строку after postgresql-**, если Chronos и PostgreSQL расположены на разных серверах.
Теперь настройте автозапуск сервиса и запустите его, выполнив команду:
sudo chmod 755 /etc/init.d/chronos && sudo rc-service chronos start && sudo rc-update add chronos default
Установка Webbi¶
Установка веб-сервиса описана в Руководстве по установке Webbi.
Note
Веб-сервис webbi является опциональным компонентом системы. Устанавливайте его только в случае необходимости использования его функциональных возможностей.
Установка Jinni¶
Установка веб-сервиса описана в Руководстве по установке Jinni.
Установка Monitor¶
Установка веб-сервиса описана в Руководстве по установке Monitor.
Note
Веб-сервис monitor является опциональным компонентом системы. Устанавливайте его только в случае необходимости использования его функциональных возможностей.
Генерация мастер ключа для управления компонентами системы¶
В случае необходимости управления компонентами системы при помощи подсистемы мониторинга при начальной установке системы рекомендуется выписать мастер ключ.
Important
Данный шаг является опциональным. Выполняйте его только если в нём есть обоснованная необходимость.
Если Вы не уверены, что это нужно делать сейчас, просто пропустите данный шаг. Сгенерировать мастер ключ можно будет позже в любой момент времени. Это никак не отразится на работоспособности системы.
Проверка установленной системы TESSA¶
Обратитесь к разделу Проверка установленной системы TESSA, чтобы проверить работу системы.