Гид по технологиям

Установка и настройка sysPass на Debian 11 с HTTPS

• 7 min read • DevOps • Обновлено 25 Nov 2025
Установка sysPass на Debian 11 с HTTPS
Установка sysPass на Debian 11 с HTTPS

Скриншот: интерфейс sysPass

О чём эта инструкция

Эта инструкция шаг за шагом показывает, как установить и защитить sysPass — веб-приложение для управления паролями, написанное на PHP. Подходит для одиночных серверов и малых команд. Прежде чем начать, проверьте раздел Требования ниже.

Важно: все команды выполняйте под пользователем с правами root или через sudo.

Основные преимущества и варианты использования

  • Бесплатное и с открытым исходным кодом
  • Групповой и профильный контроль доступа
  • Шифрование паролей с использованием мастер-пароля
  • Хранение файлов и встроенный просмотр изображений
  • Интеграция с OpenLDAP / Active Directory
  • Уведомления по электронной почте

Требования

  • Сервер с Debian 11.
  • Действующий DNS: имя домена указывает на IP сервера (например, syspass.example.com).
  • Настроен root-пароль или доступ через sudo.

Шаг 1. Установка Apache, MariaDB и PHP

sysPass работает в связке Apache + PHP и использует MariaDB. Установите все требуемые пакеты одной командой:

apt-get install apache2 mariadb-server libapache2-mod-php php php-mysqli php-pdo php-pear php php-cgi php-cli php-common php-gd php-json php-readline php-curl php-intl php-ldap php-xml php-mbstring git -y

После установки отредактируйте php.ini для Apache:

nano /etc/php/7.4/apache2/php.ini

Измените или добавьте следующие параметры (в примере указаны рекомендуемые значения):

post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = Asia/Kolkata

Примечание: значение date.timezone приведено в исходном примере. Замените его на ваш часовой пояс, например Europe/Moscow или America/New_York.

Сохраните файл и примените изменения:

systemctl restart apache2

Шаг 2. Создание и защита MariaDB

По умолчанию MariaDB требует первичной настройки безопасности. Запустите скрипт:

mysql_secure_installation

Следуйте подсказкам: переключение на unix_socket, установка пароля root (если нужно), удаление анонимных пользователей, запрет удалённого входа root, удаление тестовой базы и перезагрузка таблиц привилегий.

Затем войдите в MariaDB и создайте базу и пользователя для sysPass:

mysql -u root -p
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost identified by "password";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Важно: замените “password” на надёжный пароль и сохраните его в безопасном месте. Позже эти данные потребуются при установке через веб-интерфейс.

Шаг 3. Установка sysPass из Git

Скачайте репозиторий и переместите в корень сайта Apache:

git clone https://github.com/nuxsmin/sysPass.git
mv sysPass /var/www/html/syspass
chown -R www-data:www-data /var/www/html/syspass

Установите права на конфигурационные и backup-папки:

chmod 750 /var/www/html/syspass/app/{config,backup}

Шаг 4. Установка Composer и зависимостей PHP

Создайте скрипт установки Composer:

nano /var/www/html/syspass/install-composer.sh

Вставьте следующий скрипт (как в оригинальной инструкции):

#!/bin/sh
 EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)"
 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
 if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
 then
     >&2 echo 'ERROR: Invalid installer signature'
     rm composer-setup.php
     exit 1
 fi
 php composer-setup.php --quiet
 RESULT=$?
 rm composer-setup.php
 exit $RESULT

Сделайте скрипт исполняемым и выполните установку:

cd /var/www/html/syspass/
sh install-composer.sh
php composer.phar install --no-dev

После выполнения всех зависимостей приложение готово к первичной настройке.

Шаг 5. Конфигурация виртуального хоста Apache

Создайте файл конфигурации:

nano /etc/apache2/sites-available/syspass.conf

Вставьте конфигурацию виртуального хоста (замените ServerName и ServerAdmin на ваши значения):


ServerAdmin [email protected]
DocumentRoot "/var/www/html/syspass"
ServerName syspass.example.com

Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all

TransferLog /var/log/apache2/syspass_access.log
ErrorLog /var/log/apache2/syspass_error.log

Активируйте сайт и перезапустите Apache:

a2ensite syspass
systemctl restart apache2
systemctl status apache2

Проверьте, что сервис работает и нет ошибок в логах /var/log/apache2/syspass_error.log.

Шаг 6. Доступ к веб-интерфейсу sysPass

Откройте в браузере http://syspass.example.com (замените на ваш домен). На странице установки заполните поля: админ-пользователь, пароль, мастер-пароль, данные базы данных, язык и режим развёртывания, затем нажмите кнопку УСТАНОВИТЬ.

Запрос мастер-пароля

Конфигурация базы данных

После завершения вы попадёте на страницу входа:

Экран входа sysPass

Введите учётные данные администратора и нажмите кнопку входа. Вы увидите панель управления:

Панель управления sysPass

Шаг 7. Включение HTTPS с Let’s Encrypt

Установите Certbot для Apache:

apt-get install python3-certbot-apache -y

Запустите Certbot для вашего домена:

certbot --apache -d syspass.example.com

Следуйте подсказкам: укажите email, примите условия, при необходимости разрешите перенаправление HTTP → HTTPS.

После успешной установки сертификата Certbot создаст ssl-виртуальный хост и настроит автоматическое обновление. Проверить конфигурацию можно на https://www.ssllabs.com/ssltest/ (опционально).

Важно: сертификаты Let’s Encrypt действительны 90 дней. Certbot обычно настраивает автоматическое обновление через cron или systemd timer. Проверьте, что команда certbot renew работает корректно.

Рекомендации по безопасности и эксплуатация

Жёсткая конфигурация PHP и Apache

  • Ограничьте права на папки приложения (как выше). Пользователь Apache (www-data) должен быть владельцем.
  • Закройте доступ к файлам конфигурации и резервным копиям через .htaccess или конфигурацию виртуального хоста.
  • Отключите ненужные PHP-модули.
  • Регулярно обновляйте систему и пакеты (apt update && apt upgrade).

Шифрование и мастер-пароль

  • Мастер-пароль — критичный секрет. Он обеспечивает двунаправленное шифрование паролей в базе. Храните его у доверенных администраторов.
  • Настройте политику сложности паролей и двухфакторную аутентификацию, если доступно.

Резервные копии и восстановление

SOP для бэкапов (базовая процедура):

  1. Остановите запись в приложении (режим обслуживания) или убедитесь в консистентности.
  2. Создайте дамп базы данных:
mysqldump -u root -p syspassdb > /root/syspassdb-$(date +%F).sql
  1. Архивируйте директорию приложения и папку backup:
tar -czf /root/syspass-files-$(date +%F).tar.gz /var/www/html/syspass
  1. Скопируйте архивы и дамп в удалённое хранилище или сервис (S3, rsync, внешний диск).
  2. Тестируйте восстановление на тестовой машине минимум раз в квартал.

Критерии приёмки:

  • Приложение отвечает по HTTPS.
  • Вход администратора подтверждён.
  • Приложение успешно шифрует/расшифровывает тестовый пароль.
  • Бэкап базы и файлов успешно восстановлен в тестовой среде.

Резервные сценарии и частые ошибки

Когда установка может не сработать:

  • Неверные права доступа на папки (403 Forbidden).
  • Неправильные данные подключения к базе (ошибка при установке в веб-интерфейсе).
  • SELinux/AppArmor блокирует доступ (на Debian по умолчанию не активен в жёстком режиме, но проверьте локальные политики).
  • Брандмауэр блокирует порты 80/443.

Быстрая проверка проблем:

  • Просмотрите логи Apache: /var/log/apache2/syspass_error.log
  • Посмотрите логи PHP: /var/log/php7.4-fpm.log или системный журнал
  • Проверка соединения с БД: mysql -u syspassuser -p -h localhost syspassdb

Роль‑ориентированные контрольные списки

Администратор (DevOps):

  • Подготовить сервер и DNS.
  • Установить и настроить Apache, MariaDB, PHP.
  • Выполнить бэкап до обновлений.
  • Настроить Certbot и автоматическое обновление сертификатов.

Администратор приложения (sysadmin):

  • Настроить политики паролей и права доступа.
  • Установить правила аудита и логирования.
  • Управлять группами пользователей и ролями.

Пользователь (конечный):

  • Создать мастер-пароль и сохранить его в безопасном месте.
  • Использовать рекомендованную политику паролей для записей.
  • Вести отдельные заметки о доступе и хранить бэкапы личных данных.

Альтернативные подходы и миграция

  • Docker: развёртывание sysPass в контейнере упрощает переносимость и версионирование окружения. Решение подходит, если вы уже используете контейнерную платформу.
  • Managed Vaults: для предприятий рассмотрите коммерческие SaaS-решения или HashiCorp Vault при необходимости секретного управления на уровне машин и сервисов.
  • Миграция: экспорт логинов через CSV/JSON из существующего менеджера и импорт в sysPass (проверьте формат и соответствие полей).

Решение: если требуется быстрая установка — используйте системный путь (как в этой инструкции). Для масштабируемости и изоляции — Docker / Kubernetes.

Мини‑методология тестирования (smoke tests)

Тестовые сценарии:

  1. Доступ по HTTPS к главной странице — код 200.
  2. Успешная регистрация/вход администратора.
  3. Создание записи пароля и её последующее чтение.
  4. Шифрование базы: сохранить резервную копию и проверить, что в дампе пароли хранятся в зашифрованном виде (не в открытом тексте).
  5. Обновление сертификатов: выполнить certbot renew –dry-run.

Безопасность и соответствие (коротко)

  • Минимизируйте круг администраторов с доступом к мастер-паролю.
  • Логирование и аудит: включите запись действий администраторов и входов.
  • Конфиденциальность: если в записях хранится персональная информация (PII), убедитесь в соответствии с локальными правилами обработки данных (GDPR при работе с ЕС).

FAQ

Как обновить sysPass до новой версии?

  1. Сохраните бэкап базы и файлов приложения.
  2. Перейдите в каталог /var/www/html/syspass и выполните git pull.
  3. Обновите зависимости Composer: php composer.phar install –no-dev
  4. Проверьте права и перезапустите Apache.

Как сменить мастер-пароль?

В веб-интерфейсе sysPass должна быть функция смены мастер-пароля в профиле администратора. Перед сменой убедитесь, что у вас есть актуальный бэкап — ошибка смены может привести к потере доступа к зашифрованным данным.

Где хранятся бэкапы, и как их восстановить?

По умолчанию бэкапы можно хранить в app/backup внутри каталога приложения. Для восстановления:

  1. Восстановите дамп базы через mysql < dump.sql
  2. Восстановите файлы приложения и права доступа.

Заключение

Вы установили sysPass, настроили базовую безопасность и получили HTTPS на Let’s Encrypt. Рекомендуется настроить регулярные бэкапы, мониторинг сертификатов и периодические тесты восстановления. Храните мастер-пароль в надёжном месте и ограничьте доступы по принципу наименьших привилегий.

Краткие выводы:

  • sysPass готов к использованию в малых командах.
  • HTTPS обязателен для безопасности доступа.
  • Бэкапы и тесты восстановления критичны для надёжности.

Спасибо за установку. Если нужна помощь с Docker-опцией или интеграцией с LDAP/AD — можно расширить инструкцию под вашу инфраструктуру.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро