wiki-js/Soft/manager-password/Passwork.html

227 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
title: Менеджер паролей Passwork
description:
published: true
date: 2023-11-15T16:43:00.037Z
tags:
editor: ckeditor
dateCreated: 2023-11-15T16:36:08.780Z
-->
<h1>Описание</h1>
<p>&nbsp;</p>
<blockquote>
<p>Пассворк упрощает совместную работу с корпоративными паролями. Все данные безопасно хранятся на вашем сервере, а сотрудники быстро находят нужные пароли. Администратор управляет правами пользователей, отслеживает все действия и изменения.</p>
<p>&nbsp;</p>
</blockquote>
<figure class="image"><img src="/attachments/image2022-12-12_11-39-19.png"></figure>
<figure class="image"><img src="/attachments/image2022-12-12_11-39-59.png"></figure>
<figure class="image"><img src="/attachments/image2022-12-12_11-41-52.png"></figure>
<p>Рекомендации по установке</p>
<h3><strong>Минимальные системные требования</strong></h3>
<p>Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.</p>
<blockquote>
<p>Показатель IOPS имеет большое значения для скорости работы базы данных, поэтому желательно использовать SSD диски.</p>
</blockquote>
<p><strong>Варианты установки Пассворк на выделенных или виртуальных серверах</strong></p>
<h3>1. Все на одном сервере</h3>
<p>Обычно подходит для редакций до 500 пользователей, без специальных требований по хранению данных:</p>
<figure class="table">
<table>
<tbody>
<tr>
<th>Кол-во пользователей</th>
<th>RAM</th>
<th>CPU</th>
<th>HDD</th>
</tr>
<tr>
<th>до 50</th>
<th>2-4 ГБ</th>
<th>4</th>
<th>100 ГБ</th>
</tr>
<tr>
<th>до 100</th>
<th>4-8 ГБ</th>
<th>8</th>
<th>150 ГБ</th>
</tr>
<tr>
<th>до 500</th>
<th>8-16 ГБ</th>
<th>8</th>
<th>200 ГБ</th>
</tr>
</tbody>
</table>
</figure>
<p><strong>2. Сервер приложения и база данных на разных серверах</strong></p>
<p>База данных и сервер приложения разносятся по разным серверам.&nbsp;</p>
<p>RAM-1, CPU-1, HDD-1 — сервер приложения.</p>
<p>RAM-2, CPU-2, HDD-2 — база данных.</p>
<figure class="table">
<table>
<tbody>
<tr>
<th>Кол-во пользователей</th>
<th>RAM-1</th>
<th>CPU-1</th>
<th>HDD-1</th>
<th>RAM-2</th>
<th>CPU-2</th>
<th>HDD-2</th>
</tr>
<tr>
<th>до 50</th>
<th>2-4 ГБ</th>
<th>4</th>
<th>100 ГБ</th>
<th>2-4 ГБ</th>
<th>4</th>
<th>100 ГБ</th>
</tr>
<tr>
<th>до 100</th>
<th>4 ГБ</th>
<th>8</th>
<th>100 ГБ</th>
<th>4 ГБ</th>
<th>4</th>
<th>150 ГБ</th>
</tr>
<tr>
<th>до 500</th>
<th>8-16 ГБ</th>
<th>8</th>
<th>100 ГБ</th>
<th>8 ГБ</th>
<th>8</th>
<th>200 ГБ</th>
</tr>
<tr>
<th>до 1000</th>
<th>8-16 ГБ</th>
<th>8</th>
<th>100 ГБ</th>
<th>16 ГБ</th>
<th>8</th>
<th>200 ГБ</th>
</tr>
<tr>
<th>до 10000</th>
<th>16-32 ГБ</th>
<th>16</th>
<th>100 ГБ</th>
<th>16-32 ГБ</th>
<th>16</th>
<th>200 ГБ</th>
</tr>
</tbody>
</table>
</figure>
<p>&nbsp;</p>
<h1>Установка</h1>
<h2>Установка Docker</h2>
<p>Скачайте и установите Docker CE (<a href="https://docs.docker.com/engine/installation/">https://docs.docker.com/engine/installation/</a>).</p>
<p>ачайте и установите Docker-сompose (<a href="https://docs.docker.com/compose/install/">https://docs.docker.com/compose/install/</a>)</p>
<p><strong>Обновите систему:</strong></p>
<pre><code class="language-plaintext">sudo i
apt-get update
apt-get upgrade</code></pre>
<p><strong>Установите Git:</strong></p>
<pre><code class="language-plaintext">apt-get install git</code></pre>
<p><strong>Скачайте файлы управления и шаблонные конфиг-файлы</strong></p>
<p>Создайте директорию /server и склонируйте файлы:</p>
<pre><code class="language-plaintext">rm /server/sites/prod/.gitkeep</code></pre>
<p>Склонируйте репозиторий. Укажите логин и пароль, которые вам сообщили менеджеры Пассворк.</p>
<pre><code class="language-plaintext">git clone http://passwork.download/passwork/passwork.git /server/sites/prod</code></pre>
<pre><code class="language-plaintext">cd /server/sites/prod/
git checkout v5</code></pre>
<blockquote>
<p>Где взять логин и пароль</p>
<p>Мы отправляем логин и пароль к нашему репозиторию после покупки Пассворк.</p>
</blockquote>
<p><strong>Перейдите в каталог для Docker Compose</strong></p>
<pre><code class="language-plaintext">cd /server/docker-compose/</code></pre>
<p>В каталоге есть файл docker-compose.override.yml , в котором можно указать назначение портов, на случай если порты могут быть заняты.</p>
<p><strong>Запустите Docker Compose</strong></p>
<pre><code class="language-plaintext">docker-compose up -d</code></pre>
<p><strong>Проверьте, что контейнеры запустились и работают:</strong></p>
<pre><code class="language-plaintext">docker ps</code></pre>
<h3><strong>Инсталляция</strong></h3>
<p>При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.</p>
<figure class="image"><img src="/attachments/снимок_экрана_2023-11-15_193934.png"></figure>
<p>Тут нужно подправить сервер и указать строчку: <a href="mongodb://db:27017">mongodb://db:27017</a></p>
<p>Нужно будет сохранить ключ шифрования для восстановления, если появится такая необходимость.</p>
<p><strong>Зарегистрируйте администратора Пассворк</strong></p>
<p>Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.</p>
<p>&nbsp;</p>
<h1>Обслуживание</h1>
<h2>Настройка фоновых задач</h2>
<p>Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.</p>
<p>Проверить список запланированных задач и корректность всех настроек можно на странице «Фоновые задачи».</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <code><u>&lt;папка с Пассворк&gt;/app/tools/run-scheduled-tasks.php</u></code> каждую минуту.</p>
<p>Скрипт проанализирует какие задачи необходимо запустить и для каждой задачи создаст отдельный поток. При выполнении каждая задача записывает лог в папку <code><u>&lt;папка Пассворк&gt;/app/logs/</u></code><u> в файлы вида </u><code><u>task-*.log</u></code>, например, <code><u>task-62f8e9624e0446fba40bbb12.log</u></code>. После завершения задачи вы можете посмотреть и скачать лог со страницы Фоновые задачи → История задач.</p>
<p>Системные логи планировщика (с ошибками) находятся в <code><u>&lt;папка Пассворк&gt;/app/logs/run-command.log</u></code>.</p>
<h2>О Docker-образах</h2>
<p>Docker-образы устроены таким способом, что все важные данные вынесены в общие с хостовой машиной папки. Поэтому вы можете смело останавливать, удалять и создавать новые контейнеры. Конфигурационные файлы так же хранятся в общих папках (т.е. не в контейнере), поэтому вы можете провести любую настройку Nginx, PHP и MongoDB без внесения изменений непосредственно в образы или контейнеры. Просто внесите изменения в конфиг файлы и перезапустите контейнер или сервисы.</p>
<p>Если вам необходимо внести изменения в образ, то войдите в контейнер, внесите изменения и затем сделайте коммит в ваш образ командой</p>
<pre><code class="language-plaintext">docker commit &lt;container id&gt; you-name/image-name</code></pre>
<p>Более подробно описано в официальной документации Docker.</p>
<h2>Полезные команды</h2>
<p>Скопируйте утилиту&nbsp;<i>dexec</i>&nbsp;в /usr/bin/:</p>
<p><code>cp</code> <code>/server/dexec</code> <code>/usr/bin/dexec</code></p>
<p>Вход в контейнер:</p>
<p>bash]]&gt;</p>
<p>Восстановление прав для файлов сайта (требуется после обновления):</p>
<p>Перезагрузка Nginx без остановки:</p>
<p>Контейнеры запущены с опцией&nbsp;autostart. Это означает, что Docker автоматически перезапустит контейнер, если он по каким-либо причинам остановится. Поэтому, если вам необходимо остановить контейнер, сперва отключите&nbsp;autostart:</p>
<p>]]&gt;</p>
<p>Включить&nbsp;autostart&nbsp;обратно:</p>
<p>]]&gt;</p>
<p>Без опции&nbsp;autostart&nbsp;вы можете остановить контейнеры принудительно:</p>
<p>]]&gt;</p>
<p>Обратите внимание, что если опция&nbsp;<i>autostart</i> включена, то эти команды перезапустят Nginx и MongoDB, Используйте ее в крайних случаях, так как это может повлечь порчу данных.</p>
<h2>Структура файлов</h2>
<p>Файлы конфигураций:</p>
<p>Данные (база данных):</p>
<p>Логи:</p>
<p>Сайты:</p>
<h2>Пример: Как изменить конфигурацию Nginx или PHP</h2>
<p>Отредактируйте файлы:</p>
<p>Перезапустите nginx и php-fpm:</p>
<h2>Настройка почты</h2>
<p>Nginx контейнер использует Postfix для отправки почты. Все конфигурационные файлы вы можете найти здесь:</p>
<p>Отредактируйте их под свои нужды. Перезапустите Postfix, чтобы изменения вступили в силу.</p>
<h2>Пример настройки Postfix</h2>
<p>Откройте конфигурационный файл&nbsp;<code>/server/conf/postfix/</code><a href="http://main.cf"><code>main.cf</code></a>.</p>
<p>Убедитесь в том, что параметр myhostname совпадает с полным доменным именем вашего сервера:</p>
<h3>Настройка имен и паролей SMTP</h3>
<p>Откройте или создайте файл&nbsp;<code>/server/conf/postfix/sasl_passwd</code>.</p>
<p>Добавьте SMTP хост, имя пользователя и пароль должны быть записаны в следующем формате:</p>
<p>Если вы хотите использовать нестандартный TCP-порт (например, 587), используйте следующий формат:</p>
<p>для Gmail запись будет выглядеть следующим образом:</p>
<p>Создайте хэшированную базу данных для Postfix, выполните команду postmap:</p>
<p>После успешного выполнения команды в директории /server/conf/postfix должен появиться новый файл sasl_passwd.db.</p>
<h3>Защита файла с паролями и хэш-файла.</h3>
<p>Файлы /server/conf/postfix/sasl_passwd и /server/conf/postfix/sasl_passwd.db, созданные в предыдущих шагах, содержат ваши учетные данные SMTP в виде простого текста. По соображениям безопасности вы должны изменить права доступа к ним, так чтобы только пользователь root мог читать и записывать в файл.</p>
<p>Выполните следующие команды, чтобы изменить владельца файлов на root и обновить права доступа для файлов:</p>
<h3><strong>Конфигурация релей сервера</strong></h3>
<p>Откройте файл&nbsp;<code>/server/conf/postfix/</code><a href="http://main.cf"><code>main.cf</code></a>.</p>
<p>Измените параметр relayhost, на свой внешний SMTP релей. Если в файле sasl_passwd был указан нестандартный TCP-порт, то вы должны использовать тот же порт при настройке параметра relayhost.</p>
<p>Укажите SMTP релей:</p>
<p>для Gmail запись будет выглядеть следующим образом:</p>
<p>В конце файла добавьте следующие параметры для включения аутентификации:</p>
<p>Сохраните изменения.</p>
<p>Перезапустите Postfix:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>