Установка на 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, чтобы проверить работу системы.