docs: update Soft/manager-password/Passwork

main
Федоров Дмитрий 2023-11-15 16:43:04 +00:00 committed by Dmitriy Fedorov
parent 0df773873a
commit 721fb0b1e7
1 changed files with 217 additions and 225 deletions

View File

@ -2,233 +2,225 @@
title: Менеджер паролей Passwork title: Менеджер паролей Passwork
description: description:
published: true published: true
date: 2023-11-15T16:36:53.126Z date: 2023-11-15T16:43:00.037Z
tags: tags:
editor: ckeditor editor: ckeditor
dateCreated: 2023-11-15T16:36:08.780Z dateCreated: 2023-11-15T16:36:08.780Z
--> -->
<h1><span style="color: rgb(0,0,0);"><ac:structured-macro ac:name="toc" ac:schema-version="1" ac:macro-id="3c625648-1347-4f46-acc6-41d4c87e3533" /></span><span style="color: rgb(0,0,0);">Описание</span></h1> <h1>Описание</h1>
<p><br /></p> <p>&nbsp;</p>
<blockquote> <blockquote>
<p><span style="color: rgb(0,0,255);">Пассворк упрощает совместную работу с корпоративными паролями. Все данные безопасно хранятся на вашем сервере, а сотрудники быстро находят нужные пароли. Администратор управляет правами пользователей, отслеживает все действия и изменения.</span></p> <p>Пассворк упрощает совместную работу с корпоративными паролями. Все данные безопасно хранятся на вашем сервере, а сотрудники быстро находят нужные пароли. Администратор управляет правами пользователей, отслеживает все действия и изменения.</p>
<p><span style="color: rgb(0,0,255);"><ac:image><ri:attachment ri:filename="image2022-12-12_11-39-19.png" /></ac:image><ac:image><ri:attachment ri:filename="image2022-12-12_11-39-59.png" /></ac:image></span></p></blockquote> <p>&nbsp;</p>
<p><br /></p> </blockquote>
<p><ac:image><ri:attachment ri:filename="image2022-12-12_11-41-52.png" /></ac:image></p> <figure class="image"><img src="/attachments/image2022-12-12_11-39-19.png"></figure>
<p><br /></p> <figure class="image"><img src="/attachments/image2022-12-12_11-39-59.png"></figure>
<h1>Рекомендации по установке</h1> <figure class="image"><img src="/attachments/image2022-12-12_11-41-52.png"></figure>
<p>Рекомендации по установке</p>
<h3><strong>Минимальные системные требования</strong></h3> <h3><strong>Минимальные системные требования</strong></h3>
<p>Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.</p> <p>Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.</p>
<blockquote> <blockquote>
<p>Показатель IOPS имеет большое значения для скорости работы базы данных, поэтому желательно использовать SSD диски.</p></blockquote> <p>Показатель IOPS имеет большое значения для скорости работы базы данных, поэтому желательно использовать SSD диски.</p>
</blockquote>
<p><strong>Варианты установки Пассворк на выделенных или виртуальных серверах</strong></p> <p><strong>Варианты установки Пассворк на выделенных или виртуальных серверах</strong></p>
<h3>1. Все на одном сервере</h3> <h3>1. Все на одном сервере</h3>
<p>Обычно подходит для редакций до 500 пользователей, без специальных требований по хранению данных:</p> <p>Обычно подходит для редакций до 500 пользователей, без специальных требований по хранению данных:</p>
<table class="wrapped"><colgroup><col /><col /><col /><col /></colgroup> <figure class="table">
<tbody> <table>
<tr> <tbody>
<th scope="col">Кол-во пользователей</th> <tr>
<th scope="col">RAM</th> <th>Кол-во пользователей</th>
<th scope="col">CPU</th> <th>RAM</th>
<th scope="col">HDD</th></tr> <th>CPU</th>
<tr> <th>HDD</th>
<td>до 50</td> </tr>
<td> <tr>
<p>2-4 ГБ</p></td> <th>до 50</th>
<td>4</td> <th>2-4 ГБ</th>
<td> <th>4</th>
<p>100 ГБ</p></td></tr> <th>100 ГБ</th>
<tr> </tr>
<td><span style="color: rgb(55,53,47);">до 100</span></td> <tr>
<td> <th>до 100</th>
<p>4-8 ГБ</p></td> <th>4-8 ГБ</th>
<td>8</td> <th>8</th>
<td> <th>150 ГБ</th>
<p>150 ГБ</p></td></tr> </tr>
<tr> <tr>
<td> <th>до 500</th>
<p>до 500</p></td> <th>8-16 ГБ</th>
<td> <th>8</th>
<p>8-16 ГБ</p></td> <th>200 ГБ</th>
<td>8</td> </tr>
<td> </tbody>
<p>200 ГБ</p></td></tr></tbody></table> </table>
</figure>
<p><strong>2. Сервер приложения и база данных на разных серверах</strong></p> <p><strong>2. Сервер приложения и база данных на разных серверах</strong></p>
<p>База данных и сервер приложения разносятся по разным серверам.&nbsp;</p> <p>База данных и сервер приложения разносятся по разным серверам.&nbsp;</p>
<p>RAM-1, CPU-1, HDD-1 &mdash; сервер приложения.</p> <p>RAM-1, CPU-1, HDD-1 — сервер приложения.</p>
<p>RAM-2, CPU-2, HDD-2 &mdash; база данных.</p> <p>RAM-2, CPU-2, HDD-2 — база данных.</p>
<table class="wrapped"><colgroup><col /><col /><col /><col /><col /><col /><col /></colgroup> <figure class="table">
<tbody> <table>
<tr> <tbody>
<th scope="col">Кол-во пользователей</th> <tr>
<th scope="col">RAM-1</th> <th>Кол-во пользователей</th>
<th scope="col">CPU-1</th> <th>RAM-1</th>
<th scope="col">HDD-1</th> <th>CPU-1</th>
<th scope="col">RAM-2</th> <th>HDD-1</th>
<th scope="col">CPU-2</th> <th>RAM-2</th>
<th scope="col">HDD-2</th></tr> <th>CPU-2</th>
<tr> <th>HDD-2</th>
<td> </tr>
<p>до 50</p></td> <tr>
<td> <th>до 50</th>
<p>2-4 ГБ</p></td> <th>2-4 ГБ</th>
<td>4</td> <th>4</th>
<td> <th>100 ГБ</th>
<p>100 ГБ</p></td> <th>2-4 ГБ</th>
<td> <th>4</th>
<p>2-4 ГБ</p></td> <th>100 ГБ</th>
<td>4</td> </tr>
<td> <tr>
<p>100 ГБ</p></td></tr> <th>до 100</th>
<tr> <th>4 ГБ</th>
<td> <th>8</th>
<p>до 100</p></td> <th>100 ГБ</th>
<td> <th>4 ГБ</th>
<p>4 ГБ</p></td> <th>4</th>
<td>8</td> <th>150 ГБ</th>
<td> </tr>
<p>100 ГБ</p></td> <tr>
<td> <th>до 500</th>
<p>4 ГБ</p></td> <th>8-16 ГБ</th>
<td>4</td> <th>8</th>
<td> <th>100 ГБ</th>
<p>150 ГБ</p></td></tr> <th>8 ГБ</th>
<tr> <th>8</th>
<td>до 500</td> <th>200 ГБ</th>
<td> </tr>
<p>8-16 ГБ</p></td> <tr>
<td>8</td> <th>до 1000</th>
<td> <th>8-16 ГБ</th>
<p>100 ГБ</p></td> <th>8</th>
<td> <th>100 ГБ</th>
<p>8 ГБ</p></td> <th>16 ГБ</th>
<td>8</td> <th>8</th>
<td> <th>200 ГБ</th>
<p>200 ГБ</p></td></tr> </tr>
<tr> <tr>
<td>до 1000</td> <th>до 10000</th>
<td> <th>16-32 ГБ</th>
<p>8-16 ГБ</p></td> <th>16</th>
<td>8</td> <th>100 ГБ</th>
<td> <th>16-32 ГБ</th>
<p>100 ГБ</p></td> <th>16</th>
<td> <th>200 ГБ</th>
<p>16 ГБ</p></td> </tr>
<td>8</td> </tbody>
<td> </table>
<p>200 ГБ</p></td></tr> </figure>
<tr> <p>&nbsp;</p>
<td>до 10000</td>
<td>
<p>16-32 ГБ</p></td>
<td>16</td>
<td>
<p>100 ГБ</p></td>
<td>
<p>16-32 ГБ</p></td>
<td>16</td>
<td>
<p>200 ГБ</p></td></tr></tbody></table>
<p><br /></p>
<h1>Установка</h1> <h1>Установка</h1>
<h2>Установка Docker</h2> <h2>Установка Docker</h2>
<p>Скачайте и установите Docker CE (<a href="https://docs.docker.com/engine/installation/">https://docs.docker.com/engine/installation/</a>).</p> <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>ачайте и установите Docker-сompose (<a href="https://docs.docker.com/compose/install/">https://docs.docker.com/compose/install/</a>)</p>
<p><strong>Обновите систему:</strong></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="7ad23e74-9dd1-4901-9c00-9516a8accb62"><ac:plain-text-body><![CDATA[sudo i <p><strong>Обновите систему:</strong></p>
<pre><code class="language-plaintext">sudo i
apt-get update apt-get update
apt-get upgrade]]></ac:plain-text-body></ac:structured-macro> apt-get upgrade</code></pre>
<p><strong><span class="notion-enable-hover">Установите Git:</span></strong></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="be2398c2-1752-4891-9fa8-f7bc92ec9d68"><ac:plain-text-body><![CDATA[apt-get install git]]></ac:plain-text-body></ac:structured-macro> <p><strong>Установите Git:</strong></p>
<pre><code class="language-plaintext">apt-get install git</code></pre>
<p><strong>Скачайте файлы управления и шаблонные конфиг-файлы</strong></p> <p><strong>Скачайте файлы управления и шаблонные конфиг-файлы</strong></p>
<p>Создайте директорию /server и склонируйте файлы:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="e7a6dd06-cb88-461f-978b-69f5415b9335"><ac:plain-text-body><![CDATA[rm /server/sites/prod/.gitkeep]]></ac:plain-text-body></ac:structured-macro> <p>Создайте директорию /server и склонируйте файлы:</p>
<p>Склонируйте репозиторий. Укажите логин и пароль, которые вам сообщили менеджеры Пассворк.</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="a49a23d9-66bd-40c1-bc9b-b8cc4510888d"><ac:plain-text-body><![CDATA[git clone http://passwork.download/passwork/passwork.git /server/sites/prod]]></ac:plain-text-body></ac:structured-macro> <pre><code class="language-plaintext">rm /server/sites/prod/.gitkeep</code></pre>
<p class="auto-cursor-target"><br /></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="86602915-07c9-4eb4-bcbc-2fa64803ccf5"><ac:plain-text-body><![CDATA[cd /server/sites/prod/ <p>Склонируйте репозиторий. Укажите логин и пароль, которые вам сообщили менеджеры Пассворк.</p>
git checkout v5]]></ac:plain-text-body></ac:structured-macro> <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> <blockquote>
<p><span class="notion-enable-hover">Где взять логин и пароль</span></p> <p>Где взять логин и пароль</p>
<p>Мы отправляем логин и пароль к нашему репозиторию после покупки Пассворк.</p></blockquote> <p>Мы отправляем логин и пароль к нашему репозиторию после покупки Пассворк.</p>
<p><strong>Перейдите в каталог для Docker Compose</strong></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="f3e1946b-ee45-4fc3-b73f-4c51934208f1"><ac:plain-text-body><![CDATA[cd /server/docker-compose/]]></ac:plain-text-body></ac:structured-macro> </blockquote>
<p><span class="notion-enable-hover">В каталоге есть файл docker-compose.override.yml , в котором можно указать назначение портов, на случай если порты могут быть заняты.</span></p> <p><strong>Перейдите в каталог для Docker Compose</strong></p>
<p><strong><span class="notion-enable-hover">Запустите Docker Compose</span></strong></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="e45a709e-e6d3-401f-b39e-29d7c220e0b6"><ac:plain-text-body><![CDATA[docker-compose up -d]]></ac:plain-text-body></ac:structured-macro> <pre><code class="language-plaintext">cd /server/docker-compose/</code></pre>
<p><strong>Проверьте, что контейнеры запустились и работают:</strong></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="0af62ca9-0cdd-4b46-9a2e-77fd3549ee2c"><ac:plain-text-body><![CDATA[docker ps]]></ac:plain-text-body></ac:structured-macro> <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> <h3><strong>Инсталляция</strong></h3>
<p>При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.</p> <p>При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.</p>
<p><ac:image ac:height="250"><ri:attachment ri:filename="image2022-12-12_12-9-24.png" /></ac:image><ac:image ac:height="400"><ri:attachment ri:filename="image2022-12-12_12-9-45.png" /></ac:image><ac:image ac:height="400"><ri:attachment ri:filename="image2022-12-12_12-8-57.png" /></ac:image><ac:image ac:height="400"><ri:attachment ri:filename="image2022-12-12_12-21-50.png" /></ac:image></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>Тут нужно подправить сервер и указать строчку: <a href="mongodb://db:27017">mongodb://db:27017</a></p>
<p>Нужно будет сохранить ключ шифрования для восстановления, если появится такая необходимость.</p> <p>Нужно будет сохранить ключ шифрования для восстановления, если появится такая необходимость.</p>
<p><strong>Зарегистрируйте администратора Пассворк</strong></p> <p><strong>Зарегистрируйте администратора Пассворк</strong></p>
<p>Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.</p> <p>Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.</p>
<p><br /></p> <p>&nbsp;</p>
<h1>Обслуживание</h1> <h1>Обслуживание</h1>
<h2>Настройка фоновых задач</h2> <h2>Настройка фоновых задач</h2>
<p>Фоновые задачи &mdash; это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.</p> <p>Фоновые задачи это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.</p>
<p>Проверить список запланированных задач и корректность всех настроек можно на странице &laquo;Фоновые задачи&raquo;.</p> <p>Проверить список запланированных задач и корректность всех настроек можно на странице «Фоновые задачи».</p>
<p><ac:image ac:height="400"><ri:url ri:value="https://passwork.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F18d60b1e-b83a-4f39-894f-ff49fabb0383%2FUntitled.png?id=8c022927-a52b-4ed6-8dff-52e55320a9f3&amp;table=block&amp;spaceId=d5fdbe93-ab55-4086-b77c-925b4939c9f9&amp;width=2000&amp;userId=&amp;cache=v2" /></ac:image></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p>Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <u><code>&lt;папка с Пассворк&gt;/app/tools/run-scheduled-tasks.php</code></u> каждую минуту.</p> <p>Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <code><u>&lt;папка с Пассворк&gt;/app/tools/run-scheduled-tasks.php</u></code> каждую минуту.</p>
<p>Скрипт проанализирует какие задачи необходимо запустить и для каждой задачи создаст отдельный поток. При выполнении каждая задача записывает лог в папку <u><code>&lt;папка Пассворк&gt;/app/logs/</code> в файлы вида <code>task-*.log</code></u>, например, <u><code>task-62f8e9624e0446fba40bbb12.log</code></u>. После завершения задачи вы можете посмотреть и скачать лог со страницы Фоновые задачи &rarr; История задач.</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>Системные логи планировщика (с ошибками) находятся в <u><code>&lt;папка Пассворк&gt;/app/logs/run-command.log</code></u>.</p> <p>Системные логи планировщика (с ошибками) находятся в <code><u>&lt;папка Пассворк&gt;/app/logs/run-command.log</u></code>.</p>
<h2>О Docker-образах</h2> <h2>О Docker-образах</h2>
<p>Docker-образы устроены таким способом, что все важные данные вынесены в общие с хостовой машиной папки. Поэтому вы можете смело останавливать, удалять и создавать новые контейнеры. Конфигурационные файлы так же хранятся в общих папках (т.е. не в контейнере), поэтому вы можете провести любую настройку Nginx, PHP и MongoDB без внесения изменений непосредственно в образы или контейнеры. Просто внесите изменения в конфиг файлы и перезапустите контейнер или сервисы.</p> <p>Docker-образы устроены таким способом, что все важные данные вынесены в общие с хостовой машиной папки. Поэтому вы можете смело останавливать, удалять и создавать новые контейнеры. Конфигурационные файлы так же хранятся в общих папках (т.е. не в контейнере), поэтому вы можете провести любую настройку Nginx, PHP и MongoDB без внесения изменений непосредственно в образы или контейнеры. Просто внесите изменения в конфиг файлы и перезапустите контейнер или сервисы.</p>
<p>Если вам необходимо внести изменения в образ, то войдите в контейнер, внесите изменения и затем сделайте коммит в ваш образ командой</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="3c300f0c-e9d5-4480-ac3f-c2f712869049"><ac:plain-text-body><![CDATA[docker commit <container id> you-name/image-name]]></ac:plain-text-body></ac:structured-macro> <p>Если вам необходимо внести изменения в образ, то войдите в контейнер, внесите изменения и затем сделайте коммит в ваш образ командой</p>
<pre><code class="language-plaintext">docker commit &lt;container id&gt; you-name/image-name</code></pre>
<p>Более подробно описано в официальной документации Docker.</p> <p>Более подробно описано в официальной документации Docker.</p>
<h2>Полезные команды</h2> <h2>Полезные команды</h2>
<p>Скопируйте утилиту&nbsp;<em>dexec</em>&nbsp;в /usr/bin/:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="fc39060b-554a-4c98-81bd-5dc9de889859"><ac:plain-text-body><![CDATA[cp /server/dexec /usr/bin/dexec]]></ac:plain-text-body></ac:structured-macro> <p>Скопируйте утилиту&nbsp;<i>dexec</i>&nbsp;в /usr/bin/:</p>
<p>Вход в контейнер:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="934f2fd7-11d2-4034-8d96-77ef5eb79e83"><ac:plain-text-body><![CDATA[docker exec -it <container> bash]]></ac:plain-text-body></ac:structured-macro> <p><code>cp</code> <code>/server/dexec</code> <code>/usr/bin/dexec</code></p>
<p>Восстановление прав для файлов сайта (требуется после обновления):</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="e279c7ba-9744-431b-9674-70218d611e97"><ac:plain-text-body><![CDATA[/server/docker-nginx-permissions nginx]]></ac:plain-text-body></ac:structured-macro> <p>Вход в контейнер:</p>
<p>Перезагрузка Nginx без остановки:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="5d075aa3-baa6-4137-b87b-513c1eab64ae"><ac:plain-text-body><![CDATA[/server/docker-nginx-reload nginx]]></ac:plain-text-body></ac:structured-macro> <p>bash]]&gt;</p>
<p>Контейнеры запущены с опцией&nbsp;<span class="notion-enable-hover">autostart</span>. Это означает, что Docker автоматически перезапустит контейнер, если он по каким-либо причинам остановится. Поэтому, если вам необходимо остановить контейнер, сперва отключите&nbsp;<span class="notion-enable-hover">autostart</span>:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="03d70532-22fd-40d3-a000-7a0726161496"><ac:plain-text-body><![CDATA[/server/docker-norestart <container>]]></ac:plain-text-body></ac:structured-macro> <p>Восстановление прав для файлов сайта (требуется после обновления):</p>
<p>Включить&nbsp;<span class="notion-enable-hover">autostart</span>&nbsp;обратно:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="b3813605-4d5b-4e3b-a817-e2c0d77d9db4"><ac:plain-text-body><![CDATA[/server/docker-autorestart <container>]]></ac:plain-text-body></ac:structured-macro> <p>Перезагрузка Nginx без остановки:</p>
<p>Без опции&nbsp;<span class="notion-enable-hover">autostart</span>&nbsp;вы можете остановить контейнеры принудительно:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="aac1f65c-89d6-44fe-b755-54baa51e5430"><ac:plain-text-body><![CDATA[docker stop <container>]]></ac:plain-text-body></ac:structured-macro> <p>Контейнеры запущены с опцией&nbsp;autostart. Это означает, что Docker автоматически перезапустит контейнер, если он по каким-либо причинам остановится. Поэтому, если вам необходимо остановить контейнер, сперва отключите&nbsp;autostart:</p>
<p>Обратите внимание, что если опция&nbsp;<em>autostart</em> включена, то эти команды перезапустят Nginx и MongoDB, Используйте ее в крайних случаях, так как это может повлечь порчу данных.</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> <h2>Структура файлов</h2>
<p>Файлы конфигураций:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="f01ef15d-6d7b-4381-b509-e982b85e41b9"><ac:plain-text-body><![CDATA[/server/conf/]]></ac:plain-text-body></ac:structured-macro> <p>Файлы конфигураций:</p>
<p>Данные (база данных):</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="cb04a381-804f-485b-913d-dbbbb3f00a74"><ac:plain-text-body><![CDATA[/server/data/]]></ac:plain-text-body></ac:structured-macro> <p>Данные (база данных):</p>
<p>Логи:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="4d8ef52e-0c56-4e97-b18a-671b3f68096e"><ac:plain-text-body><![CDATA[/server/log/]]></ac:plain-text-body></ac:structured-macro> <p>Логи:</p>
<p>Сайты:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="34909be9-856e-4b11-8f2d-65c3d8caeb14"><ac:plain-text-body><![CDATA[/server/sites/]]></ac:plain-text-body></ac:structured-macro> <p>Сайты:</p>
<h2>Пример: Как изменить конфигурацию Nginx или PHP</h2> <h2>Пример: Как изменить конфигурацию Nginx или PHP</h2>
<p>Отредактируйте файлы:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="0b169a80-6486-42f3-bb87-845ee089b04c"><ac:plain-text-body><![CDATA[mcedit /server/conf/nginx/prod.site <p>Отредактируйте файлы:</p>
mcedit /server/conf/nginx/nginx.conf <p>Перезапустите nginx и php-fpm:</p>
mcedit /server/conf/php8/php.ini]]></ac:plain-text-body></ac:structured-macro>
<p>Перезапустите nginx и php-fpm:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="28a28a64-a519-497c-a4ca-caf9ecbb7faf"><ac:plain-text-body><![CDATA[/server/docker-nginx-reload nginx
docker restart php8]]></ac:plain-text-body></ac:structured-macro>
<h2>Настройка почты</h2> <h2>Настройка почты</h2>
<p>Nginx контейнер использует Postfix для отправки почты. Все конфигурационные файлы вы можете найти здесь:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="501d92af-0d27-4cb5-9d95-d3846e4e042e"><ac:plain-text-body><![CDATA[/server/conf/postfix/]]></ac:plain-text-body></ac:structured-macro> <p>Nginx контейнер использует Postfix для отправки почты. Все конфигурационные файлы вы можете найти здесь:</p>
<p>Отредактируйте их под свои нужды. Перезапустите Postfix, чтобы изменения вступили в силу.</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="7a8ba914-84f6-4a19-96b1-25c407549767"><ac:plain-text-body><![CDATA[rm ]]></ac:plain-text-body></ac:structured-macro> <p>Отредактируйте их под свои нужды. Перезапустите Postfix, чтобы изменения вступили в силу.</p>
<h2>Пример настройки Postfix</h2> <h2>Пример настройки Postfix</h2>
<p>Откройте конфигурационный файл&nbsp;<code>/server/conf/postfix/<a href="http://main.cf">main.cf</a></code>.</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="32a748f1-5340-4594-be18-25da20d8b608"><ac:plain-text-body><![CDATA[mcedit /server/conf/postfix/main.cf]]></ac:plain-text-body></ac:structured-macro> <p>Откройте конфигурационный файл&nbsp;<code>/server/conf/postfix/</code><a href="http://main.cf"><code>main.cf</code></a>.</p>
<p>Убедитесь в том, что параметр myhostname совпадает с полным доменным именем вашего сервера:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="58673e27-5d51-4e82-b396-e79bad0ef4b5"><ac:plain-text-body><![CDATA[myhostname = passwork]]></ac:plain-text-body></ac:structured-macro> <p>Убедитесь в том, что параметр myhostname совпадает с полным доменным именем вашего сервера:</p>
<h3>Настройка имен и паролей SMTP</h3> <h3>Настройка имен и паролей SMTP</h3>
<p>Откройте или создайте файл&nbsp;<code>/server/conf/postfix/sasl_passwd</code>.</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="5780388e-aa53-4b58-ab49-37df6876f9c9"><ac:plain-text-body><![CDATA[mcedit /server/conf/postfix/sasl_passwd]]></ac:plain-text-body></ac:structured-macro> <p>Откройте или создайте файл&nbsp;<code>/server/conf/postfix/sasl_passwd</code>.</p>
<p>Добавьте SMTP хост, имя пользователя и пароль должны быть записаны в следующем формате:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="92267efb-c538-4235-81bd-e4ca309a3e93"><ac:plain-text-body><![CDATA[[mail.isp.example] username:password]]></ac:plain-text-body></ac:structured-macro> <p>Добавьте SMTP хост, имя пользователя и пароль должны быть записаны в следующем формате:</p>
<p>Если вы хотите использовать нестандартный TCP-порт (например, 587), используйте следующий формат:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="549b533c-1d7c-496e-91b1-dd575d6ce391"><ac:plain-text-body><![CDATA[[mail.isp.example]:587 username:password]]></ac:plain-text-body></ac:structured-macro> <p>Если вы хотите использовать нестандартный TCP-порт (например, 587), используйте следующий формат:</p>
<p><span class="notion-enable-hover">для Gmail запись будет выглядеть следующим образом:</span></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="55285bfa-587e-41d6-96ad-5d0e1b1b6973"><ac:plain-text-body><![CDATA[[smtp.gmail.com]:587 username:password]]></ac:plain-text-body></ac:structured-macro> <p>для Gmail запись будет выглядеть следующим образом:</p>
<p><span class="notion-enable-hover">Создайте хэшированную базу данных для Postfix, выполните команду postmap:</span></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="d5406043-a2f3-4bba-9c96-9fae20cfd718"><ac:plain-text-body><![CDATA[docker exec -it postfix postmap /etc/postfix/sasl_passwd]]></ac:plain-text-body></ac:structured-macro> <p>Создайте хэшированную базу данных для Postfix, выполните команду postmap:</p>
<p>После успешного выполнения команды в директории /server/conf/postfix должен появиться новый файл sasl_passwd.db.</p> <p>После успешного выполнения команды в директории /server/conf/postfix должен появиться новый файл sasl_passwd.db.</p>
<h3>Защита файла с паролями и хэш-файла.</h3> <h3>Защита файла с паролями и хэш-файла.</h3>
<p>Файлы /server/conf/postfix/sasl_passwd и /server/conf/postfix/sasl_passwd.db, созданные в предыдущих шагах, содержат ваши учетные данные SMTP в виде простого текста. По соображениям безопасности вы должны изменить права доступа к ним, так чтобы только пользователь root мог читать и записывать в файл.</p> <p>Файлы /server/conf/postfix/sasl_passwd и /server/conf/postfix/sasl_passwd.db, созданные в предыдущих шагах, содержат ваши учетные данные SMTP в виде простого текста. По соображениям безопасности вы должны изменить права доступа к ним, так чтобы только пользователь root мог читать и записывать в файл.</p>
<p>Выполните следующие команды, чтобы изменить владельца файлов на root и обновить права доступа для файлов:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="e2e43f26-caba-48e2-9a72-9898b8754b39"><ac:plain-text-body><![CDATA[chown root:root /server/conf/postfix/sasl_passwd /server/conf/postfix/sasl_passwd.db <p>Выполните следующие команды, чтобы изменить владельца файлов на root и обновить права доступа для файлов:</p>
chmod 0600 /server/conf/postfix/sasl_passwd /server/conf/postfix/sasl_passwd.db]]></ac:plain-text-body></ac:structured-macro>
<h3><strong>Конфигурация релей сервера</strong></h3> <h3><strong>Конфигурация релей сервера</strong></h3>
<p>Откройте файл&nbsp;<code>/server/conf/postfix/<a href="http://main.cf">main.cf</a></code>.</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="83e14e67-912b-4bce-af3b-74cb6ec56e5f"><ac:plain-text-body><![CDATA[mcedit /server/conf/postfix/main.cf]]></ac:plain-text-body></ac:structured-macro> <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>Измените параметр relayhost, на свой внешний SMTP релей. Если в файле sasl_passwd был указан нестандартный TCP-порт, то вы должны использовать тот же порт при настройке параметра relayhost.</p>
<p>Укажите SMTP релей:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="816eeb46-b00d-4b5e-836c-a8c5e34ed22f"><ac:plain-text-body><![CDATA[relayhost = [mail.isp.example]:587]]></ac:plain-text-body></ac:structured-macro> <p>Укажите SMTP релей:</p>
<p><span class="notion-enable-hover">для Gmail запись будет выглядеть следующим образом:</span></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="72eaf8a1-2477-4f2d-b853-ad5971787ca5"><ac:plain-text-body><![CDATA[relayhost = [smtp.gmail.com]:587]]></ac:plain-text-body></ac:structured-macro> <p>для Gmail запись будет выглядеть следующим образом:</p>
<p><span class="notion-enable-hover">В конце файла добавьте следующие параметры для включения аутентификации:</span></p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="c20facf1-2d56-4096-ab76-17d2a2960eda"><ac:plain-text-body><![CDATA[# enable SASL authentication <p>В конце файла добавьте следующие параметры для включения аутентификации:</p>
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt]]></ac:plain-text-body></ac:structured-macro>
<p>Сохраните изменения.</p> <p>Сохраните изменения.</p>
<p>Перезапустите Postfix:</p><ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro-id="073de8a1-b41f-4f42-8ef6-9c0b08098ac2"><ac:plain-text-body><![CDATA[docker exec -i postfix service postfix reload]]></ac:plain-text-body></ac:structured-macro> <p>Перезапустите Postfix:</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>
<p><br /></p> <p>&nbsp;</p>