Установка на SUSE Linux Enterprise / OpenSUSE¶
Выполните шаги из раздела Подготовка дистрибутива TESSA.
Для SUSE Linux Enterprise 15 добавьте репозитории SUSE Linux Enterprise Workstation Extension и SUSE Package Hub, который содержит некоторые из требуемых пакетов.
Обновите информацию из репозиториев и обновите установленные пакеты до последних версий.
sudo zypper refresh && sudo zypper -n update
Дождитесь окончания обновлений, после чего перезагрузите компьютер.
Установите зависимости, которые потребуются серверу приложений TESSA.
sudo zypper -n install libunwind libicu
Для OpenSUSE и SUSE Linux Enterprise 15 дополнительно выполните команду:
sudo zypper -n install libgdiplus0
Для SUSE Linux Enterprise 15 дополнительно выполните команды:
cd ~
wget http://download.opensuse.org/repositories/security:/tls/SLE_15/x86_64/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
sudo rpm -ivh ~/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
rm ~/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
Для OpenSUSE и SUSE Linux Enterprise 12 дополнительно выполните команду:
sudo zypper -n install libopenssl1_0_0
Для SUSE Linux Enterprise 12 выполните регистрацию сервера, выполнив список команд ниже.
Note
В команде SUSEConnect -r 1234567890ABCD -e your@email.com после ключа -r укажите ваш регистрационный код, который высылается на почту после регистрации на сайте SUSE. После ключа -e укажите почтовый адрес, использованный при регистрации.
Tip
Описание процесса регистрации доступно на портале технической поддержки SUSE: https://www.suse.com/support/kb/doc/?id=7016626
sudo zypper refresh && sudo zypper -n install SUSEConnect
sudo SUSEConnect -r 1234567890ABCD -e your@email.com
sudo SUSEConnect -p PackageHub/12/x86_64
sudo SUSEConnect -p sle-sdk/12/x86_64
Для SUSE Linux Enterprise 15 опционально установите текстовый редактор nano:
sudo zypper -n install nano
Для SUSE Linux Enterprise 12 опционально установите текстовый редактор nano:
cd ~
wget https://nano-editor.org/dist/v2.5/RPMS/nano-2.5.3-1.x86_64.rpm
sudo rpm -ivh ~/nano-2.5.3-1.x86_64.rpm
rm ~/nano-2.5.3-1.x86_64.rpm
Для SUSE Linux Enterprise 15 и SUSE Linux Enterprise 12 выполните команду:
sudo ln -s /lib64/libdl.so.2 /lib64/libdl.so
Установка и настройка PostgreSQL¶
Для SUSE Linux Enterprise 12 подключите репозиторий для установки PostgreSQL.
На вопрос по доверию для ключа, полученного из репозитория PostgreSQL - “Do you want to reject the key, trust temporarily, or trust always?” - нажмите t (доверять временно) или a (доверять постоянно), затем нажмите Enter.
sudo zypper addrepo https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-10.repo
sudo zypper refresh
Установите из репозитория и выполните первичную настройку сервера PostgreSQL.
Для SUSE Enterprise Linux 15:
sudo zypper -n install postgresql-server postgresql-contrib
sudo systemctl enable postgresql && sudo systemctl start postgresql
Для SUSE Enterprise Linux 12:
sudo zypper -n install postgresql10-server postgresql10-contrib
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl enable postgresql-10 && sudo systemctl start postgresql-10
Для OpenSUSE:
sudo zypper -n install postgresql-server postgresql-contrib
sudo systemctl enable postgresql && sudo systemctl start postgresql
Создайте пользователя, от которого будут подключаться сервисы и утилиты TESSA.
sudo su
su - postgres
psql
CREATE USER tessa WITH SUPERUSER PASSWORD 'Master1234';
\q
exit
exit
Откройте для редактирования файл pg_hba.conf.
Для SUSE Enterprise Linux 15 и OpenSUSE:
sudo nano /var/lib/pgsql/data/pg_hba.conf
Для SUSE Enterprise Linux 12:
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Задайте в нём настройки в соответствии с разделом Настройка доступа по сети к PostgreSQL.
Откройте для редактирования файл postgresql.conf.
Для SUSE Enterprise Linux 15 и OpenSUSE:
sudo nano /var/lib/pgsql/data/postgresql.conf
Для SUSE Enterprise Linux 12:
sudo nano /var/lib/pgsql/10/data/postgresql.conf
Найдите в нём строку listen_addresses (нажмите Ctrl+W и введите искомую строку). Теперь уберите ведущий символ комментария #. И замените следующим образом:
listen_addresses = '*'
Tip
Вы можете также указать listen_addresses = 'localhost', если СУБД располагается на том же сервере, что и сервер приложений.
Tip
В случае, если одновременных пользователей больше 100, рекомендуется указать max_connections = 200 и обратиться к документации по администрированию PostgreSQL.
Закройте редактор с сохранением изменений. Перезапустите сервис PostgreSQL командой:
Для SUSE Enterprise Linux 15 и OpenSUSE:
sudo systemctl restart postgresql
Для SUSE Enterprise Linux 12:
sudo systemctl restart postgresql-10
Настройка веб-сервиса TESSA и создание сертификатов¶
sudo nano /etc/systemd/system/tessa.service
Вставьте этот текст (сочетание клавиш Shift+Insert).
Теперь настройте автозапуск сервиса и запустите его, выполнив команду:
sudo systemctl enable tessa && sudo systemctl start tessa
Далее обратитесь к раздел Создание самоподписанного сертификата, чтобы создать сертификаты. Или просто выполните команды:
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¶
Для SUSE Enterprise Linux 12 перед установкой подключите репозитории Nginx, выполнив команды:
sudo zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx
cd ~
wget http://nginx.org/keys/nginx_signing.key
sudo rpm --import ~/nginx_signing.key
rm ~/nginx_signing.key
Для всех дистрибутивов установите Nginx:
sudo zypper -n install nginx
Для SUSE Enterprise Linux 15 и OpenSUSE:
sudo nano /etc/nginx/nginx.conf
Найдите раздел server { и удалите его (сочетание клавиш Ctrl+K удаляет строку). Удалять строки, начинающиеся с символа комментария #, необязательно.
Вставьте на место удалённого этот текст (сочетание клавиш Shift+Insert).
Для SUSE Enterprise Linux 12:
sudo nano /etc/nginx/conf.d/default.conf
Удалите содержимое файла (сочетание клавиш Alt+T) и вставьте этот текст (сочетание клавиш Shift+Insert).
Для всех дистрибутивов: настройте автозапуск сервера и запустите его, выполнив команду:
sudo systemctl enable nginx && sudo systemctl start nginx
Настройка LibreOffice или OpenOffice¶
Убедитесь, что установлен офисный пакет LibreOffice или OpenOffice. Также для этих дистрибутивов проверьте, что установлен пакет unoconv.
Для SUSE Enterprise Linux 12 подключите репозиторий с пакетом unoconv:
sudo zypper addrepo https://download.opensuse.org/repositories/Publishing/SLE_12_SP3/Publishing.repo
sudo zypper refresh
На вопрос по доверию для ключа, полученного из репозитория с пакетом unoconv - “Do you want to reject the key, trust temporarily, or trust always?” - нажмите t (доверять временно) или a (доверять постоянно), затем нажмите Enter.
Для всех дистрибутивов выполните команду:
sudo zypper -n install unoconv
В конфигурационном файле сервиса Chronos потребуется указать приложение unoconv для использования вместо встроенного скрипта.
nano ~/tessa/chronos/app.json
Найдите строку:
"UnoconvExternalCommand": null,
Замените её на:
"UnoconvExternalCommand": "unoconv",
При конвертации для приложения unoconv требуются права на папку ~/.cache/dconf. Приложение будет запущено от того же пользователя, что и сервис Chronos (в этой инструкции подразумевается текущий пользователь).
Для установки прав выполните команду (если папка ещё не создана, то будет создана):
mkdir -p ~/.cache/dconf
sudo chown -R $USER ~/.cache/dconf
Установка системы и настройка сервиса Chronos¶
Чтобы установить систему на новую базу данных, запустите следующие команды:
cd ~/build/linux
./setup.sh
Обратитесь к разделу Установка TESSA на новую базу данных за описанием процесса установки.
Обычно достаточно нажать: [Enter]; tessa [Enter]; [Enter]; [Enter]; [Enter]; [Enter].
По завершении установки перезапустите веб-сервис:
sudo systemctl restart tessa
Теперь выполним настройку Chronos. Создайте файл для сервиса Chronos:
sudo nano /etc/systemd/system/chronos.service
Вставьте этот текст (сочетание клавиш Shift+Insert).
Теперь настройте автозапуск Chronos и запустите его, выполнив команду:
sudo systemctl enable chronos && sudo systemctl start chronos
Обязательно проверьте, функционирует ли unoconv. Для этого выполните команду (подождав полминуты, пока сервис Chronos инициализируется):
sudo systemctl status chronos
Найдите процессы unoconv и LibreOffice среди запущенных процессов (последние две строки):

Процессы могут отсутствовать или появиться и тут же завершиться при запуске сразу после установки. В этом случае либо перезагрузите компьютер, либо закройте, а затем сразу откройте окно терминала, в котором перезапустите сервис Chronos:
sudo systemctl restart chronos
Подождите полминуты и запросите статус для сервиса Chronos. Он должен показать информацию, аналогичную приведённой на изображении выше.
Обратитесь к разделу Проверка установленной системы TESSA, чтобы проверить работу системы.