Описание

 

Пассворк упрощает совместную работу с корпоративными паролями. Все данные безопасно хранятся на вашем сервере, а сотрудники быстро находят нужные пароли. Администратор управляет правами пользователей, отслеживает все действия и изменения.

 

Рекомендации по установке

Минимальные системные требования

Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.

Показатель IOPS имеет большое значения для скорости работы базы данных, поэтому желательно использовать SSD диски.

Варианты установки Пассворк на выделенных или виртуальных серверах

1. Все на одном сервере

Обычно подходит для редакций до 500 пользователей, без специальных требований по хранению данных:

Кол-во пользователей RAM CPU HDD
до 50 2-4 ГБ 4 100 ГБ
до 100 4-8 ГБ 8 150 ГБ
до 500 8-16 ГБ 8 200 ГБ

2. Сервер приложения и база данных на разных серверах

База данных и сервер приложения разносятся по разным серверам. 

RAM-1, CPU-1, HDD-1 — сервер приложения.

RAM-2, CPU-2, HDD-2 — база данных.

Кол-во пользователей RAM-1 CPU-1 HDD-1 RAM-2 CPU-2 HDD-2
до 50 2-4 ГБ 4 100 ГБ 2-4 ГБ 4 100 ГБ
до 100 4 ГБ 8 100 ГБ 4 ГБ 4 150 ГБ
до 500 8-16 ГБ 8 100 ГБ 8 ГБ 8 200 ГБ
до 1000 8-16 ГБ 8 100 ГБ 16 ГБ 8 200 ГБ
до 10000 16-32 ГБ 16 100 ГБ 16-32 ГБ 16 200 ГБ

 

Установка

Установка Docker

Скачайте и установите Docker CE (https://docs.docker.com/engine/installation/).

Cкачайте и установите Docker-сompose (https://docs.docker.com/compose/install/)

Обновите систему:

sudo –i
apt-get update
apt-get upgrade

Установите Git:

apt-get install git

Скачайте файлы управления и шаблонные конфиг-файлы

Создайте директорию /server и склонируйте файлы:

rm /server/sites/prod/.gitkeep

Склонируйте репозиторий. Укажите логин и пароль, которые вам сообщили менеджеры Пассворк.

git clone http://passwork.download/passwork/passwork.git /server/sites/prod
cd /server/sites/prod/
git checkout v5

Где взять логин и пароль

Мы отправляем логин и пароль к нашему репозиторию после покупки Пассворк.

Перейдите в каталог для Docker Compose

cd /server/docker-compose/

В каталоге есть файл docker-compose.override.yml , в котором можно указать назначение портов, на случай если порты могут быть заняты.

Запустите Docker Compose

docker-compose up -d

Проверьте, что контейнеры запустились и работают:

docker ps

Инсталляция

При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.

Тут нужно подправить сервер и указать строчку: mongodb://db:27017

Нужно будет сохранить ключ шифрования для восстановления, если появится такая необходимость.

Зарегистрируйте администратора Пассворк

Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.

 

Обслуживание

Настройка фоновых задач

Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.

Проверить список запланированных задач и корректность всех настроек можно на странице «Фоновые задачи».

 

 

Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <папка с Пассворк>/app/tools/run-scheduled-tasks.php каждую минуту.

Скрипт проанализирует какие задачи необходимо запустить и для каждой задачи создаст отдельный поток. При выполнении каждая задача записывает лог в папку <папка Пассворк>/app/logs/ в файлы вида task-*.log, например, task-62f8e9624e0446fba40bbb12.log. После завершения задачи вы можете посмотреть и скачать лог со страницы Фоновые задачи → История задач.

Системные логи планировщика (с ошибками) находятся в <папка Пассворк>/app/logs/run-command.log.

О Docker-образах

Docker-образы устроены таким способом, что все важные данные вынесены в общие с хостовой машиной папки. Поэтому вы можете смело останавливать, удалять и создавать новые контейнеры. Конфигурационные файлы так же хранятся в общих папках (т.е. не в контейнере), поэтому вы можете провести любую настройку Nginx, PHP и MongoDB без внесения изменений непосредственно в образы или контейнеры. Просто внесите изменения в конфиг файлы и перезапустите контейнер или сервисы.

Если вам необходимо внести изменения в образ, то войдите в контейнер, внесите изменения и затем сделайте коммит в ваш образ командой

docker commit <container id> you-name/image-name

Более подробно описано в официальной документации Docker.

Полезные команды

Скопируйте утилиту dexec в /usr/bin/:

cp /server/dexec /usr/bin/dexec

Вход в контейнер:

bash]]>

Восстановление прав для файлов сайта (требуется после обновления):

Перезагрузка Nginx без остановки:

Контейнеры запущены с опцией autostart. Это означает, что Docker автоматически перезапустит контейнер, если он по каким-либо причинам остановится. Поэтому, если вам необходимо остановить контейнер, сперва отключите autostart:

]]>

Включить autostart обратно:

]]>

Без опции autostart вы можете остановить контейнеры принудительно:

]]>

Обратите внимание, что если опция autostart включена, то эти команды перезапустят Nginx и MongoDB, Используйте ее в крайних случаях, так как это может повлечь порчу данных.

Структура файлов

Файлы конфигураций:

Данные (база данных):

Логи:

Сайты:

Пример: Как изменить конфигурацию Nginx или PHP

Отредактируйте файлы:

Перезапустите nginx и php-fpm:

Настройка почты

Nginx контейнер использует Postfix для отправки почты. Все конфигурационные файлы вы можете найти здесь:

Отредактируйте их под свои нужды. Перезапустите Postfix, чтобы изменения вступили в силу.

Пример настройки Postfix

Откройте конфигурационный файл /server/conf/postfix/main.cf.

Убедитесь в том, что параметр myhostname совпадает с полным доменным именем вашего сервера:

Настройка имен и паролей SMTP

Откройте или создайте файл /server/conf/postfix/sasl_passwd.

Добавьте SMTP хост, имя пользователя и пароль должны быть записаны в следующем формате:

Если вы хотите использовать нестандартный TCP-порт (например, 587), используйте следующий формат:

для Gmail запись будет выглядеть следующим образом:

Создайте хэшированную базу данных для Postfix, выполните команду postmap:

После успешного выполнения команды в директории /server/conf/postfix должен появиться новый файл sasl_passwd.db.

Защита файла с паролями и хэш-файла.

Файлы /server/conf/postfix/sasl_passwd и /server/conf/postfix/sasl_passwd.db, созданные в предыдущих шагах, содержат ваши учетные данные SMTP в виде простого текста. По соображениям безопасности вы должны изменить права доступа к ним, так чтобы только пользователь root мог читать и записывать в файл.

Выполните следующие команды, чтобы изменить владельца файлов на root и обновить права доступа для файлов:

Конфигурация релей сервера

Откройте файл /server/conf/postfix/main.cf.

Измените параметр relayhost, на свой внешний SMTP релей. Если в файле sasl_passwd был указан нестандартный TCP-порт, то вы должны использовать тот же порт при настройке параметра relayhost.

Укажите SMTP релей:

для Gmail запись будет выглядеть следующим образом:

В конце файла добавьте следующие параметры для включения аутентификации:

Сохраните изменения.

Перезапустите Postfix: