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

SysPass на Rocky Linux — установка и настройка

• 9 min read • DevOps • Обновлено 27 Nov 2025
SysPass на Rocky Linux — установка и настройка
SysPass на Rocky Linux — установка и настройка

Важно: следуйте секциям по безопасности (SELinux, файрвол, HTTPS). Если вы используете публичный домен — примените сертификаты от Let’s Encrypt.

логотип SysPass или скриншот общего вида интерфейса

SysPass — это менеджер паролей с открытым исходным кодом, написанный на PHP и использующий шифрование AES-256 CTR. Проект ориентирован на централизованное и совместное управление паролями: много пользователей, группы, профили, история учётных записей, точки восстановления, импорт/экспорт (KeePass, CSV), API и публичные анонимные ссылки для обмена без логина.

В этом руководстве вы поэтапно установите SysPass на сервер с Rocky Linux (версии 8 или 9): подготовите LAMP-стек (Apache/httpd, MariaDB, PHP 7.4), поставите Composer для управления зависимостями, настроите SELinux и виртуальный хост с SSL, затем выполните веб-инсталляцию и проверку.

Для кого эта инструкция

  • Системным администраторам и инженерам DevOps, которые развертывают внутренние сервисы.
  • IT-администраторам, желающим централизовать пароли и доступы.
  • Тем, кто хочет понять реальные шаги по безопасности (SELinux, HTTPS, права файлов).

Короткое определение: LAMP — набор Apache (httpd), MariaDB/MySQL, PHP.

Содержание

  1. Требования
  2. Установка httpd (Apache)
  3. Настройка firewalld
  4. Установка и защита MariaDB
  5. Установка PHP 7.4 (REMl)
  6. Установка Composer
  7. Скачивание SysPass, права и Composer-зависимости
  8. Настройка SELinux
  9. Конфигурация виртуального хоста и SSL
  10. Веб-инсталляция SysPass
  11. Контрольный список и критерии приёмки
  12. Безопасность и рекомендации
  13. Устранение неполадок
  14. Резюме и ресурсы

Требования

  • Сервер с Rocky Linux 8 или 9.
  • Неразрешённый (non-root) пользователь с sudo-привилегиями.
  • Полное доменное имя (FQDN), указывающее на IP сервера (рекомендуется для получения валидного SSL).
  • Доступ к интернету для загрузки пакетов и зависимостей.

Примечание: в тестовой среде можно использовать самоподписанные сертификаты, но в продакшне применяйте Let’s Encrypt или коммерческий CA.

Установка веб-сервера (httpd / Apache)

На Rocky Linux httpd доступен в репозиториях BaseOS/AppStream. Установите пакет и включите сервис:

sudo dnf install httpd

Подтвердите установку (Y) и запустите сервис:

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd

скриншот установки и запуска httpd с выводом systemctl

Если firewalld включён, откройте HTTP и HTTPS:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

пример настроек firewalld с включёнными HTTP и HTTPS

Совет: проверьте доступность http://localhost и, при наличии DNS/hosts, http://<ваш-домен>.

Установка и защита MariaDB

SysPass поддерживает MySQL/MariaDB. Установите MariaDB и выполните базовую защиту:

sudo dnf install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

инсталляция MariaDB

Запустите скрипт безопасности MariaDB:

sudo mysql_secure_installation

Типичные ответы (рекомендации):

  • Change authentication to unix_socket? — n
  • Change root password? — y (введите надёжный пароль)
  • Disable remote root login? — y
  • Remove anonymous users? — y
  • Remove test database and access to it? — y
  • Reload privilege tables now? — y

После этого MariaDB будет защищённой базовой установкой.

проверка статуса MariaDB

Совет: для продакшна создайте отдельного пользователя баз данных для SysPass с ограниченными привилегиями вместо использования root.

Пример создания базы и пользователя:

sudo mysql -u root -p
CREATE DATABASE syspass CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'syspassuser'@'localhost' IDENTIFIED BY 'СильныйПароль';
GRANT ALL PRIVILEGES ON syspass.* TO 'syspassuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Критерий: база создана, пользователь существует, доступ к базе с учёткой syspassuser подтверждён.

