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

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

Tip

Установка Calculate Linux тестировалась на релизе Calculate Linux 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.

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

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

sudo emerge app-editors/nano

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

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

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

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

sudo -u postgres psql postgres

CREATE USER tessa WITH SUPERUSER PASSWORD 'Master1234';

\q

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

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

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

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

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

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

listen_addresses = '*'

Tip

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

Tip

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

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

sudo rc-service postgresql-10 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].

По завершении установки перезапустите веб-сервис:

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-10 }

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-10", если Chronos и PostgreSQL расположены на разных серверах.

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

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

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

Back to top