Перейти к содержанию

Установка на Calculate Linux

Tip

Установка Calculate Linux тестировалась на релизах Calculate Linux 22.0.1 и 17.12.2.

Рекомендуется ознакомиться с разделом Общая информация.

Для простоты настройки при установке укажите имя учётной записи tessa.

Выполните шаги из раздела Подготовка дистрибутива TESSA.

Если текущему пользователю недоступна команда sudo, вы можете разрешить её использование следующим образом:

su

visudo

Найдите строку:

root ALL=(ALL) ALL

Нажмите [i] и ниже вставьте строку:

tessa ALL=(ALL) ALL

Нажмите [Esc], чтобы выйти из режима вставки, затем нажмите [:x] (сначала двоеточие, потом [x]), и после нажмите [Enter].

Введите в терминале:

exit

Опционально вы можете обновить информацию из репозиториев и пакетный менеджер до последней версии:

sudo emerge --sync

sudo emerge --oneshot portage

Tip

Мы не рекомендуем пересобирать и обновлять все пакеты в репозитории, т.к. это занимает длительное время и может привести к ненадёжной инсталляции. Если вы уверены, что требуется обновить все пакеты, то используйте команду sudo emerge -uDUav @world --with-bdeps=y --keep-going а также обратитесь к документации дистрибутива.

Установите зависимости, которые потребуются серверу приложений TESSA.

Для Calculate Linux 17.12.2:

sudo emerge dev-dotnet/libgdiplus sys-libs/libunwind

Для Calculate Linux 22.0.1:

sudo emerge dev-dotnet/libgdiplus sys-libs/libunwind sys-libs/glibc

Установите редактор nano, чтобы использовать его из консоли вместо vim (опционально):

sudo emerge app-editors/nano

Установка и настройка PostgreSQL

Установите из репозитория и выполните первичную настройку сервера PostgreSQL. Установка может занять несколько минут.

Для Calculate Linux 17.12.2:

sudo USE="ssl uuid xml" emerge dev-db/postgresql

sudo emerge --config dev-db/postgresql

sudo rc-service postgresql-10 start && sudo rc-update add postgresql-10 default

Для Calculate Linux 22.0.1:

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.*.

Создайте пользователя, от которого будут подключаться сервисы и утилиты TESSA.

sudo -u postgres psql postgres

CREATE USER tessa WITH SUPERUSER PASSWORD 'Master1234';

\q

Откройте для редактирования файл pg_hba.conf.

Для Calculate Linux 17.12.2:

sudo nano /etc/postgresql-10/pg_hba.conf

Для Calculate Linux 22.0.1:

sudo nano /etc/postgresql-14/pg_hba.conf

Задайте в нём настройки в соответствии с разделом Настройка доступа по сети к PostgreSQL.

Откройте для редактирования файл postgresql.conf.

Для Calculate Linux 17.12.2:

sudo nano /etc/postgresql-10/postgresql.conf

Для Calculate Linux 22.0.1:

sudo nano /etc/postgresql-14/postgresql.conf

Найдите в нём строку listen_addresses (нажмите [Ctrl]+[W] и введите искомую строку). Теперь уберите ведущий символ комментария #. И замените следующим образом:

listen_addresses = '*'

Tip

Вы можете также указать listen_addresses = 'localhost', если СУБД располагается на том же сервере, что и сервер приложений.

Tip

В случае, если одновременных пользователей больше 100, рекомендуется указать max_connections = 200 и обратиться к документации по администрированию PostgreSQL.

Закройте редактор с сохранением изменений. Перезапустите сервис PostgreSQL командой:

Для Calculate Linux 17.12.2:

sudo rc-service postgresql-10 restart

Для Calculate Linux 22.0.1:

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]; tessa [Enter]; [Enter]; [Enter]; [Enter]; [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 $? }

Для Calculate Linux 17.12.2 замените выше строку after postgresql-14 на after postgresql-10.

Note

Удалите строку after postgresql-**, если Chronos и PostgreSQL расположены на разных серверах.

Теперь настройте автозапуск сервиса и запустите его, выполнив команду:

sudo chmod 755 /etc/init.d/chronos && sudo rc-service chronos start && sudo rc-update add chronos default

Обратитесь к разделу Проверка установленной системы TESSA, чтобы проверить работу системы.

Back to top