Установка PHP 7.4 (REMl)

SysPass требует PHP 7.4. На Rocky Linux рекомендуется использовать репозиторий REMI.

Для Rocky Linux 8:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Для Rocky Linux 9:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Просмотрите доступные модули PHP:

sudo dnf module list php

Включите модуль remi-7.4 и установите набор пакетов PHP:

sudo dnf module enable php:remi-7.4
sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php-curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip

Примечание: имена пакетов могут слегка отличаться в зависимости от версии дистрибутива; проверьте доступность через dnf.

После установки отредактируйте файл php.ini. В исходной инструкции указан путь для Debian-подобных систем (/etc/php/7.4/apache2/php.ini), на Rocky Linux путь обычно /etc/php.ini. Проверьте фактическое расположение и измените параметры:

sudo nano /etc/php.ini

# Рекомендуемые изменения
post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm

Установите свою временную зону, например Europe/Moscow или другой по месту. Затем перезапустите httpd:

sudo systemctl restart httpd

Совет: проверьте phpinfo через временную страницу, если нужно (удалите её после теста).

Установка Composer

Composer используется для установки PHP-зависимостей Symfony/пакетов проекта.

Установка официальным инсталлятором:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Проверка:

sudo -u apache composer -v

проверка composer

Альтернатива: установить composer как глобальный пакет через dnf (если доступен), либо через пакетный менеджер дистрибутива. Предпочтительна официальная установка для получения последней версии.

Скачивание SysPass, права и зависимости

Установите git/unzip и клонируйте репозиторий:

sudo dnf install git unzip -y
sudo git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass

Установите владельца и права (httpd работает от пользователя apache на Rocky Linux):

sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup

Создайте кэш для Composer и отдайте права:

sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache

Запустите установку зависимостей под пользователем apache:

cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev

загрузка исходников SysPass

установка зависимостей composer для SysPass

Важно: если установка зависимостей завершается ошибками, проверьте версии PHP-расширений и права доступа к сети/прокси.

Настройка SELinux

Если SELinux включён в режиме enforcing, выполните необходимые настройки, чтобы httpd мог корректно работать с файлами SysPass и при необходимости подключаться к LDAP.

Установите утилиту semanage (policycoreutils-python-utils):

sudo dnf install policycoreutils-python-utils -y

Добавьте права и метки:

sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Пояснение: semanage fcontext -a назначает контекст SELinux для каталогов, которые веб-сервер должен менять (чтение/запись). restorecon применяет метки к файлам на диске.

Проверка текущих меток:

ls -laZ /var/www/syspass

Совет: если вы используете LDAP или внешние сервисы, дополнительно проверьте другие setsebool (например, httpd_can_network_connect для сетевых подключений к БД по TCP).

Конфигурация виртуального хоста (httpd) и SSL

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

sudo dnf install mod_ssl -y

Для локальной тестовой машины можно сгенерировать самоподписанный сертификат (используется конфиг /etc/httpd/conf.d/ssl.conf):

sudo openssl req -newkey rsa:4096  -x509  -sha512  -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

Для продакшна используйте Let’s Encrypt (certbot) и получите сертификат для вашего домена.

Создайте файл виртуального хоста /etc/httpd/conf.d/syspass.conf (измените ServerName и пути к сертификатам):

#
# File: syspass.conf
#

RedirectMatch "^/$" "/index.php"


    DirectoryIndex index.php
    Options -Indexes -FollowSymLinks -Includes -ExecCGI

    
      Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
      Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
      Require expr "%{REQUEST_URI} =~ m#^/?$#"
    



    Require all granted



  ServerName syspass.howtoforge.local

  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/syspass

  ErrorLog /var/log/httpd/error.log
  CustomLog /var/log/httpd/access.log combined

  
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  



  
    ServerName syspass.howtoforge.local
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/syspass

    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

    SSLEngine on

    SSLCertificateFile        /etc/letsencrypt/live/syspass.howtoforge.local/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/syspass.howtoforge.local/privkey.pem

    
              SSLOptions +StdEnvVars
    
    
              SSLOptions +StdEnvVars
    

    BrowserMatch "MSIE [2-6]" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
  

