Установка на RedHat Enterprise Linux / CentOS / Fedora / Oracle Linux / РЕД ОС¶
Tip
Установка РЕД ОС тестировалась на релизе РЕД ОС 7.1 МУРОМ.
Выполните шаги из раздела Подготовка дистрибутива TESSA.
Для RedHat Enterprise Linux
требуется настроить к этому моменту подписки в менеджере подписок, выполнив регистрацию на сайте и приняв там условия пользовательских соглашений. За подробной информацией обращайтесь к документации RedHat: https://developers.redhat.com/products/rhel/hello-world
Для RedHat Enterprise Linux
добавьте дополнительные подписки на репозитории, выполнив команды:
sudo subscription-manager repos --enable rhel-server-rhscl-7-rpms
sudo subscription-manager repos --enable rhel-7-server-optional-rpms
Для CentOS 8
включите текущего пользователя в sudo:
su
/usr/sbin/visudo
Найдите строку:
root ALL=(ALL) ALL
Нажмите i
и ниже вставьте строку:
tessa ALL=(ALL) ALL
Нажмите Esc
, чтобы выйти из режима вставки, затем нажмите :x
(сначала двоеточие, потом x
), и после нажмите Enter
.
Введите в терминале:
exit
Для всех дистрибутивов
обновите информацию из репозиториев и обновите установленные пакеты до последних версий.
sudo yum -y update && sudo yum -y upgrade
Tip
На предложение согласиться на загрузку обновлений “Is this ok [y/d/N]?” введите y
и нажмите Enter
. Аналогичные действия могут потребоваться на предложение получить ключ для одного или нескольких репозиториев.
Дождитесь окончания обновлений, после чего перезагрузите компьютер.
Tip
Для ускорения загрузки обновлений в дальнейшем на RedHat Enterprise Linux
, CentOS
, Oracle Linux
и РЕД ОС
можно выполнить команду sudo yum makecache fast
. Команда не будет работать на Fedora
.
Tip
Инструкция для установки системы на CentOS
готовилась для конфигурации GNOME Desktop, выбранной при установке ОС. Если использовалась другая конфигурация, то может потребоваться выполнить дополнительные команды, такие как установка редактора nano
.
Установите зависимости, которые потребуются серверу приложений TESSA.
Для RedHat Enterprise Linux
и Oracle Linux
:
cd ~
wget https://www.rpmfind.net/linux/epel/7/x86_64/Packages/l/libgdiplus-2.10-9.el7.x86_64.rpm
sudo yum -y localinstall ~/libgdiplus-2.10-9.el7.x86_64.rpm
rm ~/libgdiplus-2.10-9.el7.x86_64.rpm
Для CentOS
(последовательно две команды):
sudo yum -y install epel-release
sudo yum -y install libgdiplus
Для Fedora
:
sudo yum -y install libgdiplus
Также для Fedora
мы рекомендуем установить редактор nano
:
sudo yum -y install nano
Для РЕД ОС
:
sudo yum -y install libgdiplus
Для CentOS 7
и РЕД ОС
выполните команду:
sudo ln -s /usr/lib64/libdl.so.2 /usr/lib64/libdl.so
Установка и настройка PostgreSQL¶
Установите из репозитория и выполните первичную настройку сервера PostgreSQL.
Для RedHat Enterprise Linux
:
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum -y install postgresql10-server postgresql10-contrib
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl enable postgresql-10 && sudo systemctl start postgresql-10
Для CentOS 7
:
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum -y install postgresql10-server postgresql10-contrib
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl enable postgresql-10 && sudo systemctl start postgresql-10
Для CentOS 8
:
sudo yum -y install postgresql-server postgresql-contrib
sudo postgresql-setup initdb --unit postgresql
sudo systemctl enable postgresql && sudo systemctl start postgresql
Для Fedora / РЕД ОС
:
sudo yum -y install postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl enable postgresql && sudo systemctl start postgresql
Для Oracle Enterprise Linux
:
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum -y install postgresql10-server postgresql10-contrib
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl enable postgresql-10 && sudo systemctl start postgresql-10
Создайте пользователя, от которого будут подключаться сервисы и утилиты TESSA.
sudo -u postgres psql postgres
CREATE USER tessa WITH SUPERUSER PASSWORD 'Master1234';
\q
Откройте для редактирования файл pg_hba.conf
.
Для RedHat Enterprise Linux / CentOS 7 / Oracle Linux
:
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Для CentOS 8 / Fedora / РЕД ОС
:
sudo nano /var/lib/pgsql/data/pg_hba.conf
Задайте в нём настройки в соответствии с разделом Настройка доступа по сети к PostgreSQL.
Откройте для редактирования файл postgresql.conf
.
Для RedHat Enterprise Linux / CentOS 7 / Oracle Linux
:
sudo nano /var/lib/pgsql/10/data/postgresql.conf
Для CentOS 8 / Fedora / РЕД ОС
:
sudo nano /var/lib/pgsql/data/postgresql.conf
Найдите в нём строку listen_addresses
(нажмите Ctrl+W
и введите искомую строку). Теперь уберите ведущий символ комментария #
. И замените следующим образом:
listen_addresses = '*'
Tip
Вы можете также указать listen_addresses = 'localhost'
, если СУБД располагается на том же сервере, что и сервер приложений.
Tip
В случае, если одновременных пользователей больше 100, рекомендуется указать max_connections = 200
и обратиться к документации по администрированию PostgreSQL.
Закройте редактор с сохранением изменений. Перезапустите сервис PostgreSQL.
Для RedHat Enterprise Linux / CentOS 7 / Oracle Linux
:
sudo systemctl restart postgresql-10
Для CentOS 8 / Fedora / РЕД ОС
:
sudo systemctl restart postgresql
Настройка веб-сервиса TESSA и создание сертификатов¶
sudo nano /etc/systemd/system/tessa.service
Вставьте этот текст (сочетание клавиш Ctrl+Shift+V
).
Теперь настройте автозапуск сервиса и запустите его, выполнив команду:
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¶
Для RedHat Enterprise Linux / Oracle Linux
требуется настроить репозиторий Nginx:
sudo nano /etc/yum.repos.d/nginx.repo
Вставьте следующий текст (сочетание клавиш Ctrl+Shift+V
) и сохраните файл.
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7/$basearch/
gpgcheck=0
enabled=1
Для всех дистрибутивов
:
sudo yum -y install nginx
Для RedHat Enterprise Linux / Oracle Linux
:
sudo nano /etc/nginx/conf.d/default.conf
Удалите содержимое файла (сочетание клавиш Alt+T
) и вставьте этот текст (сочетание клавиш Ctrl+Shift+V
).
Для CentOS / Fedora / РЕД ОС
:
sudo nano /etc/nginx/nginx.conf
Найдите раздел server {
и удалите его (сочетание клавиш Ctrl+K
удаляет строку). Удалять строки, начинающиеся с символа комментария #
, необязательно.
Вставьте на место удалённого этот текст (сочетание клавиш Ctrl+Shift+V
).
Для всех дистрибутивов
настройте автозапуск сервера и запустите его, выполнив команду:
sudo systemctl enable nginx && sudo systemctl start nginx
Для работоспособности Nginx отключите SELinux (политики безопасности для принудительного контроля доступа).
Tip
Если требуется оставить SELinux включённым, то обратитесь к документации по Nginx и по реализации SELinux в вашем дистрибутиве Linux.
sudo nano /etc/sysconfig/selinux
Найдите строку:
SELINUX=enforcing
Замените её на:
SELINUX=disabled
После изменения этой настройки перезагрузите компьютер.
Настройка LibreOffice или OpenOffice¶
Убедитесь, что установлен офисный пакет LibreOffice или OpenOffice.
Для RedHat Enterprise Linux
если пакет LibreOffice не установлен (отсутствует в меню приложений в группе “Офис”), то установите его командой:
sudo yum -y install libreoffice
Для CentOS 8
если пакет LibreOffice не установлен (отсутствует в меню приложений в группе “Офис”), то установите его командой:
sudo yum -y group install "Office Suite and Productivity"
Для Oracle Linux
пакет LibreOffice отсутствует в поставке и может быть установлен следующим образом:
-
Скачайте последнюю версию LibreOffice с официального сайта: https://www.libreoffice.org/download/libreoffice-fresh/?type=rpm-x86_64&version=6.0&lang=en-US
-
Распакуйте архив и откройте папку с содержимым архива в терминале.
-
Выполните команду:
sudo yum -y localinstall RPMS/*.rpm
-
Теперь скаченный архив и содержимое распакованной папки можно удалить.
Для Oracle Linux
также потребуется указать, чтобы unoconv
, встроенный в Chronos, использовал Python версии 2 (т.к. Python версии 3 отсутствует для этого дистрибутива). Откройте для редактирования файл app.json
в папке Chronos:
nano ~/tessa/chronos/app.json
Найдите в нём строку:
"OpenOfficePython": "python3",
Замените её на:
"OpenOfficePython": "python",
Для Oracle Linux
переходите к следующему разделу, устанавливать unoconv
не требуется.
Для RedHat Enterprise Linux / CentOS / Fedora / РЕД ОС
проверьте, что установлен пакет unoconv
:
sudo yum -y 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
Вставьте этот текст (сочетание клавиш Ctrl+Shift+V
).
Теперь настройте автозапуск Chronos и запустите его, выполнив команду:
sudo systemctl enable chronos && sudo systemctl start chronos
Обязательно проверьте, функционирует ли unoconv
. Для этого выполните команду (подождав полминуты, пока сервис Chronos инициализируется):
sudo systemctl status chronos
Найдите процессы unoconv
и LibreOffice среди запущенных процессов (последние две строки):
Процессы могут отсутствовать или появиться и тут же завершиться при запуске сразу после установки. В этом случае либо перезагрузите компьютер, либо закройте, а затем сразу откройте окно терминала, в котором перезапустите сервис Chronos:
sudo systemctl restart chronos
Подождите полминуты и запросите статус для сервиса Chronos. Он должен показать информацию, аналогичную приведённой на изображении выше.
Обратитесь к разделу Проверка установленной системы TESSA, чтобы проверить работу системы.