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