Сохраните файл и проверьте синтаксис Apache:

sudo apachectl configtest
# ожидаемый вывод: Syntax OK
sudo systemctl restart httpd

Совет: в конфиге замените ServerName и пути к сертификатам на ваши. Для автоматического обновления сертификатов используйте systemd timer или cron от certbot.

Веб-инсталляция SysPass

Откройте браузер и перейдите по адресу https://<ваш-домен> (например: https://syspass.howtoforge.local). В веб-инсталляторе:

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

страница создания админа и мастер-пароля

  1. Введите данные подключения к базе: пользователь (рекомендуется не root), пароль и имя базы. SysPass может создать таблицы автоматически.

  2. Выберите язык установки, затем нажмите INSTALL.

конфигурация базы данных в веб-инсталляторе SysPass

После успешной установки вы увидите страницу логина. Войдите под созданной админ-учёткой.

вход в SysPass

Если логин успешен, откроется панель управления SysPass.

дашборд SysPass с примерами записей

Контрольный список перед переходом в продакшн

  • Домен настроен и указывает на сервер.
  • SSL от валидного CA (Let’s Encrypt или платный) установлен и автоматически обновляется.
  • Права на каталоги установлены: владелец apache, конфиги с ограниченными правами.
  • SELinux: метки применены и проверены.
  • База данных создана, отдельный пользователь для приложения с минимальными привилегиями.
  • Резервирование: регулярные бекапы базы данных и каталога /var/www/syspass/app/backup.
  • Доступ по SSH ограничен, 2FA для админов (если доступно).

Критерии приёмки (минимум):

  • Сервис доступен по HTTPS.
  • Успешная регистрация/логин администратора и основная функциональность (создание записи) работают.
  • Резервная копия базы и каталога конфигурации существует и восстановление протестировано.

Безопасность и рекомендации

  • Храните мастер-пароль отдельно и используйте сложную политику паролей для администраторов.
  • Ограничьте доступ к панели администрирования по IP (если применимо) или используйте VPN/Zero Trust.
  • Включите HTTPS и отключите TLS 1.0/1.1, используйте современные шифры.
  • Регулярно обновляйте ОС, PHP и зависимости Composer.
  • Ограничьте размер загрузки файлов и включите rate limiting при необходимости.
  • Настройте мониторинг логов и алерты на подозрительную активность.

Пример hardening для Apache (рекомендации):

  • Отключите ненужные модульные расширения.
  • Установите заголовки безопасности (Content-Security-Policy, X-Frame-Options, X-Content-Type-Options).

Пример конфигурации заголовков:

# добавить в конфигурацию Apache
Header always set X-Frame-Options "DENY"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "no-referrer"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'"

Резервное копирование и откат (Runbook)

SOP: ежедневная автоматическая выгрузка базы и архива каталога приложения.

Пример простого скрипта бэкапа (cron):

# /usr/local/bin/backup_syspass.sh
DB_USER=syspassuser
DB_PASS='ВашПароль'
DB_NAME=syspass
BACKUP_DIR=/var/backups/syspass
mkdir -p ${BACKUP_DIR}
DATE=$(date +"%F_%H%M")
mysqldump -u${DB_USER} -p${DB_PASS} ${DB_NAME} | gzip > ${BACKUP_DIR}/${DB_NAME}_${DATE}.sql.gz
tar czf ${BACKUP_DIR}/syspass_www_${DATE}.tar.gz /var/www/syspass/app/config /var/www/syspass/app/backup
# ротация: удалить старые бэкапы старше 30 дней
find ${BACKUP_DIR} -type f -mtime +30 -delete

Откат: остановите httpd, восстановите файлы и импортируйте дамп базы, затем перезапустите сервис.

