<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://svacer.ispras.ru/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Svacer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://svacer.ispras.ru/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Special:Contributions/Admin"/>
	<updated>2026-04-15T08:57:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=2082</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=2082"/>
		<updated>2024-09-27T11:24:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Техническая документация ===&lt;br /&gt;
Version 9.0.x&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка и обновление]]&lt;br /&gt;
# [[Help:Import from Svace|Импорт из Svace]]&lt;br /&gt;
# [[Help:Backup|Резервное копирование]]&lt;br /&gt;
# [[Help:UI manual|Использование веб-интерфейса]]&lt;br /&gt;
# [[Help:Public API|Public REST API]]&lt;br /&gt;
# [[Help:CLI|CLI]]&lt;br /&gt;
# [[LDAP configuration|LDAP]]&lt;br /&gt;
# [[OIDC|OpenID Connect]]&lt;br /&gt;
# [[Help:Sarif|SARIF]]&lt;br /&gt;
# [[Help:Statistics|Статистика]]&lt;br /&gt;
# [[Help:Match|Механизмы сопоставления предупреждений и переноса разметки]]&lt;br /&gt;
# [[Help:XSvacer|XSvacer — расширение функциональности Svacer]]&lt;br /&gt;
# [[Help:Utils|Дополнительные утилиты]]&lt;br /&gt;
# [[Metrics|Prometheus-метрики]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
Также доступны в виде docker-образа на [https://hub.docker.com/r/ispras/svacer docker hub] и как пакеты в [[Help:Installation#.deb|apt-репозитории]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! version !! distrib !! linux bin !! windows bin !! deb/rpm !! doc&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.2&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-9-0-2.zip svacer-9-0-2.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer_9.0-2_amd64.deb svacer_9.0-2_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-9.0-2.x86_64.rpm svacer-9.0-2.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-2|Changelog]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.1&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-9-0-1.zip svacer-9-0-1.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer_9.0-1_amd64.deb svacer_9.0-1_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-9.0-1.x86_64.rpm svacer-9.0-1.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-1|Changelog]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.0&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-9-0-0.zip svacer-9-0-0.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer_9.0-0_amd64.deb svacer_9.0-0_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-9.0-0.x86_64.rpm svacer-9.0-0.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-0|Changelog]]&amp;lt;br /&amp;gt;[[Release notes 9-0-0|Release notes]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.0.1 &lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8-0-1.zip svacer-8-0-1.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer svacer]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer.exe svacer.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer_8.0-1_amd64.deb svacer_8.0-1_amd64.deb]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8.0-1.x86_64.rpm svacer-8.0-1.x86_64.rpm]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8.0.1.msi svacer-8.0.1.msi]&lt;br /&gt;
| [[Changelog#Release 8-0-1|Changelog]]&amp;lt;br /&amp;gt;[[Documentation 8.x.x|Documentation 8.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.0.0 &lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8-0-0.zip svacer-8-0-0.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer svacer]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer.exe svacer.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer_8.0-0_amd64.deb svacer_8.0-0_amd64.deb]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8.0-0.x86_64.rpm svacer-8.0-0.x86_64.rpm]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8.0.0.msi svacer-8.0.0.msi]&lt;br /&gt;
| [[Changelog#Release 8-0-0|Changelog]]&amp;lt;br /&amp;gt;[[Release notes 8-0-0|Release notes]]&amp;lt;br /&amp;gt;[[Documentation 8.x.x|Documentation 8.x.x]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://svacer.ispras.ru/releases Предыдущие релизы] | [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F Еще более старые релизы]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные требования|Системные требования]]&lt;br /&gt;
* [[Примеры использования хуков#Создание кейсов в системах отслеживания ошибок|Создание из Svacer кейсов в Gitlab, Jira, Redmine]]&lt;br /&gt;
* Public REST API &lt;br /&gt;
:* [[Help:Public API#Примеры использования public REST API|Примеры использования]]&lt;br /&gt;
:* [https://gitlab.ispras.ru/svacer-public Репозитории с примерами на Python и Go]  &lt;br /&gt;
:* [https://svacer-demo.ispras.ru/api/public/swagger/ Спецификация OpenAPI]&lt;br /&gt;
* [https://t.me/+6pvgZ0oveNVhOTc6 Группа технической поддержки в Telegram]&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Попробуйте Svacer в действии на демо-сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* admin / svacer_admin_31415 — логин / пароль администратора&lt;br /&gt;
* user / user — логин / пароль пользователя&lt;br /&gt;
&lt;br /&gt;
Можете делать там что угодно, каждую ночь сервер восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=2081</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=2081"/>
		<updated>2024-09-27T11:23:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: add link to Metrics page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Техническая документация ===&lt;br /&gt;
Version 9.0.x&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка и обновление]]&lt;br /&gt;
# [[Help:Import from Svace|Импорт из Svace]]&lt;br /&gt;
# [[Help:Backup|Резервное копирование]]&lt;br /&gt;
# [[Help:UI manual|Использование веб-интерфейса]]&lt;br /&gt;
# [[Help:Public API|Public REST API]]&lt;br /&gt;
# [[Help:CLI|CLI]]&lt;br /&gt;
# [[LDAP configuration|LDAP]]&lt;br /&gt;
# [[OIDC|OpenID Connect]]&lt;br /&gt;
# [[Help:Sarif|SARIF]]&lt;br /&gt;
# [[Help:Statistics|Статистика]]&lt;br /&gt;
# [[Help:Match|Механизмы сопоставления предупреждений и переноса разметки]]&lt;br /&gt;
# [[Help:XSvacer|XSvacer — расширение функциональности Svacer]]&lt;br /&gt;
# [[Help:Utils|Дополнительные утилиты]]&lt;br /&gt;
# [[Metrics|Prometeus-метрики]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
Также доступны в виде docker-образа на [https://hub.docker.com/r/ispras/svacer docker hub] и как пакеты в [[Help:Installation#.deb|apt-репозитории]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! version !! distrib !! linux bin !! windows bin !! deb/rpm !! doc&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.2&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-9-0-2.zip svacer-9-0-2.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-2/svacer_9.0-2_amd64.deb svacer_9.0-2_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-2/svacer-9.0-2.x86_64.rpm svacer-9.0-2.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-2|Changelog]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.1&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-9-0-1.zip svacer-9-0-1.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-1/svacer_9.0-1_amd64.deb svacer_9.0-1_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-1/svacer-9.0-1.x86_64.rpm svacer-9.0-1.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-1|Changelog]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 9.0.0&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-9-0-0.zip svacer-9-0-0.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer svacer]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-server svacer-server]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer.exe svacer.exe]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-server.exe svacer-server.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-9-0-0/svacer_9.0-0_amd64.deb svacer_9.0-0_amd64.deb]&amp;lt;br /&amp;gt;[https://svacer.ispras.ru/releases/svacer-9-0-0/svacer-9.0-0.x86_64.rpm svacer-9.0-0.x86_64.rpm]&lt;br /&gt;
| [[Changelog#Release 9-0-0|Changelog]]&amp;lt;br /&amp;gt;[[Release notes 9-0-0|Release notes]]&amp;lt;br /&amp;gt;[[Help:Installation#9-0-0|Upgrade notes]]&amp;lt;br /&amp;gt;[[Svacer#Техническая_документация|Documentation 9.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.0.1 &lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8-0-1.zip svacer-8-0-1.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer svacer]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer.exe svacer.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer_8.0-1_amd64.deb svacer_8.0-1_amd64.deb]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8.0-1.x86_64.rpm svacer-8.0-1.x86_64.rpm]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-1/svacer-8.0.1.msi svacer-8.0.1.msi]&lt;br /&gt;
| [[Changelog#Release 8-0-1|Changelog]]&amp;lt;br /&amp;gt;[[Documentation 8.x.x|Documentation 8.x.x]]&lt;br /&gt;
|-&lt;br /&gt;
| 8.0.0 &lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8-0-0.zip svacer-8-0-0.zip]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer svacer]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer.exe svacer.exe]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer_8.0-0_amd64.deb svacer_8.0-0_amd64.deb]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8.0-0.x86_64.rpm svacer-8.0-0.x86_64.rpm]&amp;lt;br /&amp;gt; [https://svacer.ispras.ru/releases/svacer-8-0-0/svacer-8.0.0.msi svacer-8.0.0.msi]&lt;br /&gt;
| [[Changelog#Release 8-0-0|Changelog]]&amp;lt;br /&amp;gt;[[Release notes 8-0-0|Release notes]]&amp;lt;br /&amp;gt;[[Documentation 8.x.x|Documentation 8.x.x]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://svacer.ispras.ru/releases Предыдущие релизы] | [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F Еще более старые релизы]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные требования|Системные требования]]&lt;br /&gt;
* [[Примеры использования хуков#Создание кейсов в системах отслеживания ошибок|Создание из Svacer кейсов в Gitlab, Jira, Redmine]]&lt;br /&gt;
* Public REST API &lt;br /&gt;
:* [[Help:Public API#Примеры использования public REST API|Примеры использования]]&lt;br /&gt;
:* [https://gitlab.ispras.ru/svacer-public Репозитории с примерами на Python и Go]  &lt;br /&gt;
:* [https://svacer-demo.ispras.ru/api/public/swagger/ Спецификация OpenAPI]&lt;br /&gt;
* [https://t.me/+6pvgZ0oveNVhOTc6 Группа технической поддержки в Telegram]&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Попробуйте Svacer в действии на демо-сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* admin / svacer_admin_31415 — логин / пароль администратора&lt;br /&gt;
* user / user — логин / пароль пользователя&lt;br /&gt;
&lt;br /&gt;
Можете делать там что угодно, каждую ночь сервер восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Metrics&amp;diff=2080</id>
		<title>Metrics</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Metrics&amp;diff=2080"/>
		<updated>2024-09-27T11:20:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: add grafana dashboard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Включение метрик ===&lt;br /&gt;
Для включения метрик запустите сервер Svacer с переменной окружения '''SVACER_TRACE_OPTIONS=prom_metrics_on'''&lt;br /&gt;
&lt;br /&gt;
 SVACER_TRACE_OPTIONS=prom_metrics_on svacer-server run&lt;br /&gt;
&lt;br /&gt;
После этого метрики будут доступны по URL вашего сервера на '''/api/metrics'''&lt;br /&gt;
 &amp;lt;pre&amp;gt;http://localhost:8080/api/metrics&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Список метрик ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Название&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|svacer_active_imports&lt;br /&gt;
|Number of active imports of svace/sarif results&lt;br /&gt;
|-&lt;br /&gt;
|svacer_active_snapshot_exports&lt;br /&gt;
|Number of active snapshot exports&lt;br /&gt;
|-&lt;br /&gt;
|svacer_active_snapshot_imports&lt;br /&gt;
|Number of active snapshot imports&lt;br /&gt;
|-&lt;br /&gt;
|svacer_comment_changes_since_start&lt;br /&gt;
|The total number of comment additions/deletions/modifications since start&lt;br /&gt;
|-&lt;br /&gt;
|svacer_import_results_since_start&lt;br /&gt;
|The total number of imported results since last server start&lt;br /&gt;
|-&lt;br /&gt;
|svacer_import_snapshots_since_start&lt;br /&gt;
|The total number of imported snapshots since last server start&lt;br /&gt;
|-&lt;br /&gt;
|svacer_rest_import_svace_dirs&lt;br /&gt;
|The total number of import svace dir requests via REST endpoint&lt;br /&gt;
|-&lt;br /&gt;
|svacer_rest_import_svace_dirs_failed&lt;br /&gt;
|The total number of failed import svace dir requests via REST endpoint&lt;br /&gt;
|-&lt;br /&gt;
|svacer_rest_import_svace_dirs_success&lt;br /&gt;
|The total number of success import svace dir requests via REST endpoint&lt;br /&gt;
|-&lt;br /&gt;
|svacer_review_changes_since_start&lt;br /&gt;
|The total number of review modifications since start&lt;br /&gt;
|-&lt;br /&gt;
|svacer_wsocket_sessions_counter&lt;br /&gt;
|The total number of active web socket connections&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Добавление в Prometheus ===&lt;br /&gt;
Для сбора метрик Прометеусом добавьте в его конфиг-файл '''/etc/prometheus/prometheus.yml''' подобную запись, поменяв название, хост и порт на те что у вас&lt;br /&gt;
&lt;br /&gt;
 - job_name: svacer-metrics-example&lt;br /&gt;
   metrics_path: /api/metrics&lt;br /&gt;
   static_configs:&lt;br /&gt;
     - targets: ['svacer.ispras.ru:8080']&lt;br /&gt;
&lt;br /&gt;
=== Grafana dashboard ===&lt;br /&gt;
Для визуализации метрик в [https://grafana.com Grafana] импортируете dashboard из файла [[Media:Grafana-dashboard-svacer.json|grafana-dashboard-svacer.json]]. В диалоге импорта выберите собирающий метрики Prometheus в качестве data source.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=File:Grafana-dashboard-svacer.json&amp;diff=2079</id>
		<title>File:Grafana-dashboard-svacer.json</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=File:Grafana-dashboard-svacer.json&amp;diff=2079"/>
		<updated>2024-09-27T11:16:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin uploaded a new version of File:Grafana-dashboard-svacer.json&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grafana dashboard file for Svacer Prometheus metrics&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=File:Grafana-dashboard-svacer.json&amp;diff=2078</id>
		<title>File:Grafana-dashboard-svacer.json</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=File:Grafana-dashboard-svacer.json&amp;diff=2078"/>
		<updated>2024-09-27T10:20:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grafana dashboard file for Svacer Prometheus metrics&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Dockerfile&amp;diff=480</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Dockerfile&amp;diff=480"/>
		<updated>2023-03-14T11:18:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: remove profiler&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для сборки докер-образа Svacer мы используем следующий Dockerfile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM ubuntu:18.04&lt;br /&gt;
&lt;br /&gt;
LABEL maintainer=&amp;quot;akuzmin@ispras.ru&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ARG DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
&lt;br /&gt;
RUN apt update &amp;amp;&amp;amp; apt install -y --no-install-recommends curl \&lt;br /&gt;
    &amp;amp;&amp;amp; rm -rf /var/cache/apt/archives /var/lib/apt/lists/* \&lt;br /&gt;
    &amp;amp;&amp;amp; mkdir -p /svacer/bin &amp;amp;&amp;amp; mkdir -p /svacer/store &lt;br /&gt;
&lt;br /&gt;
COPY svacer/bin/svacer /svacer/bin/&lt;br /&gt;
&lt;br /&gt;
WORKDIR /&lt;br /&gt;
&lt;br /&gt;
ENV STORE=/svacer/store&lt;br /&gt;
ENV SVACER_PG_URL=postgres://svace:svace@127.0.0.1:5432/svace&lt;br /&gt;
ENV MEMSETTINGS=default&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
&lt;br /&gt;
CMD /svacer/bin/svacer --memsettings=${MEMSETTINGS} server --store $STORE --pg $SVACER_PG_URL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=479</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=479"/>
		<updated>2023-03-14T10:04:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: add dockerfile link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докерхабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
Для сборки своего докер-образа Svacer-а можете использовать наш [[Dockerfile]] в качестве референса.&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;. Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
По умолчанию сервер запускается без поддержки SSL/TLS, при этом в логах отображается информация об этом.&lt;br /&gt;
 TLS for REST and gRPC DISABLED&lt;br /&gt;
&lt;br /&gt;
Для запуска сервера с поддержкой TLS необходимо указать сертификат сервера и соответствующий закрытый ключ.&lt;br /&gt;
 svacer server --ssl-cert svacer.crt --ssl-key svacer.key&lt;br /&gt;
&lt;br /&gt;
При этом ключ должен быть в незашифрованном виде. Права доступа к файлу должны быть 0600. В файле сертификата можно указывать цепочку сертификатов. В этом случае сервер, при подключении клиента, будет возвращать всю цепочку. Формат файла — PEM. TLS соединение активируется и для протокола REST и для протокола gRPC. &lt;br /&gt;
&lt;br /&gt;
Работа сервера по проктолу TLS сопровождается следующей записью в логе:&lt;br /&gt;
 Using TLS for REST and gRPC protocols&lt;br /&gt;
&lt;br /&gt;
Работа с таким сервером через CLI происходит как обычно. Для указания необходимости подключаться по TLS можно явно указать протокол в параметре '''--host''', либо добавить опцию '''--ssl'''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 svacer upload --host https://example.com&lt;br /&gt;
 svacer upload --ssl --host example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Также в клиенте можно определить параметр '''--ssl-ca-certs'''. Он позволяет задать доверенные сертификаты корневых центров. Указывается шаблон файлов (с *) или конкретный файл. Путь к директории должен быть абсолютным. В случае отсутствия этого параметра используется TLS, но сертификат сервера не проверяется. Этому случаю соответствует запись в логе клиента:&lt;br /&gt;
 Using weak TLS configuration, because no CA certificate found&lt;br /&gt;
&lt;br /&gt;
Если сертификаты были загружены, в логе будет строчка:&lt;br /&gt;
 added 1 ca certs from /home/user/svacer/svacer.crt&lt;br /&gt;
&lt;br /&gt;
Для администрирования сервера в плане используемого сертификата (например, замена при истечении срока действия) добавлена область в CLI svacer admin: '''server:config'''. В данной области есть 3 команды: '''show''', '''reload''', '''update'''. ID в этом случае нужно всегда указывать в значение '''ssl.cert'''.&lt;br /&gt;
 &lt;br /&gt;
* '''show''' — отображает текущий используемый сертификат&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''reload''' — заставляет сервер перечитать использованные при старте сервера файлы с сертификатом и ключом&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''update''' — позволяет переслать на сервер новый сертификат (и ключ, если надо) и записать их в указанные при старте сервера файлы. При использовании этой команды нужно сформировать файл с новым сертификатом и, при необходимости, ключом, в формате PEM (используете '''cat''' для объединения сертификата и ключа в один файл) и указать этот файл в параметре value. Если в файле не будет указан закрытый ключ, то сервером будет использован текущий (тот, что был указан при запуске). Данная команда также изменит файлы сертификата и ключа (если он указан), указанные при старте сервера, на новые значения.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action update --value svacer.pem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Некоторое время после обновления сервер может использовать старые сертификаты для уже установленных соединений, при этом обновление страницы не помогает, нужно дождаться пока сервер не разорвет соединение на своей стороне ввиду отсутствия активности клиента.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Dockerfile&amp;diff=478</id>
		<title>Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Dockerfile&amp;diff=478"/>
		<updated>2023-03-14T10:01:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;Для сборки докер-образа Svacer мы используем следующий Dockerfile (актуален на момент версии 6.0.3).  &amp;lt;pre&amp;gt; FROM ubuntu:18.04  LABEL maintainer=&amp;quot;akuzmin@ispras.ru&amp;quot;  ARG DEBIAN_FRONTEND=noninteractive  RUN apt update &amp;amp;&amp;amp; apt install -y --no-install-recommends curl \     &amp;amp;&amp;amp; rm -rf /var/cache/apt/archives /var/lib/apt/lists/* \     &amp;amp;&amp;amp; mkdir -p /svacer/bin &amp;amp;&amp;amp; mkdir -p /svacer/store   COPY svacer/bin/svacer /svacer...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для сборки докер-образа Svacer мы используем следующий Dockerfile (актуален на момент версии 6.0.3).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM ubuntu:18.04&lt;br /&gt;
&lt;br /&gt;
LABEL maintainer=&amp;quot;akuzmin@ispras.ru&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ARG DEBIAN_FRONTEND=noninteractive&lt;br /&gt;
&lt;br /&gt;
RUN apt update &amp;amp;&amp;amp; apt install -y --no-install-recommends curl \&lt;br /&gt;
    &amp;amp;&amp;amp; rm -rf /var/cache/apt/archives /var/lib/apt/lists/* \&lt;br /&gt;
    &amp;amp;&amp;amp; mkdir -p /svacer/bin &amp;amp;&amp;amp; mkdir -p /svacer/store &lt;br /&gt;
&lt;br /&gt;
COPY svacer/bin/svacer /svacer/bin/&lt;br /&gt;
&lt;br /&gt;
WORKDIR /&lt;br /&gt;
&lt;br /&gt;
ENV STORE=/svacer/store&lt;br /&gt;
ENV SVACER_PG_URL=postgres://svace:svace@127.0.0.1:5432/svace&lt;br /&gt;
ENV MEMSETTINGS=default&lt;br /&gt;
ENV PPROF_PORT=6060&lt;br /&gt;
&lt;br /&gt;
EXPOSE 8080&lt;br /&gt;
EXPOSE ${PPROF_PORT}&lt;br /&gt;
&lt;br /&gt;
CMD /svacer/bin/svacer --pprof=${PPROF_PORT} --memsettings=${MEMSETTINGS} server --store $STORE --pg $SVACER_PG_URL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:UI_manual&amp;diff=472</id>
		<title>Help:UI manual</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:UI_manual&amp;diff=472"/>
		<updated>2023-03-03T13:18:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Этот namespace видим только для залогиненых юзеров. Создавайте тут страницы, которые не хотите делать видимыми публично. Для этого просто перед названием страницы добавляйте префикс '''Internal:'''. Пример: [[Internal:TestPage]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=471</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=MediaWiki:Sidebar&amp;diff=471"/>
		<updated>2023-03-03T13:14:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** Svacer|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help-mediawiki&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;br /&gt;
&lt;br /&gt;
* Pages&lt;br /&gt;
** Internal:MainPage|Internal&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:UI_manual&amp;diff=470</id>
		<title>Help:UI manual</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:UI_manual&amp;diff=470"/>
		<updated>2023-03-03T12:58:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;This namespace is visible only to logged-in users.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This namespace is visible only to logged-in users.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=469</id>
		<title>Help:Sarif</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=469"/>
		<updated>2023-03-03T11:20:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Работа с SARIF ==&lt;br /&gt;
=== Генерация SARIF ===&lt;br /&gt;
Поддерживается генерация файла в формате [https://sarifweb.azurewebsites.net SARIF], который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo.&lt;br /&gt;
Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу:&lt;br /&gt;
* Critical -&amp;gt; error&lt;br /&gt;
* Major -&amp;gt; warning&lt;br /&gt;
* Minor -&amp;gt; note&lt;br /&gt;
* Normal -&amp;gt; none&lt;br /&gt;
&lt;br /&gt;
При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда.&lt;br /&gt;
&lt;br /&gt;
Общие параметры для импорта:&lt;br /&gt;
* out-file, o — имя выходного файла или «-» для вывода в stdout&lt;br /&gt;
* scheme — печать примера схемы выходного файла SARIF&lt;br /&gt;
* include-contents — включать контент файлов, в которых обнаружены предупреждения&lt;br /&gt;
&lt;br /&gt;
==== Генерация из .svres ====&lt;br /&gt;
При импорте из файла svres используются дополнительные параметры:&lt;br /&gt;
* svace — путь к исполняемому файлу svace&lt;br /&gt;
* svace-dir — интерпретировать путь, как путь к директории .svace-dir&lt;br /&gt;
* path_to_project_or_svace-dir — путь к директории проекта или к .svace-dir. Его можно не указывать, тогда в качестве пути к проекту будет использована текущая директория&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --svace &amp;lt;path_to_svace&amp;gt; [path_to_project_or_svace-dir]&lt;br /&gt;
&lt;br /&gt;
==== Генерация из данных с сервера ====&lt;br /&gt;
При импорте из данных с сервера используются следующие дополнительные параметры:&lt;br /&gt;
* from-server — опция для получения данных с сервера&lt;br /&gt;
* project — имя или id проекта&lt;br /&gt;
* branch — имя или id ветки (master по умолчанию)&lt;br /&gt;
* snapshot — имя или id снимка (last по умолчанию)&lt;br /&gt;
&lt;br /&gt;
Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту.&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF из данных с сервера:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --from-server --user &amp;lt;user&amp;gt; --password &amp;lt;password&amp;gt; --project &amp;lt;project_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Загрузка на сервер из SARIF ===&lt;br /&gt;
При загрузке данных на сервер используются следующие параметры:&lt;br /&gt;
* read-file, r — файл SARIF, из которого необходимо читать данные&lt;br /&gt;
* project — название проекта на сервере (по умолчанию совпадает с именем файла)&lt;br /&gt;
* branch — название ветки на сервере (по умолчанию master)&lt;br /&gt;
* snapshot — название снимка на сервере (по умолчанию время загрузки)&lt;br /&gt;
* skip-source — пропускать исходный код файлов с предупреждениями&lt;br /&gt;
* path-prefix — заменять префиксы в названии файлов (prefix:replacement)&lt;br /&gt;
&lt;br /&gt;
Пример команды для загрузки на сервер:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif upload -r &amp;lt;input_file&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=468</id>
		<title>Help:Sarif</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=468"/>
		<updated>2023-03-03T11:19:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: make path to project optional&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Работа с SARIF ==&lt;br /&gt;
=== Генерация SARIF ===&lt;br /&gt;
Поддерживается генерация файла в формате [https://sarifweb.azurewebsites.net SARIF], который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo.&lt;br /&gt;
Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу:&lt;br /&gt;
* Critical -&amp;gt; error&lt;br /&gt;
* Major -&amp;gt; warning&lt;br /&gt;
* Minor -&amp;gt; note&lt;br /&gt;
* Normal -&amp;gt; none&lt;br /&gt;
&lt;br /&gt;
При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда.&lt;br /&gt;
&lt;br /&gt;
Общие параметры для импорта:&lt;br /&gt;
* out-file, o — имя выходного файла или «-» для вывода в stdout&lt;br /&gt;
* scheme — печать примера схемы выходного файла SARIF&lt;br /&gt;
* include-contents — включать контент файлов, в которых обнаружены предупреждения&lt;br /&gt;
&lt;br /&gt;
==== Генерация из .svres ====&lt;br /&gt;
При импорте из файла svres используются дополнительные параметры:&lt;br /&gt;
* svace — путь к исполняемому файлу svace&lt;br /&gt;
* svace-dir — интерпретировать путь, как путь к директории .svace-dir&lt;br /&gt;
* path_to_project_or_svace-dir — путь к директории проекта или к .svace-dir. Его можно не указывать, тогда в качестве пути к проекту будет использована текущая директория.&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --svace &amp;lt;path_to_svace&amp;gt; [path_to_project_or_svace-dir]&lt;br /&gt;
&lt;br /&gt;
==== Генерация из данных с сервера ====&lt;br /&gt;
При импорте из данных с сервера используются следующие дополнительные параметры:&lt;br /&gt;
* from-server — опция для получения данных с сервера&lt;br /&gt;
* project — имя или id проекта&lt;br /&gt;
* branch — имя или id ветки (master по умолчанию)&lt;br /&gt;
* snapshot — имя или id снимка (last по умолчанию)&lt;br /&gt;
&lt;br /&gt;
Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту.&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF из данных с сервера:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --from-server --user &amp;lt;user&amp;gt; --password &amp;lt;password&amp;gt; --project &amp;lt;project_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Загрузка на сервер из SARIF ===&lt;br /&gt;
При загрузке данных на сервер используются следующие параметры:&lt;br /&gt;
* read-file, r — файл SARIF, из которого необходимо читать данные&lt;br /&gt;
* project — название проекта на сервере (по умолчанию совпадает с именем файла)&lt;br /&gt;
* branch — название ветки на сервере (по умолчанию master)&lt;br /&gt;
* snapshot — название снимка на сервере (по умолчанию время загрузки)&lt;br /&gt;
* skip-source — пропускать исходный код файлов с предупреждениями&lt;br /&gt;
* path-prefix — заменять префиксы в названии файлов (prefix:replacement)&lt;br /&gt;
&lt;br /&gt;
Пример команды для загрузки на сервер:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif upload -r &amp;lt;input_file&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=466</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=466"/>
		<updated>2023-03-02T11:01:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: add snapshot import/export link to FAQ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.3&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-3|6.0.3]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_release-6-0-3.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_release-6-0-3.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_6.0-3_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_6.0-3_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer-6.0-3.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer-6.0-3.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-2|6.0.2]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-1|6.0.1]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-0|6.0.0]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm.md5 md5])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
Все релизы также доступны в виде докер-образов с соответсвующими тегами на [https://hub.docker.com/r/ispras/svacer Docker Hub]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
* [[Help:Migration#Перенос_снимков|Перенос снимков с разметкой]] между серверами&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer на демонстрационном сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* admin / svacer_admin_31415 — логин / пароль администратора&lt;br /&gt;
* user / user — логин / пароль пользователя&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=465</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=465"/>
		<updated>2023-02-22T16:25:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Нативно */ add ssl/tls administration info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;. Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
По умолчанию сервер запускается без поддержки SSL/TLS, при этом в логах отображается информация об этом.&lt;br /&gt;
 TLS for REST and gRPC DISABLED&lt;br /&gt;
&lt;br /&gt;
Для запуска сервера с поддержкой TLS необходимо указать сертификат сервера и соответствующий закрытый ключ.&lt;br /&gt;
 svacer server --ssl-cert svacer.crt --ssl-key svacer.key&lt;br /&gt;
&lt;br /&gt;
При этом ключ должен быть в незашифрованном виде. Права доступа к файлу должны быть 0600. В файле сертификата можно указывать цепочку сертификатов. В этом случае сервер, при подключении клиента, будет возвращать всю цепочку. Формат файла — PEM. TLS соединение активируется и для протокола REST и для протокола gRPC. &lt;br /&gt;
&lt;br /&gt;
Работа сервера по проктолу TLS сопровождается следующей записью в логе:&lt;br /&gt;
 Using TLS for REST and gRPC protocols&lt;br /&gt;
&lt;br /&gt;
Работа с таким сервером через CLI происходит как обычно. Для указания необходимости подключаться по TLS можно явно указать протокол в параметре '''--host''', либо добавить опцию '''--ssl'''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 svacer upload --host https://example.com&lt;br /&gt;
 svacer upload --ssl --host example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Также в клиенте можно определить параметр '''--ssl-ca-certs'''. Он позволяет задать доверенные сертификаты корневых центров. Указывается шаблон файлов (с *) или конкретный файл. Путь к директории должен быть абсолютным. В случае отсутствия этого параметра используется TLS, но сертификат сервера не проверяется. Этому случаю соответствует запись в логе клиента:&lt;br /&gt;
 Using weak TLS configuration, because no CA certificate found&lt;br /&gt;
&lt;br /&gt;
Если сертификаты были загружены, в логе будет строчка:&lt;br /&gt;
 added 1 ca certs from /home/user/svacer/svacer.crt&lt;br /&gt;
&lt;br /&gt;
Для администрирования сервера в плане используемого сертификата (например, замена при истечении срока действия) добавлена область в CLI svacer admin: '''server:config'''. В данной области есть 3 команды: '''show''', '''reload''', '''update'''. ID в этом случае нужно всегда указывать в значение '''ssl.cert'''.&lt;br /&gt;
 &lt;br /&gt;
* '''show''' — отображает текущий используемый сертификат&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''reload''' — заставляет сервер перечитать использованные при старте сервера файлы с сертификатом и ключом&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action reload&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''update''' — позволяет переслать на сервер новый сертификат (и ключ, если надо) и записать их в указанные при старте сервера файлы. При использовании этой команды нужно сформировать файл с новым сертификатом и, при необходимости, ключом, в формате PEM (используете '''cat''' для объединения сертификата и ключа в один файл) и указать этот файл в параметре value. Если в файле не будет указан закрытый ключ, то сервером будет использован текущий (тот, что был указан при запуске). Данная команда также изменит файлы сертификата и ключа (если он указан), указанные при старте сервера, на новые значения.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;svacer admin --ssl --host example.com --user admin --password admin --scope server:config --id ssl.cert --action update --value svacer.pem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Некоторое время после обновления сервер может использовать старые сертификаты для уже установленных соединений, при этом обновление страницы не помогает, нужно дождаться пока сервер не разорвет соединение на своей стороне ввиду отсутствия активности клиента.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=464</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=464"/>
		<updated>2023-02-22T15:19:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Нативно */ add ssl/tls info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;. Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
По умолчанию сервер запускается без поддержки SSL/TLS, при этом в логах отображается информация об этом.&lt;br /&gt;
 TLS for REST and gRPC DISABLED&lt;br /&gt;
&lt;br /&gt;
Для запуска сервера с поддержкой TLS необходимо указать сертификат сервера и соответствующий закрытый ключ.&lt;br /&gt;
 svacer server --ssl-cert svacer.crt --ssl-key svacer.key&lt;br /&gt;
&lt;br /&gt;
При этом ключ должен быть в незашифрованном виде. Права доступа к файлу должны быть 0600. В файле сертификата можно указывать цепочку сертификатов. В этом случае сервер, при подключении клиента, будет возвращать всю цепочку. Формат файла — PEM. TLS соединение активируется и для протокола REST и для протокола gRPC. &lt;br /&gt;
&lt;br /&gt;
Работа сервера по проктолу TLS сопровождается следующей записью в логе:&lt;br /&gt;
 Using TLS for REST and gRPC protocols&lt;br /&gt;
&lt;br /&gt;
Работа с таким сервером через CLI происходит как обычно. Для указания необходимости подключаться по TLS можно явно указать протокол в параметре '''--host''', либо добавить опцию '''--ssl'''.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 svacer upload --host https://example.com&lt;br /&gt;
 svacer upload --ssl --host example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Также в клиенте можно определить параметр '''--ssl-ca-certs'''. Он позволяет задать доверенные сертификаты корневых центров. Указывается шаблон файлов (с *) или конкретный файл. Путь к директории должен быть абсолютным. В случае отсутствия этого параметра используется TLS, но сертификат сервера не проверяется. Этому случаю соответствует запись в логе клиента:&lt;br /&gt;
 Using weak TLS configuration, because no CA certificate found&lt;br /&gt;
&lt;br /&gt;
Если сертификаты были загружены, в логе будет строчка:&lt;br /&gt;
 added 1 ca certs from /home/user/svacer/svacer.crt&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=460</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=460"/>
		<updated>2023-02-15T12:21:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;. Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=459</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=459"/>
		<updated>2023-02-15T12:19:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем ссылку &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;. Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=458</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=458"/>
		<updated>2023-02-15T12:17:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
==== Установка вручную ====&lt;br /&gt;
Далее будут описаны шаги установки и запуска Svacer как сервера. Для использования Svacer только как клиента установка и настройка БД PostgreSQL не требуется, достаточно распаковать архив дистрибутива и использовать файл '''bin/svacer.exe'''.&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
==== Установка из .msi ====&lt;br /&gt;
* Запустите файл установщика '''svacer-&amp;lt;version&amp;gt;.msi'''. Если появляется окно с предупреждением и текстом &amp;quot;Windows protected your PC&amp;quot;, нажмите в нем ссылку &amp;quot;More info&amp;quot;, а после — кнопку &amp;quot;Run anyway&amp;quot;.  Cледуйте шагам для установки Svacer&lt;br /&gt;
* После завершения установки Svacer будет добавлен в PATH, поэтому можно будет запускать его просто по имени, без полного пути&lt;br /&gt;
* Если планируется использовать Svacer только как клиент, то больше никаких действий не требуется&lt;br /&gt;
* Если нужно запустить Svacer как сервер — установите и настройте БД PostgreSQL как описано в предыдущей главе&lt;br /&gt;
* После настройки PostgreSQL запустите '''svacer.exe''' с указанием параметров подключения к БД аналогично тому, как описано в предыдущей главе&lt;br /&gt;
* Также для запуска сервера можете использовать скрипт '''start_svacer_server.cmd''', он устанавливается туда же, куда и сам Svacer и тоже добавляется в PATH. Перед запуском в этом скрипте можете поменять параметры подключения к БД (или не менять, если при создании БД использовали имя по умолчанию 'svace')&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=454</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=454"/>
		<updated>2023-02-10T15:15:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=453</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=453"/>
		<updated>2023-02-10T12:33:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=452</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=452"/>
		<updated>2023-02-10T12:30:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: some minor format and syntax fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом установится последняя версия пакета.&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  sudo apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
  sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
  sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
  sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
  sudo systemctl enable postgresql-14&lt;br /&gt;
  sudo systemctl start postgresql-14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
  # IPv4 local connections:&lt;br /&gt;
  host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
  # IPv6 local connections:&lt;br /&gt;
  host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
  sudo su -l postgres&lt;br /&gt;
  psql&lt;br /&gt;
  postgres=# create database svace;&lt;br /&gt;
  postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
  postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
  postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
  SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
  sudo systemctl enable svacer&lt;br /&gt;
  sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
  systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
  docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
  docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
  ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=451</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=451"/>
		<updated>2023-02-10T12:21:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: fix ports and interfaces part&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом установится последняя версия пакета.&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), вручную скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому, при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
=== Выбор сетевых интерфейсов и портов сервера ===&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=450</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=450"/>
		<updated>2023-02-10T12:18:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: info about apt repo + some restructure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer состоит из единственного бинарного файла. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Добавьте наш apt-репозиторий и установите Svacer из него.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo 'deb https://repo.ispras.ru/apt /' | sudo tee /etc/apt/sources.list.d/ispras.list&lt;br /&gt;
  wget -q -O - https://repo.ispras.ru/apt/key.asc | sudo apt-key add -&lt;br /&gt;
  sudo apt update&lt;br /&gt;
  sudo apt install -y svacer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом установится последняя версия пакета.&lt;br /&gt;
&lt;br /&gt;
Если нет возможности установить из репозитория (допустим, на машине без доступа к интернету), вручную скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й.&lt;br /&gt;
&lt;br /&gt;
На debian-based системах, обычно, чтобы установить PostgreSQL достаточно выполнить команду&lt;br /&gt;
&lt;br /&gt;
  apt install postgresql&lt;br /&gt;
&lt;br /&gt;
Если такая команда не работает, возможно, в репозиториях вашей ОС нет PostgreSQL. В таком случае обратитесь к [https://www.postgresql.org/download/linux/ руководству по установке] PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать Svacer только как клиент для взаимодействия с сервером, то больше ничего устанавливать и конфигурировать не нужно. &lt;br /&gt;
&lt;br /&gt;
Если планируете использовать Svacer как сервер, установите (или [[Help:Installation#Запуск_в_docker_только_PostgreSQL|запустите в докере]]) PostgreSQL версии не ниже 10-й, следуя [https://www.postgresql.org/download/linux/redhat/ документации], также установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
После установки [[Help:Installation#Настройка_и_запуск|создайте БД и запустите сервер Svacer]].&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей локации будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Они будут примонтированы в соответствующие контейнеры, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
==== Запуск в docker только PostgreSQL ====&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
При таком способе запуска создается пользователь и база, указанные в Svacer как параметры по умолчанию, поэтому, при запуске сервера Svacer параметр '''--pg''' можно не указывать (и не менять в конфиг-файле '''/etc/default/svacer''' при установке Svacer из пакетов).&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, указанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;br /&gt;
&lt;br /&gt;
== Выбор сетевых интерфейсов и портов запуска ==&lt;br /&gt;
&lt;br /&gt;
* По умолчанию web-сервер запускается на всех сетевых интерфейсах, на порту 8080 ('''0.0.0.0:8080'''). Для указания конкретного сетевого интерфейса можно использовать опцию '''--listen &amp;lt;network interface&amp;gt;''', для указания другого порта: '''--port &amp;lt;port_number&amp;gt;.&lt;br /&gt;
* Аналогично для grpc-сервера: по умолчанию — '''0.0.0.0:3002''', для выбора конкретного интерфейса: '''--listen-grpc &amp;lt;network_interface&amp;gt;''', для указания другого порта: '''--grpc &amp;lt;port_number&amp;gt;'''.&lt;br /&gt;
Пример:&lt;br /&gt;
  svacer server --listen 127.0.0.1 --port 9090 --listen-grpc 127.0.0.1 --grpc 3004&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=442</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=442"/>
		<updated>2023-02-06T10:54:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Apache */ fix websockets proxy config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    ProxyPass /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
    ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/api/ws/&lt;br /&gt;
&lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=430</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=430"/>
		<updated>2023-02-03T10:43:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: add info about fullchain certificate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http proxy_wstunnel rewrite &lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]&lt;br /&gt;
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]&lt;br /&gt;
    RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату (можно использовать fullchain-сертификат) и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=429</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=429"/>
		<updated>2023-02-02T14:45:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Расширенная конфигурация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http proxy_wstunnel rewrite &lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]&lt;br /&gt;
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]&lt;br /&gt;
    RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В этом конфигурационном файле укажите нужное имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=428</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=428"/>
		<updated>2023-02-02T14:43:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Расширенная конфигурация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http proxy_wstunnel rewrite &lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # path to ssl-certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]&lt;br /&gt;
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]&lt;br /&gt;
    RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=427</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=427"/>
		<updated>2023-02-02T14:24:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Расширенная конфигурация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/nginx/sites-enabled/''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # generate certificates and specify path to certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http proxy_wstunnel rewrite &lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в '''/etc/apache2/sites-enabled/'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # generate certificates and specify path to certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]&lt;br /&gt;
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]&lt;br /&gt;
    RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=426</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=426"/>
		<updated>2023-02-02T13:53:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка и запуск ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
== Расширенная конфигурация ==&lt;br /&gt;
=== Настройка HTTPS ===&lt;br /&gt;
Svacer пока не поддерживает HTTPS нативно, поэтому стандартный способ настроить взаимодействие с ним по этому протоколу — использовать reverse proxy с поддержкой HTTPS и проксированием в Svacer по HTTP.&lt;br /&gt;
==== Nginx ====&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в /etc/nginx/sites-enabled/ &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 443 ssl;&lt;br /&gt;
    listen [::]:443 ssl;&lt;br /&gt;
&lt;br /&gt;
    server_name svacer.ispras.ru;&lt;br /&gt;
&lt;br /&gt;
    # for large data transfers and continuous connections&lt;br /&gt;
    client_max_body_size        0;&lt;br /&gt;
    proxy_connect_timeout       600;&lt;br /&gt;
    proxy_send_timeout          600;&lt;br /&gt;
    proxy_read_timeout          600;&lt;br /&gt;
    send_timeout                600;&lt;br /&gt;
&lt;br /&gt;
    # generate certificates and specify path to certificate and key&lt;br /&gt;
    ssl_certificate /etc/ssl/certs/svacer.ispras.ru.crt;&lt;br /&gt;
    ssl_certificate_key /etc/ssl/private/svacer.ispras.ru.key;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include proxy_params;&lt;br /&gt;
&lt;br /&gt;
        # to make WebSockets work&lt;br /&gt;
        proxy_http_version  1.1;&lt;br /&gt;
        proxy_set_header    Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header    Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        # svacer HTTP URL&lt;br /&gt;
        proxy_pass http://127.0.0.1:8080;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Nginx.&lt;br /&gt;
  systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Также, если ваш сервер виден из интернета и его внешний IP-адрес привязан к доменному имени, можете использовать Let's Encrypt и Certbot для получения валидного SSL-сертификата. См. [https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/ эту инструкцию].&lt;br /&gt;
&lt;br /&gt;
==== Apache ====&lt;br /&gt;
Включите нужные модули в Apache&lt;br /&gt;
  sudo a2enmod ssl proxy proxy_http rewrite proxy_wstunnel&lt;br /&gt;
&lt;br /&gt;
Создайте конфигурационный файл с подобным содержанием в /etc/apache2/sites-enabled/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
    SSLEngine On&lt;br /&gt;
    ProxyPreserveHost On&lt;br /&gt;
    ProxyTimeout 600&lt;br /&gt;
    &lt;br /&gt;
    # generate certificates and specify path to certificate and key&lt;br /&gt;
    SSLCertificateFile /etc/ssl/certs/svacer.ispras.ru.crt&lt;br /&gt;
    SSLCertificateKeyFile /etc/ssl/private/svacer.ispras.ru.key&lt;br /&gt;
    &lt;br /&gt;
    # svacer HTTP URL&lt;br /&gt;
    ProxyPass / http://127.0.0.1:8080/&lt;br /&gt;
    ProxyPassReverse / http://127.0.0.1:8080/&lt;br /&gt;
&lt;br /&gt;
    # to make WebSockets work&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]&lt;br /&gt;
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]&lt;br /&gt;
    RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]&lt;br /&gt;
&lt;br /&gt;
    ServerName svacer.ispras.ru&lt;br /&gt;
    ServerAdmin svacer@ispras.ru&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поменяйте имя сервера, пути к сертификату и ключу, а также адрес сервера Svacer, куда проксировать. После этого перезапустите Apache.&lt;br /&gt;
  systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
==== Нативно ====&lt;br /&gt;
Планируем добавить встроенную поддержку HTTPS в ближайших релизах.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Introduction&amp;diff=425</id>
		<title>Help:Introduction</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Introduction&amp;diff=425"/>
		<updated>2023-02-02T10:40:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Введение ==&lt;br /&gt;
Сервер историй '''Svacer''' ('''''Svace Server''''') предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. Допускается одновременное использование старого и нового серверов.&lt;br /&gt;
&lt;br /&gt;
Svacer состоит из единственного исполняемого файла, который можно запустить как в [[Help:Installation|режиме сервера]] для хранения и обработки результатов анализа (при этом требуется PostgreSQL с созданной для Svacer БД), так и использовать как клиент для взаимодействия с этим сервером (в этом случае никаких зависимостей не требуется). Будучи запущенным в качестве сервера, Svacer предоставляет [[Help:ServerClient#Вход_в_сервер|web-UI]] и [[Help:ServerClient#Публичные_REST_запросы|REST API]] для взаимодействия. При использовании Svacer как клиента доступны команды для [[Help:ServerClient#Процесс_импорта|импорта]] предупреждений, [[Help:ServerClient#Загрузка_данных_на_сервер|загрузки]] их на сервер и другие возможности взаимодействия с сервером.&lt;br /&gt;
&lt;br /&gt;
=== Термины ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''Project'' &lt;br /&gt;
| Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''.&lt;br /&gt;
На сервере проект содержит в себе несколько '''branch''' с результатами работы анализатора&lt;br /&gt;
|-&lt;br /&gt;
| ''Branch (ветка)''&lt;br /&gt;
| Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master&lt;br /&gt;
|-&lt;br /&gt;
| ''Snapshot (снимок)''&lt;br /&gt;
| Результат работы ''svace analyze'', импортированный в промежуточное хранилище или на сервер. Содержит:&lt;br /&gt;
* имя проекта;&lt;br /&gt;
* имя ветки;&lt;br /&gt;
* результаты анализа (предупреждения);&lt;br /&gt;
* исходники, которые были включены в build, на котором производился анализ;&lt;br /&gt;
* вспомогательная информация для навигации по исходникам;&lt;br /&gt;
* дополнительные данные;&lt;br /&gt;
Допускается импортирование снимков без исходного кода и дополнительной информации&lt;br /&gt;
|-&lt;br /&gt;
| ''Marker (маркер, предупреждение)''&lt;br /&gt;
| Предупреждение от Svace с информацией о позиции в исходном файле&lt;br /&gt;
|-&lt;br /&gt;
| ''Svacer''&lt;br /&gt;
| Svace History Server, а также исполняемый файл, содержащий код сервера&lt;br /&gt;
|-&lt;br /&gt;
| ''Разметка''&lt;br /&gt;
| Проставление статуса маркера с опциональным добавлением комментария&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Состав дистрибутива ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| '''bin/svacer&amp;lt;br&amp;gt;bin/svacer.exe'''&lt;br /&gt;
| Бинарный файл сервера и утилита для импортирования результатов. Режим работы зависит от аргументов&lt;br /&gt;
|-&lt;br /&gt;
| '''support/svace-migration/svace-migration.jar'''&lt;br /&gt;
| Утилита подготовки данных для импорта из старого сервера историй. &lt;br /&gt;
Требует JDK для запуска. Может использоваться JDK из состава дистрибутива Svace&lt;br /&gt;
|-&lt;br /&gt;
| '''extra/docker-compose*.yml''' || Docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах&lt;br /&gt;
|-&lt;br /&gt;
| '''integrations/vscode''' || Расширение для Visual Studio Code и документация на него&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Зависимости ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| PostgreSQL версии 10 и выше. Требуется только при запуске Svacer в роли сервера&lt;br /&gt;
| Параметры подключения определяются аргументом при запуске сервера или переменной окружения SVACER_PG_URL. По умолчанию, используется следующий connect URL:&lt;br /&gt;
'''postgres://svace:svace@0.0.0.0:5432/svace'''&amp;lt;br&amp;gt;&lt;br /&gt;
Можно использовать PostgreSQL в docker-контейнере.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Настоятельно рекомендуем''' использовать выделенный сервер для хранения БД, особенно в production&lt;br /&gt;
|-&lt;br /&gt;
| libc.so&amp;lt;br&amp;gt;libpthread.so&amp;lt;br&amp;gt;libdl.so&amp;lt;br&amp;gt;linux-vdso.so&lt;br /&gt;
| Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace&lt;br /&gt;
|-&lt;br /&gt;
| Выделенная директория для хранения object storage&lt;br /&gt;
| Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации&lt;br /&gt;
|-&lt;br /&gt;
| Svace&lt;br /&gt;
| Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Используемые порты ===&lt;br /&gt;
&lt;br /&gt;
Приведены значения по умолчанию. Все значения могут быть переопределены.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 3002&lt;br /&gt;
| Используется для предоставления gRPC API.&lt;br /&gt;
gRPC API является внутренним и предназначен для загрузки данных на сервер&lt;br /&gt;
|-&lt;br /&gt;
| 8080&lt;br /&gt;
| Используется для предоставления REST API и web-сервера для предоставления web-UI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Системные требования ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CPU&lt;br /&gt;
| x86-64. Для обработки больших проектов рекомендуется не менее 8 ядер&lt;br /&gt;
|-&lt;br /&gt;
| RAM&lt;br /&gt;
| От 4 Гб. Для обработки больших проектов рекомендуется не менее 16 Гб&lt;br /&gt;
|-&lt;br /&gt;
| HDD&lt;br /&gt;
| От 1 Гб до нескольких Тб при хранении множества снимков больших проектов&lt;br /&gt;
|-&lt;br /&gt;
| OS&lt;br /&gt;
| &lt;br /&gt;
* Ubuntu 18 и выше&lt;br /&gt;
* Debian 10 и выше&lt;br /&gt;
* RHEL/CentOS 7 и 8&lt;br /&gt;
* Astra Linux Special Edition 1.7, базовый уровень защищенности&lt;br /&gt;
* Microsoft Windows 10 (build 19043.2130, build 19044.2130)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=424</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=424"/>
		<updated>2023-01-27T14:54:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=423</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=423"/>
		<updated>2023-01-27T14:33:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: complete Windows installation part&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
* По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
* По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
:[[File:Postgres windows components.png]]&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданным во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления PostgreSQL. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием '''svacer_release-&amp;lt;version&amp;gt;.zip''') &lt;br /&gt;
* В консоли перейдите в директорию дистрибутива и запустите '''svacer.exe'''. Если при создании пользователя и БД PostgreSQL вы использовали для них имя по умолчанию 'svace', как в примере выше, то указывать данные для подключения к БД при запуске сервера не обязательно&lt;br /&gt;
  cd svacer-release-6-0-3&lt;br /&gt;
  bin\svacer.exe server&lt;br /&gt;
* Если создавали пользователя или БД с другими именами, то при запуске сервера надо указать их явно&lt;br /&gt;
  bin\svacer.exe server --pg postgres://svacer_user:svacer_password@127.0.0.1:5432/svacer_database&lt;br /&gt;
* После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=422</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=422"/>
		<updated>2023-01-26T16:06:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: add windows installation (incomplete yet)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием вида '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск на Windows ===&lt;br /&gt;
* Скачайте установщик PostgreSQL для Windows: https://www.postgresql.org/download/windows&lt;br /&gt;
* Установите PostgreSQL, выбрав, как минимум, компоненты &amp;quot;PostgreSQL Server&amp;quot; и &amp;quot;Command Line Tools&amp;quot;&lt;br /&gt;
:[[File:Postgres windows components.png]]&lt;br /&gt;
* Задайте и запомните пароль на шаге выбора пароля для суперпользователя&lt;br /&gt;
* Остальные параметры при установке можно оставить по-умолчанию&lt;br /&gt;
* После установки PostgreSQL откройте консоль, перейдите в директорию, куда установили PostgreSQL, запустите его клиент с указанием пользователя &amp;quot;postgres&amp;quot; и авторизуйтесь с паролем, заданном во время установки&lt;br /&gt;
  cd c:\Program Files\PostgreSQL\15\bin&lt;br /&gt;
  psql -U postgres&lt;br /&gt;
* Запустится консоль управления БД. Выполните в ней следующие команды, чтобы создать БД и пользователя для Svacer&lt;br /&gt;
  create database svace;&lt;br /&gt;
  create user svace with encrypted password 'svace';&lt;br /&gt;
  grant all privileges on database svace to svace;&lt;br /&gt;
  alter user svace superuser;&lt;br /&gt;
* Выйдите из консоли PostgreSQL&lt;br /&gt;
* Скачайте и распакуйте архив дистрибутива Svacer (файл с названием вида '''svacer_release-&amp;lt;version&amp;gt;.zip''')&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Introduction&amp;diff=421</id>
		<title>Help:Introduction</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Introduction&amp;diff=421"/>
		<updated>2023-01-26T16:04:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: add info about postgres dependency and client/server features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Введение ==&lt;br /&gt;
Сервер историй '''Svacer''' ('''''Svace Server''''') предназначен для хранения и обработки результатов работы статического анализатора Svace. Он разработан с целью заменить старый сервер историй, встроенный в анализатор Svace. Допускается одновременное использование старого и нового серверов.&lt;br /&gt;
&lt;br /&gt;
Svacer состоит из единственного исполняемого файла, который можно запустить как в [[Help:Installation|режиме сервера]] для хранения и обработки результатов анализа (при этом требуется PostgreSQL с созданной для Svacer БД), так и использовать как клиент для взаимодействия с этим сервером (в этом случае никаких зависимостей не требуется). Будучи запущенным в качестве сервера, Svacer предоставляет [[Help:ServerClient#Вход_в_сервер|web-UI]] и [[Help:ServerClient#Публичные_REST_запросы|REST API]] для взаимодействия. При использовании Svacer как клиента доступны команды для [[Help:ServerClient#Процесс_импорта|импорта]] предупреждений, [[Help:ServerClient#Загрузка_данных_на_сервер|загрузки]] их на сервер и прочие.&lt;br /&gt;
&lt;br /&gt;
=== Термины ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ''Project'' &lt;br /&gt;
| Проект, подлежащий анализу. По умолчанию именем проекта считается имя директории, в которой был запущен ''svace build'' и ''svace analyze''.&lt;br /&gt;
На сервере проект содержит в себе несколько '''branch''' с результатами работы анализатора&lt;br /&gt;
|-&lt;br /&gt;
| ''Branch (ветка)''&lt;br /&gt;
| Ветка в проекте с результатами работы анализатора. По умолчанию проект имеет одну ветку — master&lt;br /&gt;
|-&lt;br /&gt;
| ''Snapshot (снимок)''&lt;br /&gt;
| Результат работы ''svace analyze'', импортированный в промежуточное хранилище или на сервер. Содержит:&lt;br /&gt;
* имя проекта;&lt;br /&gt;
* имя ветки;&lt;br /&gt;
* результаты анализа (предупреждения);&lt;br /&gt;
* исходники, которые были включены в build, на котором производился анализ;&lt;br /&gt;
* вспомогательная информация для навигации по исходникам;&lt;br /&gt;
* дополнительные данные;&lt;br /&gt;
Допускается импортирование снимков без исходного кода и дополнительной информации&lt;br /&gt;
|-&lt;br /&gt;
| ''Marker (маркер, предупреждение)''&lt;br /&gt;
| Предупреждение от Svace с информацией о позиции в исходном файле&lt;br /&gt;
|-&lt;br /&gt;
| ''Svacer''&lt;br /&gt;
| Svace History Server, а также исполняемый файл, содержащий код сервера&lt;br /&gt;
|-&lt;br /&gt;
| ''Разметка''&lt;br /&gt;
| Проставление статуса маркера с опциональным добавлением комментария&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Состав дистрибутива ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| '''bin/svacer&amp;lt;br&amp;gt;bin/svacer.exe'''&lt;br /&gt;
| Бинарный файл сервера и утилита для импортирования результатов. Режим работы зависит от аргументов&lt;br /&gt;
|-&lt;br /&gt;
| '''support/svace-migration/svace-migration.jar'''&lt;br /&gt;
| Утилита подготовки данных для импорта из старого сервера историй. &lt;br /&gt;
Требует JDK для запуска. Может использоваться JDK из состава дистрибутива Svace&lt;br /&gt;
|-&lt;br /&gt;
| '''extra/docker-compose*.yml''' || Docker-compose файлы для запуска БД PostgreSQL и Svacer в docker-контейнерах&lt;br /&gt;
|-&lt;br /&gt;
| '''integrations/vscode''' || Расширение для Visual Studio Code и документация на него&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Зависимости ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| PostgreSQL версии 10 и выше. Требуется только при запуске Svacer в роли сервера&lt;br /&gt;
| Параметры подключения определяются аргументом при запуске сервера или переменной окружения SVACER_PG_URL. По умолчанию, используется следующий connect URL:&lt;br /&gt;
'''postgres://svace:svace@0.0.0.0:5432/svace'''&amp;lt;br&amp;gt;&lt;br /&gt;
Можно использовать PostgreSQL в docker-контейнере.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Настоятельно рекомендуем''' использовать выделенный сервер для хранения БД, особенно в production&lt;br /&gt;
|-&lt;br /&gt;
| libc.so&amp;lt;br&amp;gt;libpthread.so&amp;lt;br&amp;gt;libdl.so&amp;lt;br&amp;gt;linux-vdso.so&lt;br /&gt;
| Серверная часть написана на Go с CGO_ENABLED=1 ввиду необходимости читать sqlite-файлы из результатов работы анализатора Svace&lt;br /&gt;
|-&lt;br /&gt;
| Выделенная директория для хранения object storage&lt;br /&gt;
| Сервер использует встроенную key-value database для хранения информации об исходном коде: контент-файлов и вспомогательной информации для навигации&lt;br /&gt;
|-&lt;br /&gt;
| Svace&lt;br /&gt;
| Для импорта данных на сервер историй требуется наличие Svace на хосте, откуда происходит импорт. Svace используется для получения информации из .svace-dir&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Используемые порты ===&lt;br /&gt;
&lt;br /&gt;
Приведены значения по умолчанию. Все значения могут быть переопределены.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 3002&lt;br /&gt;
| Используется для предоставления gRPC API.&lt;br /&gt;
gRPC API является внутренним и предназначен для загрузки данных на сервер&lt;br /&gt;
|-&lt;br /&gt;
| 8080&lt;br /&gt;
| Используется для предоставления REST API и web-сервера для предоставления web-UI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Системные требования ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CPU&lt;br /&gt;
| x86-64. Для обработки больших проектов рекомендуется не менее 8 ядер&lt;br /&gt;
|-&lt;br /&gt;
| RAM&lt;br /&gt;
| От 4 Гб. Для обработки больших проектов рекомендуется не менее 16 Гб&lt;br /&gt;
|-&lt;br /&gt;
| HDD&lt;br /&gt;
| От 1 Гб до нескольких Тб при хранении множества снимков больших проектов&lt;br /&gt;
|-&lt;br /&gt;
| OS&lt;br /&gt;
| &lt;br /&gt;
* Ubuntu 18 и выше&lt;br /&gt;
* Debian 10 и выше&lt;br /&gt;
* RHEL/CentOS 7 и 8&lt;br /&gt;
* Astra Linux Special Edition 1.7, базовый уровень защищенности&lt;br /&gt;
* Microsoft Windows 10 (build 19043.2130, build 19044.2130)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=419</id>
		<title>Changelog</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=419"/>
		<updated>2023-01-25T16:16:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: release 6-0-3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Release 7-0-0 ===&lt;br /&gt;
Планируется на апрель 2023&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-3 ===&lt;br /&gt;
25.01.2023&lt;br /&gt;
&lt;br /&gt;
* RPM-пакет теперь при сборке упаковывается в gzip вместо zstd для обратной совместимости со старыми дистрибутивами&lt;br /&gt;
* Если short url некорректен, то Svacer теперь будет возвращать корректный http error NotFound&lt;br /&gt;
* Если путь к лог файлу явно не указан, то svacer.log будет создаваться во временной директории. Это решает проблемы при запуске Svacer из директорий с запретом на запись. Путь к лог файлу будет печататься в stdout&lt;br /&gt;
* Лог файлы не будут создаваться, когда используется опция --help&lt;br /&gt;
* Исправлены проблемы при миграции схемы данных, когда в PostgreSQL используется SSL подключение&lt;br /&gt;
* Добавлены описания детекторов из последнего релиза Svace, которые были пропущены в релизе 6-0-2&lt;br /&gt;
* Исправлена работа Svacer за proxy-сервером, где выставляется Header &amp;quot;X-Content-Type-Options nosniff&amp;quot;&lt;br /&gt;
* Добавлены кнопки для скачивания системного лога и журнала из web-интерфейса&lt;br /&gt;
* Поправлен ряд ошибок валидации схемы при экспорте в SARIF&lt;br /&gt;
* Исправлено поведение при наличии нескольких хуков в конфигурационном файле&lt;br /&gt;
* В информацию о маркере для хуков добавлены checker severity и reliability&lt;br /&gt;
* Исправлен случайный порядок URL для маркеров при использовании public API для получения URL-ов&lt;br /&gt;
* На главную страницу добавлена кнопка &amp;quot;Помощь&amp;quot;, которая открывает документацию&lt;br /&gt;
* При использовании команд навигации в режиме &amp;quot;Browse code&amp;quot; текущий файл теперь корректно подсвечивается в дереве файлов&lt;br /&gt;
* В диалоге групповой разметки убран индикатор изменений в виде кружочка, наличие изменений можно определить по активности кнопок &amp;quot;Apply&amp;quot; и &amp;quot;Reset&amp;quot;&lt;br /&gt;
* Кнопка обновления в верхнем меню теперь корректно обновляет информацию на странице Settings/Project&lt;br /&gt;
* Различные небольшие исправления в пользовательском интерфейсе&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-2 ===&lt;br /&gt;
16.12.2022&lt;br /&gt;
&lt;br /&gt;
* Исправлена проблема в UI с сохраненными пользовательскими фильтрами&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-1 === &lt;br /&gt;
13.12.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено описание ряда детекторов, которые есть в последнем релизе Svace 3.3.2 но были пропущены в Svacer&lt;br /&gt;
* Исправлено вылетание в Login Screen при удалении нотификации из панели нотификаций&lt;br /&gt;
* Исправлено появление белого экрана при клике на детектор, информация о котором отсутствует&lt;br /&gt;
* Ряд различных небольших исправлений в UI&lt;br /&gt;
* Промежуточное хранилище будет очищаться по умолчанию при использовании команды import&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-0 === &lt;br /&gt;
30.11.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено копирование комментариев при копировании разметки&lt;br /&gt;
* Комментарии добавлены к отчету в формате csv&lt;br /&gt;
* Добавлена возможность вводить пароль с клавиатуры для консольных команд&lt;br /&gt;
* Добавлена возможность импортировать разметку из объекта сборки (из ранее загруженных данных)&lt;br /&gt;
* Добавлена возможность импортировать разметку сразу после загрузки на сервер (опция для команды svacer upload)&lt;br /&gt;
* Добавлена возможность загружать исходный код не из папки .svace-dir&lt;br /&gt;
* Добавлена возможность бэкапа и восстановление объектного хранилища в сервер PostgresSQL&lt;br /&gt;
* Добавлена возможность создания отчета по проекту в формате PDF через интерфейс командной строки и посредством REST API&lt;br /&gt;
* Добавлена возможность подавления предупреждений через inline комментарии в коде&lt;br /&gt;
* Добавлена возможность подавления предупреждений по идентификатору предупреждения через command line и REST API&lt;br /&gt;
* Добавлена возможность ассоциировать организацию с пользователем и реестр организаций&lt;br /&gt;
* Добавлена фильтрация списка комментариев по пользователю в правой панели веб-интерфейса&lt;br /&gt;
* Добавлен поиск пользователей по его атрибутам в панели управления пользователями&lt;br /&gt;
* Добавлена возможность заполнения данных профиля LDAP пользователя данными, полученными от LDAP сервера&lt;br /&gt;
* Добавлена возможность прикреплять файлы к снимкам при импорте результатов (данные файлы составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлена возможность ассоциировать пользовательские атрибуты типа &amp;quot;строка&amp;quot; или массив строк со снимком при импорте данных (данные атрибуты составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлены command line операции по получению прикрепленных файлов и пользовательских атрибутов со снимков&lt;br /&gt;
* Добавлена возможность группового добавления комментариев&lt;br /&gt;
* Добавлена возможность указания сетевого интерфейса для работы WEB и GRPC серверов&lt;br /&gt;
* Добавлен вывод краткой статистики по загруженному снимку при команде upload. Поддерживается текстовой и JSON форматы вывода&lt;br /&gt;
* Существенно расширены возможности по интеграции Visual Studio Code с сервером Svacer&lt;br /&gt;
* Добавлен флаг --git в команду import. При наличии такого флага, ищется ближайший git репозиторий содержащий .svace-dir и при наличии такого - используется путь к гит репозиторию для замены путей на префикс .build.&lt;br /&gt;
* Portable PostgreSQL больше не входит в поставку. Вместо него поставляется docker-compose.yml файл для запуска PostgreSQL в докер-контейнере&lt;br /&gt;
* Добавлено больше данных и информации об ошибках в вывод команды svacer import&lt;br /&gt;
* Изменение Public API: добавлена точка входа /api/public/login&lt;br /&gt;
* Операции по импорту и экспорту снимков доступны теперь обычным пользователям (не администраторам) при использовании command line интерфейса&lt;br /&gt;
* Операция по экспорту снимков доступна обычному пользователю из веб-интерфейса (импорт все еще требует роль администратора для веб-интерфейса)&lt;br /&gt;
* Операции по экспорту снимков переведены на асинхронный режим. Нотификация о готовности будет показана пользователю и доступна в панели нотификаций&lt;br /&gt;
* Обновлено описание детекторов в соответствии с релизом Svace 3.3.2&lt;br /&gt;
* Исправлена ошибка обработки корневых сертификатов при подключении к LDAP серверу по протоколу ldaps&lt;br /&gt;
* Исправлено ошибочное создание дубликатов локальных учетных записей LDAP пользователей (case sensitive login)&lt;br /&gt;
* Различные исправления в пользовательском интерфейсе с целью оптимизации производительности&lt;br /&gt;
* Добавлены пропущенные проверки ролей при работе с веб-интерфейсом&lt;br /&gt;
* Svacer больше не создает временные файлы в директории с исполняемым файлом&lt;br /&gt;
* Устаранены задержки при удалении веток и проектов&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=418</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=418"/>
		<updated>2023-01-25T16:10:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.3&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-3|6.0.3]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_release-6-0-3.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_release-6-0-3.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_6.0-3_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer_6.0-3_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer-6.0-3.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-3/svacer-6.0-3.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-2|6.0.2]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-1|6.0.1]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-0|6.0.0]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm.md5 md5])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
Все релизы также доступны в виде докер-образов с соответсвующими тегами на [https://hub.docker.com/r/ispras/svacer Docker Hub]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer на демонстрационном сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=415</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=415"/>
		<updated>2023-01-20T09:49:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.3&lt;br /&gt;
| Планируется на февраль 2023, в основном багфиксы&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-2|6.0.2]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-1|6.0.1]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-0|6.0.0]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm.md5 md5])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
Все релизы также доступны в виде докер-образов с соответсвующими тегами на [https://hub.docker.com/r/ispras/svacer Docker Hub]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer на демонстрационном сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=411</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=411"/>
		<updated>2023-01-13T15:21:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.1.0&lt;br /&gt;
| Планируется на февраль 2023, в основном багфиксы&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-2|6.0.2]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-1|6.0.1]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-0|6.0.0]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm.md5 md5])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
Все релизы также доступны в виде докер-образов с соответсвующими тегами на [https://hub.docker.com/r/ispras/svacer Docker Hub]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer на демонстрационном сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=410</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=410"/>
		<updated>2023-01-13T14:23:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.1.0&lt;br /&gt;
| Планируется на февраль 2023, в основном багфиксы&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-2|6.0.2]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_release-6-0-2.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer_6.0-2_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-2/svacer-6.0-2.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-1|6.0.1]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_release-6-0-1.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer_6.0-1_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-1/svacer-6.0-1.x86_64.rpm.md5 md5])&lt;br /&gt;
|-&lt;br /&gt;
| [[Changelog#Release_6-0-0|6.0.0]]&lt;br /&gt;
| [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip zip]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_release-6-0-0.zip.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb deb]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer_6.0-0_amd64.deb.md5 md5]); [https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm rpm]([https://svacer.ispras.ru/releases/svacer-release-6-0-0/svacer-6.0-0.x86_64.rpm.md5 md5])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer на демонстрационном сервере: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=409</id>
		<title>Changelog</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=409"/>
		<updated>2023-01-13T13:22:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Release 7-0-0 ===&lt;br /&gt;
Планируется на апрель 2023&lt;br /&gt;
&lt;br /&gt;
=== Release 6-1-0 ===&lt;br /&gt;
Планируется на февраль 2023&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-2 ===&lt;br /&gt;
16.12.2022&lt;br /&gt;
&lt;br /&gt;
* Исправлена проблема в UI с сохраненными пользовательскими фильтрами&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-1 === &lt;br /&gt;
13.12.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено описание ряда детекторов, которые есть в последнем релизе Svace 3.3.2 но были пропущены в Svacer&lt;br /&gt;
* Исправлено вылетание в Login Screen при удалении нотификации из панели нотификаций&lt;br /&gt;
* Исправлено появление белого экрана при клике на детектор, информация о котором отсутствует&lt;br /&gt;
* Ряд различных небольших исправлений в UI&lt;br /&gt;
* Промежуточное хранилище будет очищаться по умолчанию при использовании команды import&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-0 === &lt;br /&gt;
30.11.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено копирование комментариев при копировании разметки&lt;br /&gt;
* Комментарии добавлены к отчету в формате csv&lt;br /&gt;
* Добавлена возможность вводить пароль с клавиатуры для консольных команд&lt;br /&gt;
* Добавлена возможность импортировать разметку из объекта сборки (из ранее загруженных данных)&lt;br /&gt;
* Добавлена возможность импортировать разметку сразу после загрузки на сервер (опция для команды svacer upload)&lt;br /&gt;
* Добавлена возможность загружать исходный код не из папки .svace-dir&lt;br /&gt;
* Добавлена возможность бэкапа и восстановление объектного хранилища в сервер PostgresSQL&lt;br /&gt;
* Добавлена возможность создания отчета по проекту в формате PDF через интерфейс командной строки и посредством REST API&lt;br /&gt;
* Добавлена возможность подавления предупреждений через inline комментарии в коде&lt;br /&gt;
* Добавлена возможность подавления предупреждений по идентификатору предупреждения через command line и REST API&lt;br /&gt;
* Добавлена возможность ассоциировать организацию с пользователем и реестр организаций&lt;br /&gt;
* Добавлена фильтрация списка комментариев по пользователю в правой панели веб-интерфейса&lt;br /&gt;
* Добавлен поиск пользователей по его атрибутам в панели управления пользователями&lt;br /&gt;
* Добавлена возможность заполнения данных профиля LDAP пользователя данными, полученными от LDAP сервера&lt;br /&gt;
* Добавлена возможность прикреплять файлы к снимкам при импорте результатов (данные файлы составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлена возможность ассоциировать пользовательские атрибуты типа &amp;quot;строка&amp;quot; или массив строк со снимком при импорте данных (данные атрибуты составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлены command line операции по получению прикрепленных файлов и пользовательских атрибутов со снимков&lt;br /&gt;
* Добавлена возможность группового добавления комментариев&lt;br /&gt;
* Добавлена возможность указания сетевого интерфейса для работы WEB и GRPC серверов&lt;br /&gt;
* Добавлен вывод краткой статистики по загруженному снимку при команде upload. Поддерживается текстовой и JSON форматы вывода&lt;br /&gt;
* Существенно расширены возможности по интеграции Visual Studio Code с сервером Svacer&lt;br /&gt;
* Добавлен флаг --git в команду import. При наличии такого флага, ищется ближайший git репозиторий содержащий .svace-dir и при наличии такого - используется путь к гит репозиторию для замены путей на префикс .build.&lt;br /&gt;
* Portable PostgreSQL больше не входит в поставку. Вместо него поставляется docker-compose.yml файл для запуска PostgreSQL в докер-контейнере&lt;br /&gt;
* Добавлено больше данных и информации об ошибках в вывод команды svacer import&lt;br /&gt;
* Изменение Public API: добавлена точка входа /api/public/login&lt;br /&gt;
* Операции по импорту и экспорту снимков доступны теперь обычным пользователям (не администраторам) при использовании command line интерфейса&lt;br /&gt;
* Операция по экспорту снимков доступна обычному пользователю из веб-интерфейса (импорт все еще требует роль администратора для веб-интерфейса)&lt;br /&gt;
* Операции по экспорту снимков переведены на асинхронный режим. Нотификация о готовности будет показана пользователю и доступна в панели нотификаций&lt;br /&gt;
* Обновлено описание детекторов в соответствии с релизом Svace 3.3.2&lt;br /&gt;
* Исправлена ошибка обработки корневых сертификатов при подключении к LDAP серверу по протоколу ldaps&lt;br /&gt;
* Исправлено ошибочное создание дубликатов локальных учетных записей LDAP пользователей (case sensitive login)&lt;br /&gt;
* Различные исправления в пользовательском интерфейсе с целью оптимизации производительности&lt;br /&gt;
* Добавлены пропущенные проверки ролей при работе с веб-интерфейсом&lt;br /&gt;
* Svacer больше не создает временные файлы в директории с исполняемым файлом&lt;br /&gt;
* Устаранены задержки при удалении веток и проектов&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=408</id>
		<title>Changelog</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Changelog&amp;diff=408"/>
		<updated>2023-01-13T12:54:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;=== Release 6-1-0 === Планируется на февраль 2023  === Release 6-0-2 === 16.12.2022  * Исправлена проблема в UI с сохраненными пользовательскими фильтрами  === Release 6-0-1 ===  13.12.2022  * Добавлено описание ряда детекторов, которые есть в последнем релизе Svace 3.3.2 но были пропущены в Svacer * Исправлено...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Release 6-1-0 ===&lt;br /&gt;
Планируется на февраль 2023&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-2 ===&lt;br /&gt;
16.12.2022&lt;br /&gt;
&lt;br /&gt;
* Исправлена проблема в UI с сохраненными пользовательскими фильтрами&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-1 === &lt;br /&gt;
13.12.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено описание ряда детекторов, которые есть в последнем релизе Svace 3.3.2 но были пропущены в Svacer&lt;br /&gt;
* Исправлено вылетание в Login Screen при удалении нотификации из панели нотификаций&lt;br /&gt;
* Исправлено появление белого экрана при клике на детектор, информация о котором отсутствует&lt;br /&gt;
* Ряд различных небольших исправлений в UI&lt;br /&gt;
* Промежуточное хранилище будет очищаться по умолчанию при использовании команды import&lt;br /&gt;
&lt;br /&gt;
=== Release 6-0-0 === &lt;br /&gt;
30.11.2022&lt;br /&gt;
&lt;br /&gt;
* Добавлено копирование комментариев при копировании разметки&lt;br /&gt;
* Комментарии добавлены к отчету в формате csv&lt;br /&gt;
* Добавлена возможность вводить пароль с клавиатуры для консольных команд&lt;br /&gt;
* Добавлена возможность импортировать разметку из объекта сборки (из ранее загруженных данных)&lt;br /&gt;
* Добавлена возможность импортировать разметку сразу после загрузки на сервер (опция для команды svacer upload)&lt;br /&gt;
* Добавлена возможность загружать исходный код не из папки .svace-dir&lt;br /&gt;
* Добавлена возможность бэкапа и восстановление объектного хранилища в сервер PostgresSQL&lt;br /&gt;
* Добавлена возможность создания отчета по проекту в формате PDF через интерфейс командной строки и посредством REST API&lt;br /&gt;
* Добавлена возможность подавления предупреждений через inline комментарии в коде&lt;br /&gt;
* Добавлена возможность подавления предупреждений по идентификатору предупреждения через command line и REST API&lt;br /&gt;
* Добавлена возможность ассоциировать организацию с пользователем и реестр организаций&lt;br /&gt;
* Добавлена фильтрация списка комментариев по пользователю в правой панели веб-интерфейса&lt;br /&gt;
* Добавлен поиск пользователей по его атрибутам в панели управления пользователями&lt;br /&gt;
* Добавлена возможность заполнения данных профиля LDAP пользователя данными, полученными от LDAP сервера&lt;br /&gt;
* Добавлена возможность прикреплять файлы к снимкам при импорте результатов (данные файлы составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлена возможность ассоциировать пользовательские атрибуты типа &amp;quot;строка&amp;quot; или массив строк со снимком при импорте данных (данные атрибуты составляют часть экспортируемых данных при экспорте снимков)&lt;br /&gt;
* Добавлены command line операции по получению прикрепленных файлов и пользовательских атрибутов со снимков&lt;br /&gt;
* Добавлена возможность группового добавления комментариев&lt;br /&gt;
* Добавлена возможность указания сетевого интерфейса для работы WEB и GRPC серверов&lt;br /&gt;
* Добавлен вывод краткой статистики по загруженному снимку при команде upload. Поддерживается текстовой и JSON форматы вывода&lt;br /&gt;
* Существенно расширены возможности по интеграции Visual Studio Code с сервером Svacer&lt;br /&gt;
* Добавлен флаг --git в команду import. При наличии такого флага, ищется ближайший git репозиторий содержащий .svace-dir и при наличии такого - используется путь к гит репозиторию для замены путей на префикс .build.&lt;br /&gt;
* Portable PostgreSQL больше не входит в поставку. Вместо него поставляется docker-compose.yml файл для запуска PostgreSQL в докер-контейнере&lt;br /&gt;
* Добавлено больше данных и информации об ошибках в вывод команды svacer import&lt;br /&gt;
* Изменение Public API: добавлена точка входа /api/public/login&lt;br /&gt;
* Операции по импорту и экспорту снимков доступны теперь обычным пользователям (не администраторам) при использовании command line интерфейса&lt;br /&gt;
* Операция по экспорту снимков доступна обычному пользователю из веб-интерфейса (импорт все еще требует роль администратора для веб-интерфейса)&lt;br /&gt;
* Операции по экспорту снимков переведены на асинхронный режим. Нотификация о готовности будет показана пользователю и доступна в панели нотификаций&lt;br /&gt;
* Обновлено описание детекторов в соответствии с релизом Svace 3.3.2&lt;br /&gt;
* Исправлена ошибка обработки корневых сертификатов при подключении к LDAP серверу по протоколу ldaps&lt;br /&gt;
* Исправлено ошибочное создание дубликатов локальных учетных записей LDAP пользователей (case sensitive login)&lt;br /&gt;
* Различные исправления в пользовательском интерфейсе с целью оптимизации производительности&lt;br /&gt;
* Добавлены пропущенные проверки ролей при работе с веб-интерфейсом&lt;br /&gt;
* Svacer больше не создает временные файлы в директории с исполняемым файлом&lt;br /&gt;
* Устаранены задержки при удалении веток и проектов&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=407</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=407"/>
		<updated>2023-01-13T11:54:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.1.0&lt;br /&gt;
| В основном багфиксы. Планируется на февраль 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.2&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.1&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| add link here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer тут: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=404</id>
		<title>Help:Installation</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Installation&amp;diff=404"/>
		<updated>2023-01-13T11:38:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Установка ==&lt;br /&gt;
Для работы сервера необходим PostgreSQL. Его можно установить как пакет, либо запустить в докере — docker-compose файл для этого находится в '''./extra/docker-compose-postgres.yml'''.&lt;br /&gt;
Svacer сервер состоит из единственного бинарного файла — '''svacer'''. Он предоставляет как backend-часть, так и веб-сервер, который передаёт статику. По умолчанию запускается на порту 8080.&lt;br /&gt;
После запуска по умолчанию создается учётная запись пользователя '''admin''' c паролем '''admin'''. Изменить пароль можно в веб-интерфейсе.&lt;br /&gt;
Сервер имеет широкие возможности настройки параметров запуска. Узнать о них подробнее можно, прочитав '''svacer --help'''.&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск из deb/rpm пакета ===&lt;br /&gt;
Процесс установки из .deb и .rpm пакетов несколько различается и будет описан ниже в отдельных главах. Процесс настройки и запуска не различается и будет описан в одной общей главе.&lt;br /&gt;
&lt;br /&gt;
==== .deb ====&lt;br /&gt;
Скачайте .deb пакет релиза и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo apt install ./svacer_&amp;lt;version&amp;gt;_amd64.deb&lt;br /&gt;
&lt;br /&gt;
При этом, если в репозиториях есть PostgreSQL нужной версии, он будет установлен автоматически. Если нет, то установка завершится с ошибкой о зависимости от PostgreSQL. В этом случае вам надо будет установить PostgreSQL версии не ниже 10-й (см. [https://www.postgresql.org/download/linux/ документацию]), после чего повторить установку Svacer.&lt;br /&gt;
&lt;br /&gt;
==== .rpm ====&lt;br /&gt;
Установите PostgeSQL версии не ниже 10-й для вашей ОС следуя [https://www.postgresql.org/download/linux/redhat/ документации]. Дополнительно установите пакет postgresql-contrib из тех же репозиториев.&lt;br /&gt;
&lt;br /&gt;
Пример для Centos 7&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm&lt;br /&gt;
    sudo yum install -y postgresql14-server postgresql14-contrib&lt;br /&gt;
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb&lt;br /&gt;
    sudo systemctl enable postgresql-14&lt;br /&gt;
    sudo systemctl start postgresql-14&lt;br /&gt;
&lt;br /&gt;
Для версий PostgreSQL ниже 13-й требуется явно разрешить подключение к локальному хосту базы с логином/паролем. Для этого проверьте следующие строчки в конце файла '''/var/lib/pgsql/&amp;lt;version&amp;gt;/data/pg_hba.conf'''&lt;br /&gt;
&lt;br /&gt;
    # IPv4 local connections:&lt;br /&gt;
    host    all    all    127.0.0.1/32    ident&amp;lt;br&amp;gt;&lt;br /&gt;
    # IPv6 local connections:&lt;br /&gt;
    host    all    all    ::1/128         ident&lt;br /&gt;
&lt;br /&gt;
В случае если в последнем столбце указано значение '''ident''', поменяйте его на '''md5''' и перезапустите PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl restart postgresql-12&lt;br /&gt;
&lt;br /&gt;
Скачайте .rpm пакет релиза Svacer и выполните следующую команду&lt;br /&gt;
&lt;br /&gt;
    sudo yum install ./svacer-&amp;lt;version&amp;gt;.x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
==== Настройка и запуск ====&lt;br /&gt;
Процесс настройки и запуска одинаковый для Svacer установленного из .deb и .rpm пакетов.&lt;br /&gt;
&lt;br /&gt;
В процессе установки создаются следующие файлы и директории&lt;br /&gt;
* /etc/default/svacer — конфигурационный файл&lt;br /&gt;
* /var/log/svacer — директория для логов&lt;br /&gt;
* /var/lib/svacer — директория для object store&lt;br /&gt;
&lt;br /&gt;
После установки Svacer требуется создать пользователя и БД PostgreSQL. Для этого перейдите в пользователя postgres, запустите psql и выполните соответствующие запросы, после чего выйдите из консоли PostgreSQL и из пользователя postgres.&lt;br /&gt;
&lt;br /&gt;
    sudo su -l postgres&lt;br /&gt;
    psql&lt;br /&gt;
    postgres=# create database svace;&lt;br /&gt;
    postgres=# create user svace with encrypted password 'svace';&lt;br /&gt;
    postgres=# grant all privileges on database svace to svace;&lt;br /&gt;
    postgres=# alter user svace superuser;&lt;br /&gt;
&lt;br /&gt;
В данном примере создается БД svace и права на нее выдаются пользователю svace с паролем svace, а также этому пользователю выдаются права суперюзера (это необходимо для создания расширений в PostgreSQL). При использовании этих значений дальнейшая конфигурация не требуется и можно переходить к запуску.&lt;br /&gt;
&lt;br /&gt;
При использовании других имен пользователя, БД или пароля потребуется дополнительная конфигурация перед запуском Svacer: в файле '''/etc/default/svacer''' нужно поменять параметры подключения к БД в строке&lt;br /&gt;
&lt;br /&gt;
    SVACER_ARGS=&amp;quot;--pg postgres://&amp;lt;user&amp;gt;:&amp;lt;password&amp;gt;@127.0.0.1:5432/&amp;lt;database&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В этой же строке можно указывать прочие аргументы для запуска сервера Svacer.&lt;br /&gt;
&lt;br /&gt;
После создания БД и настройки конфигурации Svacer запустить его можно следующими командами&lt;br /&gt;
&lt;br /&gt;
    sudo systemctl enable svacer&lt;br /&gt;
    sudo systemctl start svacer&lt;br /&gt;
&lt;br /&gt;
После чего проверить успешность запуска командой&lt;br /&gt;
&lt;br /&gt;
    systemctl status svacer&lt;br /&gt;
&lt;br /&gt;
В случае успешного запуска сервер будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
При установке из .deb или .rpm пакета Svacer ставится в директорию, прописанную в $PATH, поэтому при запуске Svacer для импорта и загрузки результатов полный путь к исполняемому файлу '''svacer''' указывать не требуется, он будет доступен просто по имени.&lt;br /&gt;
&lt;br /&gt;
=== Запуск в docker ===&lt;br /&gt;
Установите docker и docker-compose. Поскольку образы PostgreSQL и Svacer размещены на докер-хабе, для их скачивания при запуске необходимо наличие интернета.&lt;br /&gt;
&lt;br /&gt;
Используйте для запуска docker-compose файл, находящийся в дистрибутиве Svacer: '''./extra/docker-compose.yml'''. Перейдите в директорию, где находится этот файл и выполните команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
При этом будет запущено два контейнера: PostgreSQL и Svacer. После запуска контейнеров веб-интерфейс Svacer будет доступен по адресу http://localhost:8080&lt;br /&gt;
&lt;br /&gt;
В процессе запуска в текущей директории будут созданы две директории&lt;br /&gt;
&lt;br /&gt;
* postgres_data — для хранения БД PostgreSQL&lt;br /&gt;
* svacer_data — для object store сервера Svacer&lt;br /&gt;
&lt;br /&gt;
Эти директории будут примонтированы в соответствующие контейнеры как volumes, это необходимо для сохранения данных БД и сервера после остановки или перезапуска контейнеров.&lt;br /&gt;
&lt;br /&gt;
Важное уточнение: в докере запускается только сервер Svacer. Для импорта и загрузки результатов на сервер будет нужен исполняемый файл svacer.&lt;br /&gt;
&lt;br /&gt;
Остановить сервер Svacer можно, выполнив следующую команду&lt;br /&gt;
&lt;br /&gt;
    docker-compose down&lt;br /&gt;
&lt;br /&gt;
Также можно запустить в докер-контейнере только PostgreSQL для последующего запуска Svacer вручную. Используйте файл '''./extra/docker-compose-postgres.yml'''&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml up -d&lt;br /&gt;
&lt;br /&gt;
Чтобы остановить, соответственно&lt;br /&gt;
&lt;br /&gt;
    docker-compose -f docker-compose-postgres.yml down&lt;br /&gt;
&lt;br /&gt;
=== Установка и запуск вручную ===&lt;br /&gt;
Для установки Svacer скачайте и распакуйте архив дистрибутива (файл с названием вида '''svacer_release-&amp;lt;version&amp;gt;.zip''').&lt;br /&gt;
&lt;br /&gt;
При использовании PostgreSQL, предварительно настроенного на каком-либо хосте, необходимо использовать соответствующие параметры запуска. Допустим, PostgreSQL работает на локальном хосте, в нем создана БД '''svacer_db''', доступная от пользователя '''svacer_user''' с паролем '''svacer123'''. В этом случае запустите Svacer со следующими параметрами&lt;br /&gt;
&lt;br /&gt;
    ./bin/svacer server --pg postgres://svacer_user:svacer123@127.0.0.1:5432/svacer_db&lt;br /&gt;
&lt;br /&gt;
Если вы запустили PostgreSQL в докер-контейнере, используя файл '''./extra/docker-compose-postgres.yml''', то при запуске Svacer параметр '''--pg''' для подключения к БД можно не указывать, поскольку был создан пользователь и база, прописанные в Svacer как параметры по умолчанию.&lt;br /&gt;
&lt;br /&gt;
После запуска сервера его веб-интерфейс будет доступен по адресу http://localhost:8080&lt;br /&gt;
По умолчанию web сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного  сетевого интерфейса пользователь может использовать опцию '''--listen &amp;lt;network interface&amp;gt;'''.&lt;br /&gt;
По умолчанию grpc сервер запускается на интерфейсе '''0.0.0.0:&amp;lt;port&amp;gt;'''. Для указания отличного сетевого интерфейса пользователь может использовать опцию '''--listen-grpc &amp;lt;network interface&amp;gt;'''.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=403</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=403"/>
		<updated>2023-01-13T11:37:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer — сервер для хранения и обработки результатов статического анализа. Поддерживает импорт результатов анализа из [https://svace.ispras.ru Svace] напрямую и из прочих анализаторов через формат [[Help:Sarif#Загрузка_на_сервер_из_SARIF|SARIF]].&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Usage|Использование]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.1.0&lt;br /&gt;
| В основном багфиксы. Планируется на февраль 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.2&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.1&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| add link here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer тут: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=402</id>
		<title>Svacer</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Svacer&amp;diff=402"/>
		<updated>2023-01-13T10:51:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сервер историй Svacer изначально разрабатывался для хранения и обработки результатов работы статического анализатора [https://svace.ispras.ru Svace]. Сейчас можно загружать в Svacer результаты не только из Svace, но и [[Help:Sarif#Загрузка_на_сервер_из_SARIF|из SARIF-файла]] (стандарт, поддерживаемый большинством статических анализаторов).&lt;br /&gt;
&lt;br /&gt;
=== Руководство пользователя ===&lt;br /&gt;
Version 6.0.2&lt;br /&gt;
# [[Help:Introduction|Введение]]&lt;br /&gt;
# [[Help:Installation|Установка]]&lt;br /&gt;
# [[Help:Usage|Использование]]&lt;br /&gt;
# [[Help:Migration|Миграция]]&lt;br /&gt;
# [[Help:ServerClient|Работа с сервером]]&lt;br /&gt;
# [[Help:ServerAdministration|Администрирование сервера]]&lt;br /&gt;
# [[Help:Reports|Панель отчетов]]&lt;br /&gt;
# [[Help:Sarif|Работа с SARIF]]&lt;br /&gt;
# [[Help:Vscode|Интеграция с Visual Studio Code]]&lt;br /&gt;
&lt;br /&gt;
=== Релизы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 7.0.0&lt;br /&gt;
| Планируется на апрель 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.1.0&lt;br /&gt;
| В основном багфиксы. Планируется на февраль 2023&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.2&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.1&lt;br /&gt;
| add link here&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.0&lt;br /&gt;
| add link here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Более старые релизы можете найти в [https://nextcloud.ispras.ru/index.php/s/x4r4cMJAMr5RZtd?path=%2F nextcloud].&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
* [https://gitlab.ispras.ru/svace/svace-support/-/wikis/home Документация на статический анализатор Svace]&lt;br /&gt;
* [[Help:Introduction#Системные_требования|Системные требования]]&lt;br /&gt;
* [[Help:ServerAdministration#Поддержка_протокола_LDAP_для_аутентификации_пользователей|Использование LDAP]] (в том числе — [[Help:ServerAdministration#Использование_CLI_сервера_Svacer_с_поддержкой_LDAP|при работе из командной строки]])&lt;br /&gt;
&lt;br /&gt;
=== Демо ===&lt;br /&gt;
Можете посмотреть как выглядит Svacer тут: https://svacer-demo.ispras.ru&lt;br /&gt;
* логин — admin&lt;br /&gt;
* пароль — svacer_admin_31415&lt;br /&gt;
Мы не можем запретить, но просим не совершать там деструктивных действий, вроде смены пароля администратора или удаления проектов, чтобы другие тоже могли зайти посмотреть. Если все же совершили — ничего страшного, каждую ночь он восстанавливается до изначального состояния.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=401</id>
		<title>Help:Sarif</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Sarif&amp;diff=401"/>
		<updated>2023-01-13T10:15:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Работа с SARIF ==&lt;br /&gt;
=== Генерация SARIF ===&lt;br /&gt;
Поддерживается генерация файла в формате [https://sarifweb.azurewebsites.net SARIF], который может быть прочитан при помощи расширения Microsoft SARIF Viewer, GitHub или DefectDojo.&lt;br /&gt;
Итоговый файл содержит сопоставление внутренних значений критичности маркеров со значениями уровня SARIF по следующему правилу:&lt;br /&gt;
* Critical -&amp;gt; error&lt;br /&gt;
* Major -&amp;gt; warning&lt;br /&gt;
* Minor -&amp;gt; note&lt;br /&gt;
* Normal -&amp;gt; none&lt;br /&gt;
&lt;br /&gt;
При импорте результатов анализа в SARIF должны быть предоставлены данные для подключения к серверу, так как значения критичности маркеров берутся оттуда.&lt;br /&gt;
&lt;br /&gt;
Общие параметры для импорта:&lt;br /&gt;
* out-file, o — имя выходного файла или «-» для вывода в stdout&lt;br /&gt;
* scheme — печать примера схемы выходного файла SARIF&lt;br /&gt;
* include-contents — включать контент файлов, в которых обнаружены предупреждения&lt;br /&gt;
&lt;br /&gt;
==== Генерация из .svres ====&lt;br /&gt;
При импорте из файла svres используются дополнительные параметры:&lt;br /&gt;
* svace — путь к исполняемому файлу svace&lt;br /&gt;
* svace-dir — интерпретировать путь, как путь к директории .svace-dir&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --svace &amp;lt;path_to_svace&amp;gt; &amp;lt;path_to_project_or_svace-dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Генерация из данных с сервера ====&lt;br /&gt;
При импорте из данных с сервера используются следующие дополнительные параметры:&lt;br /&gt;
* from-server — опция для получения данных с сервера&lt;br /&gt;
* project — имя или id проекта&lt;br /&gt;
* branch — имя или id ветки (master по умолчанию)&lt;br /&gt;
* snapshot — имя или id снимка (last по умолчанию)&lt;br /&gt;
&lt;br /&gt;
Также, для корректного получения необходимого проекта, должен быть указан пользователь, у которого есть доступ к этому проекту.&lt;br /&gt;
&lt;br /&gt;
Пример команды для генерации файла SARIF из данных с сервера:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif -o &amp;lt;path_to_result_file&amp;gt; --from-server --user &amp;lt;user&amp;gt; --password &amp;lt;password&amp;gt; --project &amp;lt;project_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Загрузка на сервер из SARIF ===&lt;br /&gt;
При загрузке данных на сервер используются следующие параметры:&lt;br /&gt;
* read-file, r — файл SARIF, из которого необходимо читать данные&lt;br /&gt;
* project — название проекта на сервере (по умолчанию совпадает с именем файла)&lt;br /&gt;
* branch — название ветки на сервере (по умолчанию master)&lt;br /&gt;
* snapshot — название снимка на сервере (по умолчанию время загрузки)&lt;br /&gt;
* skip-source — пропускать исходный код файлов с предупреждениями&lt;br /&gt;
* path-prefix — заменять префиксы в названии файлов (prefix:replacement)&lt;br /&gt;
&lt;br /&gt;
Пример команды для загрузки на сервер:&lt;br /&gt;
&lt;br /&gt;
    ./svacer sarif upload -r &amp;lt;input_file&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Vscode&amp;diff=400</id>
		<title>Help:Vscode</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Vscode&amp;diff=400"/>
		<updated>2023-01-12T15:26:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Help]]&lt;br /&gt;
== Интеграция с Visual Studio Code ==&lt;br /&gt;
В состав дистрибутива Svacer входит расширение для Visual Studio Code, обеспечивающее взаимодействие пользователя VS Code с сервером Svacer. Подробная информация может быть найдена в документации на данное расширение в дистрибутиве Svacer по пути '''integrations/vscode/readme.pdf''', а также на [https://marketplace.visualstudio.com/items?itemName=ISP-RAS.svacer Visual Studio Marketplace]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=Help:Vscode&amp;diff=399</id>
		<title>Help:Vscode</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=Help:Vscode&amp;diff=399"/>
		<updated>2023-01-12T15:26:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Интеграция с Visual Studio Code ==&lt;br /&gt;
В состав дистрибутива Svacer входит расширение для Visual Studio Code, обеспечивающее взаимодействие пользователя VS Code с сервером Svacer. Подробная информация может быть найдена в документации на данное расширение в дистрибутиве Svacer по пути '''integrations/vscode/readme.pdf''', а также на [https://marketplace.visualstudio.com/items?itemName=ISP-RAS.svacer Visual Studio Marketplace]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://svacer.ispras.ru/mediawiki/index.php?title=MediaWiki:Mainpage&amp;diff=398</id>
		<title>MediaWiki:Mainpage</title>
		<link rel="alternate" type="text/html" href="https://svacer.ispras.ru/mediawiki/index.php?title=MediaWiki:Mainpage&amp;diff=398"/>
		<updated>2023-01-12T15:17:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Svacer&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>