Устранение неполадок — типовые ошибки и решения

  1. Ошибка при composer install — недостаток PHP-расширений:

    • Проверьте вывод composer. Установите отсутствующие расширения PHP (php-mbstring, php-xml и т. д.).
  2. 500 Internal Server Error после установки:

    • Проверьте /var/log/httpd/error.log и /var/www/syspass/app/log.
    • Проверьте права и метки SELinux (ls -laZ).
  3. Невозможно подключиться к базе данных из веб-инсталлятора:

    • Убедитесь, что указаны правильные хост/пользователь/пароль.
    • Если база на отдельном хосте — разрешите подключение и проверьте firewall (port 3306).
  4. SSL не применяется или неверный сертификат:

    • Проверьте пути SSLCertificateFile/SSLCertificateKeyFile.
    • Для Let’s Encrypt проверьте /etc/letsencrypt/live/ и права на приватный ключ.
  5. Проблемы с LDAP-аутентификацией:

    • Убедитесь, что httpd_can_connect_ldap включён в SELinux.
    • Проверьте подключение к LDAP с сервера через ldapsearch.

Альтернативные подходы и советы

  • СУБД: можно использовать удалённый MySQL/MariaDB, но убедитесь в защищённом соединении (TLS) и ограниченной сети.
  • Контейнеризация: запускать SysPass в контейнере (Docker/Kubernetes) — удобно для изоляции, но потребуется настроить персистентное хранилище и управление секретами.
  • High-availability: настройка кластерной БД и балансировщика нагрузки для критичных установок.

Роли и чек-листы (кто что делает)

Администратор системы:

  • Установить ОС, обновления и пакеты.
  • Настроить firewall, SELinux и бэкапы.
  • Настроить резервирование и мониторинг.

DevOps / Инженер-развёртывания:

  • Настроить виртуальные хосты, CI/CD, автоматическое обновление сертификатов.
  • Настроить контейнерные образы (если применимо).

Информационная безопасность:

  • Ревью конфигураций Apache и PHP.
  • Настроить политики паролей и аудит доступа.

Мини-методология миграции с KeePass/CSV

  1. Экспортируйте базу из KeePass в CSV/Keepass XML.
  2. Проверьте CSV на наличие специальных символов и кодировки (UTF-8).
  3. В веб-интерфейсе SysPass используйте импорт; сначала протестируйте на копии базы.
  4. Проверьте соответствие полей (логин, пароль, URL, метки).

Глоссарий (1-строчные определения)

  • LAMP: стек Apache + MariaDB + PHP.
  • SELinux: механизм обязательного контроля доступа в Linux.
  • Composer: менеджер зависимостей для PHP.
  • FQDN: полное доменное имя (Fully Qualified Domain Name).

Частые вопросы (FAQ)

Q: Можно ли запускать SysPass на PHP 8? A: Рекомендуется использовать PHP 7.4, как указано в документации проекта. Перед обновлением проверьте совместимость и тестируйте в staging.

Q: Как настроить автоматическое обновление сертификатов Let’s Encrypt? A: Установите certbot и используйте systemd timer или cron для выполнения certbot renew; перезапускайте httpd после обновления.

Q: Где хранятся резервные копии и как их настроить? A: SysPass имеет каталог app/backup для внутренних бэкапов; дополнительно создавайте внешние бэкапы базы и конфигов по cron.

Резюме

Вы установили и настроили SysPass на Rocky Linux: развернули LAMP (Apache, MariaDB, PHP 7.4), установили Composer, скачали исходники и зависимости, настроили права и SELinux, создали виртуальный хост с SSL и завершили веб-инсталляцию. Далее рекомендуется настроить автоматические бэкапы, мониторинг и политику безопасности.

Ключевые шаги: подготовка окружения → установка зависимостей → права и SELinux → настройка HTTPS → веб-инсталляция → тестирование и бэкапы.


Короткое объявление (для рассылки, 100–200 слов):

SysPass — открытый менеджер паролей, пригодный для командной работы. В этой заметке показано, как развернуть SysPass на Rocky Linux: подготовить LAMP-стек (Apache/httpd, MariaDB, PHP 7.4), установить Composer, настроить SELinux, создать виртуальный хост с SSL и выполнить веб-инсталляцию. В руководстве включены чек-листы, рекомендации по безопасности, runbook для бэкапа и советы по устранению ошибок. После установки вы получите центральную систему для хранения и совместного использования паролей, а также возможность интеграции с LDAP и импортом из KeePass/CSV.


Похожие темы: миграция с KeePass, настройка LDAP для веб-приложений, hardening Apache и PHP.

Поделиться: 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 быстро